Как объединить MKV с различными дорожками

1159
Dave

У меня есть 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)?

Спасибо

2

1 ответ на вопрос

0
GwenKillerby

Ваши проблемы вызваны тем, что два видео совершенно разные, а не (просто) из-за подводных лодок.

Как объединить MKV с различными дорожками

Быстрый ответ - распаковать ваши звуковые дорожки (скажем, WAV), смешать их (сшить их вместе), а затем сжать аудио (скажем, AC3)

Лучший способ сделать это - преобразовать саундтрек в несжатый WAV (для предотвращения несинхронизации) отдельно для каждого MKV-файла. Затем сконцентрируйте и затем перекодируйте их, но не перекодируйте видеопоток, а только аудиопоток в сжатый формат (MP3, AAC или AC3)

Вышеперечисленные шаги:
1. Создайте звук для каждого файла в несжатом формате.
2. Соедините их.
3. Перекодировать только аудио в сжатый статус

После 2 вы должны проверить, действительно ли ваш звук синхронизирован.

Вы можете сделать все это с помощью VirtualDub или AviDemux 2.6.12 (настроить копирование видеовыхода), они бесплатны и не являются вредоносными программами.

Возможно, мне нужно поискать какой-нибудь другой инструмент, например ffmpeg, чтобы объединить аудио / видео из mkvextract, а затем какой-нибудь другой инструмент для манипулирования подводными лодками PGS, и они снова объединят их все вместе?

Если у вас нет проблем с деноминацией в Windows, а не в Linux, вы также можете конвертировать ваши сабвуферы в формат ".SRT" и использовать его. Я склонен думать, что легче работать с текстовым форматом, чем с графическим форматом. Вам решать.

Собираюсь ли я столкнуться с дальнейшими проблемами, потому что аудио / видео также отличаются между двумя файлами (например, стерео против 5.1)?

В общем, ДА! 2 звуковые дорожки должны иметь как можно более одинаковые характеристики, поэтому обе стереофонические, это самая простая, потому что она самая универсальная. Не используйте 5.1, если вы не в театре.

Ваши видео должны иметь одинаковую ширину и высоту, поэтому либо 1920 x 1080, либо 720 x 480. Мой совет - отредактировать более короткое вступительное видео. Вы можете выбрать между:
- добавлением границы (но это будет крошечное изображение)
- увеличением ширины x высоты до 1920 x 1080 (но это будет зернисто)
- делайте и то и другое, наполовину, чтобы разделить разницу. В вашем случае это означает, что :
а. увеличить ширину х высоту до 1440 х 640
б. добавьте границу 240 - (1920-1440) / 2 - слева и справа и границу 220 - (1080-640) / 2 сверху и снизу.

Похожие вопросы