
У меня есть mkv
фильм и отдельный mkv
с введением режиссера. Я пытаюсь использовать mkvmerge
, чтобы объединить их. Однако в фильме есть субтитры, а во вступлении их нет, и это, похоже, вызывает проблему.
В частности, выходной трек mkvinfo intro.mkv
:
| + A track | + Track number: 1 (track ID for mkvmerge & mkvextract: 0) | + Track UID: 1 | + Track type: video | + Default flag: 0 | + Lacing flag: 0 | + MinCache: 2 | + Codec ID: V_MPEG2 | + CodecPrivate, length 164 | + Default duration: 33.367ms (29.970 frames/fields per second for a video track) | + Video track | + Pixel width: 720 | + Pixel height: 480 | + Display width: 853 | + Display height: 480 | + A track | + Track number: 2 (track ID for mkvmerge & mkvextract: 1) | + Track UID: 2 | + Track type: audio | + Codec ID: A_AC3 | + Default duration: 32.000ms (31.250 frames/fields per second for a video track) | + Name: Stereo | + Audio track | + Sampling frequency: 48000 | + Channels: 2
и mkvinfo film.mkv
дает:
| + A track | + Track number: 1 (track ID for mkvmerge & mkvextract: 0) | + Track UID: 1 | + Track type: video | + Default flag: 0 | + Lacing flag: 0 | + MinCache: 1 | + Codec ID: V_MS/VFW/FOURCC | + CodecPrivate, length 74 (FourCC: 0x57564331 "WVC1": VC-1) | + Default duration: 41.708ms (23.976 frames/fields per second for a video track) | + Video track | + Pixel width: 1920 | + Pixel height: 1080 | + Display width: 1920 | + Display height: 1080 | + A track | + Track number: 2 (track ID for mkvmerge & mkvextract: 1) | + Track UID: 2 | + Track type: audio | + Codec ID: A_AC3 | + Default duration: 32.000ms (31.250 frames/fields per second for a video track) | + Name: Surround 5.1 | + Audio track | + Sampling frequency: 48000 | + Channels: 6 | + A track | + Track number: 3 (track ID for mkvmerge & mkvextract: 2) | + Track UID: 4 | + Track type: subtitles | + Default flag: 0 | + Lacing flag: 0 | + Codec ID: S_HDMV/PGS | + Content encodings | + Content encoding | + Content compression
Я пытался mkvmerge -o full.mkv intro.mkv + film.mkv
, но это дает мне
Error: The file no. 0 ('intro.mkv') does not contain a track with
the ID 2, or that track is not to be copied. Therefore no track
can be appended to it. The argument for '--append-to' was invalid.
Мне не ясно из страницы руководства, mkvmerge
как указать, --append-to
что вступительная дорожка не должна иметь субтитров, а таймкоды для субтитров фильма можно просто сместить. Это выходит за рамки возможностей mkvmerge
?
Может быть, мне нужно поискать какой-то другой инструмент, например, ffmpeg
для объединения аудио/видео, mkvextract
а затем какой-то другой инструмент для управления субтитрами PGS и их mkvmerge
повторного объединения?
Столкнусь ли я с дополнительными проблемами из-за того, что аудио/видео в двух файлах также будет отличаться (например, стерео против 5.1)?
Спасибо
решение1
Ваши проблемы вызваны тем, что два видео совершенно разные, а не (только) из-за субтитров.
Как объединить MKV с разными дорожками
Быстрый ответ — распаковать ваши аудиодорожки (например, WAV), микшировать их (сшить вместе), а затем сжать аудио (например, AC3).
Лучший способ сделать это —конвертироватьсаундтрек к несжатомуWAV, (чтобы предотвратить рассинхронизацию), отдельно для каждого MKV-файла. Затем соедините и перекодируйте их, но не перекодируйте видеопоток, только аудиопоток в сжатый формат (MP3, AAC или AC3)
Вышеуказанные шаги:
1. Разверните аудио для каждого файла в несжатый формат
2. Сшейте их вместе.
3. Перекодируйте только аудио в сжатый формат
После 2 шагов вам следует проверить, действительно ли ваш звук синхронизирован.
Все это можно сделать с помощью VirtualDub или AviDemux 2.6.12 (установите Video Output на копирование), они бесплатны и не являются вредоносными программами.
Возможно, мне нужно поискать какой-то другой инструмент, например ffmpeg, чтобы объединить аудио/видео из mkvextract, а затем какой-то другой инструмент для управления сабвуферами PGS и затем снова объединить их все вместе с помощью mkvmerge?
Если у вас нет проблем с конфессиональным разделением в Windows, а не в Linux, вы также можете конвертировать свои субтитры в формат ".SRT" и использовать его. Я склонен думать, что с текстовым форматом работать проще, чем с форматом на основе изображений. Решать вам.
Столкнусь ли я с дополнительными проблемами из-за того, что аудио/видео в двух файлах также будет отличаться (например, стерео против 5.1)?
В общем, ДА! Две аудиодорожки должны иметь максимально идентичные характеристики, поэтому обе стерео, это проще всего, потому что это наиболее универсально. Не используйте 5.1, если вы не в театре.
Ваши видео должны быть одинаковой ширины и высоты, поэтому либо1920 x 1080или720 х 480
Мой совет - отредактируйте короткое вступительное видео. Вы можете выбрать между:
- добавлением рамки (но это будет крошечное изображение)
- увеличением ширины x высоты до1920 x 1080(но будет зернистым)
- сделатьоба, пополам, чтобы разделить разницу. В вашем случае это означает:
а. увеличить ширину x высоту до 1440 х 640
б. добавить границу240 - (1920-1440)/2 - слева и справа и граница220 - (1080-640)/2 вверх и вниз.