Классический форум-трекер
canvas not supported
Нас вместе: 4 232 456

(в разработке:) Работа с видео-контейнером MKV [прогресс: 65% завершено]


 
 
RSS
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Форум Видео -> ВидеоFAQ
Автор Сообщение
Rusik1000 ®
Uploader 100+
Стаж: 16 лет 1 мес.
Сообщений: 3867
Ratio: 1244.051
Раздал: 128.2 TB
Поблагодарили: 285698
100%
Откуда: г. Москва
russia.gif
Работа с видео-контейнером MKV:
В данный FAQ входит:
Как добавить аудио-дорожку/субтитры.
Как добавить несинхронизированную аудио-дорожку.
Как удалить ненужную аудио-дорожку/субтитры.
Как сменить аудиодорожку/субтитры по-умолчанию.
Как разрезать фильм на 2 части.
Как укоротить фильм.
Как сделать MKV из других форматов без потери качества видео.
Как сделать MKV из DVD без потери качества.
Как из MKV сделать MP4 без потери качества видео.

Как добавить аудио-дорожку/субтитры:
Шаг 1. Запускаем программу и нажав на кнопку add, возле верхнего окна на первой закладке Input, загружаем в неё основной файл фильма, как пример вот этот: Metropolis_(2001)_[720p,BluRay,x264,DTS].mkv
Шаг 2. Ещё раз нажав на add, подгружаем файл звуковой дорожки (и/или файл субтитров в форматах SRT, SSA, ASS, IDX), которую хотим добавить: Metropolis_(2001)_[720p,BluRay,x264,DTS].ac3.

Получим что-то вроде этого:

Шаг 3. Поля Track name и Language на закладке General track option можно заполнить, как на скриншоте (а можно и не заполнять, если влом). Галочку со встроенных в релиз английских субтитров можно снять, зачем они тем, кто нуждается в русской дорожке.. В поле Default track flag у русской дорожки можно поставить yes, если вы хотите сделать её дорожкой по-умолчанию (автоматически проигрываемой при запуске фильма), в противном случае проигрывание будет начинаться с японским звуком и на русский придётся переключать ручками в плеере.
Шаг 4. В строке Output filename указываем, куда положить получающийся файл (и как его назвать, при желании).
Шаг 5. Нажимаем на Start muxing и, если не было допущено никаких ошибок (например попытка записать получаемый файл в то-же место и под тем-же именем, что и исходный), ждём окончания процесса перепаковки контейнера теперь уже с двумя дорожками.
Шаг 6. Ждём...
Шаг 7. Ждём...
Шаг 8. Запускаем получившийся файл и проверяем, на всякий случай, синхронизацию с русской дорожкой... Мало-ли что, возможно её рассинхронизация, если только источник получения дорожки не гарантирует, что она специально подогнана именно под этот релиз фильма..
Как добавить несинхронизированную аудио-дорожку:
Итак, руководствуясь предыдущим разделом удалось приципить дополнительную звуковую дорожку к фильму, но к сожалению просмотр результата показал, что звук новоявленой дорожки явно не согласован с видео. Если рассинхронизация в начале и конце фильма одинакова (к примеру на слух определяется отставание звука от видео где-то на 3 сек), то можно попробовать исправить ситуацию достаточно простым способом, использовав возможность программы задавать задержку для конкретной звуковой дорожки. (Если явно видно, что рассинхронизация нелинейна, т.е. в начале различие 2 сек, а к концу фильма увеличивавется до 4 сек, то это требует уже достаточно сложных действий с подгонкой дорожки в видеоредакторе и в рамках данной статьи не рассматривается (на самом деле, если изменения накапливаются монотонно, а не возникают скачками, например из-за удалённых отсутствующих на видео дорожке фрагментов фильма, то MKVMergeGUI тоже способна поправить ситуацию, если задать степень нарастания или уменьшения расхождения в строке Stretch by в виде соотношения двух чисел, к примеру 1/1.043 или аналогично 1000/1043. При острой необходимости можете попробовать, но процесс этот для сильных духом, т.к. придётся каждый раз пересобирать контейнер заново полностью). Так-же должен заметить, что рассинхронизация в принципе может появится из-за очень высокой загруженности центрального процессора при декодировке фильма, поэтому убедитесь, что ваш компьютер действительно способен воспроизвести данное кино. Например для показа HDDVD-Rip-a, да ещё и возможно на фоне каких-то других выполняемых задач, нужен весьма мощный компьютер).

Вводная часть закончена, теперь, собственно, что нужно делать. А собственно то-же самое, что и при обычном добавлении дорожки, только теперь, выбрав в окне Tracks: свежеподключаемую дорожку, нужно чуть ниже выбрать закладку Format Specific Options и указать на ней в строке Delay (in ms) нужную задержку. Если звук обгоняет видео - задержка задаётся положительная (просто числом: 1сек=1000), если звук отстаёт от видео, то отрицательная (с минусом в начале числа, как на скриншоте).


Или вот пример подгонки звуковой дорожки от видео-кассеты в формате PAL (25 кадров в сек) к HD-релизу с объявленной частотой кадров 23.976. Правда что-то не совсем соответствовало стандарту и пришлось вместо стандартного, для подобного случая, соотношения 125124/120000 (удобнее использовать соотношение 25000/23976, но я в том случае 'плясал' от 12512/12000) подгонять вручную и вышло 12512/12000. Соотношение 1200/1253 или в нашем случае 1253/1200, которое не знаю как затесалось в комментарий к полю stretch (может просто от балды или для примера нестандартной растяжки) здесь не годится.


Естествено задать всё абсолютно точно с первого раза не получится, поэтому гарантированно понадобится несколько попыток. При этом, должен заметить, совсем не обязательно дожидаться окончания процесса сборки контейнера (по крайней мере необязательно в случае линейного сдвига, т.е. задания ТОЛЬКО параметра Delay). Если в вашем распоряжении есть видео плейер, способный на "воспроизведение недокачанного или повреждённого видео", то вполне реально нажав на кнопку Abort в окне, показывающем процесс пересборки фильма, остановить этот процесс досрочно (для фильиа в 90 минут 10% уже с избытком достаточно) и попробовать просмотреть этот недоделанный файл нужным видео-плейером (у меня лучше всего это получается делать KMPlayer-ом). Если вы видите, что ошиблись в величине (или даже направлении задержки, т.е. стало ещё хуже), то вносите соответствующие поправки в величину задержки или растяжки и повторяете процедуру сборки контейнера. И так столько раз, сколько понадобится для создания удовлетворяющей вас синхронизации звука соответствующей дорожки и видео. Обычно это не долго. Значительно хуже при нелинейной рассинхронизации (или при сочетании обоих вариантов). Тут скорее всего придётся муксить каждый раз до конца, по крайней мере на последних стадиях подгона. Например процесс подгона дорожки к указанному на втором примере фильму Гринч занял у меня почти пол дня (правда это было не единственное, чем я занимался, но чтоб было понятно, что процесс длительный, если вам сразу не повезёт). Ну и в конце обязательно проверяете синхронизацию по всей длине кинофильма (хотя-бы в 5-6 точках).

ВНИМАНИЕ. В некоторых случаях выставляемая задержка для звуковой дорожки модифицируется программой MKVmergeGUI в процессе сборки контейнера в небольших пределах. Почему так происходит - не знаю, но иногда наблюдаю разницу между заданным мной и полученным значением в 20-60ms. Смотрю програмой MediaInfo 0.7.16 или новее. В связи с этим приходится корректировать значение задержки и пересобирать контейнер заново. Например ставлю -42ms, в MediaInfo вижу значение -20ms, меняю на -62ms, пересобираю - получаю -40ms, что уже приемлимо. Может это глюк конкретной версии (наблюдал в MKVmergeGUI v2.6.0), а может и нет. Просто обратите внимание..

Следует обратить внимание, что подгонка звука средствами MKVtoolNIX не так сильно портит его качество, как случилось-бы при проведении этой операции в подавляющем числе аудио-редакторов из-за необходимости повторного кодирования в сжатый формат. Все изменения основаны на сдвиге или нелинейной синхронизации внутри контейнера (кстати ещё одно приемущество этого контейнера над другими). Таким образом, если вытащить из полученного фильма дорожку обратно и сравнить с исходной, то в случае растяжки/сжатия (Stretch) она останется вообще без малейших изменений (отрицательный момент в данном случае в том, что засинхронизированную таким способом дорогу нельзя отдать кому-нибудь отдельно от фильма для 'простого приклеивания', нужно будет обязательно сообщить также параметры 'растяжки') и после перекодирования в AVI (если такая мысль придёт в голову) синхронизация 'чудесным образом' исчезнет, а в случае задания задержки (Delay), происходит удаление или добавление фреймов в начале дорожки и в этом случае дорожка остаётся 'синхронизированной' даже после вытаскивания из фильма, т.е. её можно передать другому лицу так сказать в 'готовом' виде.
Как удалить ненужную аудио-дорожку/субтитры:
Иногда возникает необходимость удаления из фильма в контейнере MKV не нужных, по вашему мнению, звуковых дорожек или дорожек субтитров. Ну например фильм не влезает на диск DVD5, а очень хочется. При этом присутствует как русская дублированная, так и оригинальная звуковые дорожки и вы считаете, что русского дубляжа вам вполне достаточно (хотя с этим всегда можно поспорить...). Резать фильм на 2 части (как это сделать мы обсудим в другом разделе статьи) и записывать их на разные диски тоже желания не возникает. Итак, что нужно сделать:

Шаг 1. Запускаем программу и нажав на кнопку add, возле верхнего окна на первой закладке Input, загружаем в неё файл фильма;
Шаг 2. В окне Tracks убираем галочки с ненужных вам звуковых и субтитровых дорожек. Вот как на примере отключается дорожка на языке майа и русские субтитры, остаётся, естественно, видео дорожка и звуковая дорожка с наложенным русским переводом (но не могу заметить, что лучше наоборот убрать русскую дорогу, но это уже кому как нравится):


Шаг 3. В строке Output filename указываем, куда положить получающийся файл (и как его назвать, при желании).
Шаг 4. Нажимаем на Start muxing и, если не было допущено никаких ошибок (например попытка записать получаемый файл в то-же место и под тем-же именем, что и исходный), ждём окончания процесса перепаковки контейнера без 'лишней' аудио-дорожки.
Шаг 5. Ждём окончания процесса пересборки контейнера...
Шаг 6. Если полученный файл всё равно не лезет на DVD5 (или куда там была попытка его втиснуть) возможно попробовать ещё 2 варианта - если не лезет совсем чуть-чуть, можно попытаться отрезать от фильма финальные титры (варварство, но если ОЧЕНЬ нужно...), либо записать фильм, не удаляя из него ничего, на два диска (или на один двухсторонний (не путать с двухслойным) диск, если таковой можно достать). Как это конкретно делается, рассмотрено в разделах ниже;
Как сменить аудиодорожку/субтитры по-умолчанию:
В некоторых случаях в при просмотре фильма MKV в видео-плейере воспроизведение начинается вовсе не на том языке, на котором вам хотелось-бы его смотреть. Как вариант просмотр начинается на английском языке и приходится каждый раз переключать звуковую дорожку на русский дубляж. В этом случае можно, да и нужно переключить в файле фильма приоритеты дорожек по-умолчанию. Делается это следующим способом:

Шаг 1. Запускаем программу и нажав на кнопку add, возле верхнего окна на первой закладке Input, загружаем в неё файл фильма;
Шаг 2. В окне Tracks выбираем нужную (на примере русскую) дорожку и, при необходимости, используя кнопку up справа от этого окна передвигаем её на 2-ю позицию в списке (на первом видео-дорожка). Это вовсе не необходимо, но желательно. Затем ниже на закладке General track options, в списке выбора Default track flag выбираете yes (если такой флаг был ранее установлен для другой аудио-дорожки, он автоматически снимется, вручную делать этого не надо);


Шаг 3. Если нужно проделываем аналогичную операцию для дорожек с субтитрами, выставив Default flag в yes для нужной дорожки. Передвигать её, если вы решите это сделать, нужно уже на 3-ю позицию в общем списке. Но для дорожек с субтитрами эта операция врятли необходима;
Шаг 4. Ну и далее, как обычно, в строке Output filename указываем, куда положить получающийся файл (и как его назвать).
Шаг 5. Нажимаем на Start muxing и, если не было допущено никаких ошибок (например попытка записать получаемый файл в то-же место и под тем-же именем, что и исходный), ждём окончания процесса перепаковки контейнера.
Шаг 6. Получаем фильм с изменёнными приоритетами
Шаг 7. Обязательно проверяем полученный результат (не дай бог удалите исходный материал, а потом выяснится, что вышло немного не то, что ожидалось)
Как разрезать фильм на 2 части:
Фильм размером 7Гб не влезает на DVD5, хочется дать посмотреть кино знакомому, а у него винчестер с файловой системой FAT32 и множество других (т.ч. самых идиотских на первый взгляд) причин по которым необходимо разрезать фильм в контейнере MKV на 2 и более частей. Вновь обращаемся к услугам программы MKVMergeGUI:

Шаг 1. Запускаем программу и нажав на кнопку add, возле верхнего окна на первой закладке Input, загружаем в неё файл фильма;
Шаг 2. Переключаемся на закладку Global где у нас появляется возможность задать на какие по размеру части мы будем разделять наше кино. Ставим галочку Enable Splitting и получаем доступ к одному из трёх вариантов задания точек разреза:
  • ...after this size - можно выбрать размер части или задать свой, используя следующие допустимые сокращения(1.3G=1.3Gb, 105M=105Mb, 1530K=1530Kb)
  • ...after this duration - можно задать длительность частей в секундах (1750s) или в стандартном формате ЧЧ:ММ:СС (00:29:10), как удобнее;
  • ...after this timecodes - и самый продвинутый способ, позволяющий произвести разрезание на неравные части руководствуясь списком таймкодов (задаются аналогично пред. части в секундах или стандартном формате, причём можно вперемешку). Например режем на 4 части таким образом:
    320s,1700s,01:22:30 - обратите внимание - никаких пробелов между точками разреза!
    На выходе получаем 4 файла длиной 320 сек., 1380 сек., 3250 сек. ну и чего ещё там останется до конца фильма.

Правда нужно учитывать, что разрезание происходит по ближайшим ключевым кадрам и абсолютной точности достичь трудно (особенно, если ключевые кадры на видео-дорожке расставлены не очень часто, обычно с шагом где-то 150-300 кадров /6-12 секунд/)


Шаг 3. Можно поставить галочку на link files, все приличные плейеры (знающие спецификацию контейнера MKV) будут воспринимать такую последовательность частей, как единый фильм (даже время показывается общее, а не отдельно для каждой части). Разумеется для этого необходими, чтобы все части лежали в одном месте;
Шаг 4. Ну и далее, как обычно, в строке Output filename указываем, куда положить получающийся файл (и как его назвать).
Шаг 5. Нажимаем на Start muxing и, если не было допущено никаких ошибок (например попытка записать получаемый файл в то-же место и под тем-же именем, что и исходный), ждём окончания процесса перепаковки контейнера.
Шаг 6. Ждём окончания процесса пересборки контейнера...
Шаг 7. Получаем набор из 2 и более файлов
Шаг 8. Обязательно проверяем полученный результат (не дай бог удалите исходный материал, а потом выяснится, что вышло немного не то, что ожидалось).
Как укоротить фильм:
Данное действие может понадобится, ээээ.. да чёр-ти его знает когда может понадобится. Вот мне понадобилось, когда скачанный HD-DVD Rip Звёздных войн не влезал на DVD5 буквально из-за лишних 50Мб, а резак наотрез отказался делать overburn болванки с таким перерасходом. Пришлось пожертвовать частью финальных титров. Делается это практически аналогично разрезанию диска на части, описанному в предыдущем разделе, только предварительно надо присмотреть в фильме точку (точки) разреза. А затем всё, как обычно:

Шаг 1. Запускаем программу и нажав на кнопку add, возле верхнего окна на первой закладке Input, загружаем в неё файл фильма;
Шаг 2. Переключаемся на закладку Global где у нас появляется возможность задать на какие по размеру части мы будем разделять наше кино. Ставим галочку Enable Splitting и получаем доступ к одному из трёх вариантов задания точек разреза:
  • ...after this size - можно выбрать размер части или задать свой, используя следующие допустимые сокращения(1.3G=1.3Gb, 105M=105Mb, 1530K=1530Kb)
  • ...after this duration - можно задать длительность частей в секундах (1750s) или в стандартном формате ЧЧ:ММ:СС (00:29:10), как удобнее;
  • ...after this timecodes - и способ, позволяющий произвести разрезание на неравные части руководствуясь списком таймкодов (задаются аналогично пред. части в секундах или стандартном формате, причём можно вперемешку)

Для нас подходит, как второй способ (если планируется отрезать только кусочек от хвоста фильма и нужна одна точка разреза) или третий способ, если есть возможность обкорнать кое-что с начала, например пожертвовать заставкой киностудии и требуется вырезать серединку фильмы. Правда опять замечу, что нужно учитывать, что в реальности разрезание происходит не точно по указанным точкам, а по ближайшим ключевым кадрам и абсолютной точности достичь трудно (особенно, если ключевые кадры на видео-дорожке расставлены не очень часто, обычно с шагом где-то 150-300 кадров /6-12 секунд/)


Шаг 3. Ну и далее, как обычно, в строке Output filename указываем, куда положить получающийся файл (и как его назвать).
Шаг 4. Нажимаем на Start muxing и, если не было допущено никаких ошибок (например попытка записать получаемый файл в то-же место и под тем-же именем, что и исходный), ждём окончания процесса перепаковки контейнера.
Шаг 5. Ждём окончания процесса пересборки контейнера...
Шаг 6. Получаем набор из 2-х, 3-х (смотря, как резали) файлов - нас, естественно, интересует самый большой, это и должен быть наш укороченный вариант фильма
Шаг 7. Обязательно проверяем полученный результат (не дай бог удалите исходный материал, а потом выяснится, что вышло немного не то, что ожидалось)
Как сделать MKV из других форматов без потери качества видео:
Если вы собираетесь просматривать созданное вами видео только на компьютере (поскольку на момент написания статьи существует всего 2 модели дисковых хардварных плейеров и 1 сетевое медиа-устройство, способное полноценно воспроизводить контейнер MKV), то можно рекомендовать переводить, по крайней мере видео в контейнере AVI, в MKV. Хотя-бы потому, что синхронизация звука и изображения при нехватке процессорной мощности и других внешних факторах в MKV получше особенно при нескольких звуковых дорожках. Плюс ещё несколько положительных факторов. Уже несколько раз я натыкался на AVI-файлы решительно не желающие нормально проигрываться на некоторых видео-плейерах (в частности на моём любимом KMplayer), пара минут на смену контейнера AVI на MKV и они полностью избавлялись от своих недугов. Итак, что для этого нужно проделать:
Шаг 1. Запускаем программу и нажав на кнопку add, возле верхнего окна на первой закладке Input, загружаем в неё файл фильма в поддерживаемом программой входящем формате (MP4, AVI, MPEG, MOV, OGG, RM, RMVB):


Шаг 2 В окне Tracks выбираем нужную (если их, звуковых дорожек в 'перекодируемом' формате, несколько) дорожку и, при необходимости, используя кнопку up справа от этого окна передвигаем её на 2-ю позицию в списке (на первом видео-дорожка). Это вовсе не необходимо, но желательно. Затем ниже на закладке General track options, в списке выбора Default track flag выбираете yes (если такой флаг был ранее установлен для другой аудио-дорожки, он автоматически снимется, вручную делать этого не надо):


Шаг 3 Если нужно проделываем аналогичную операцию для дорожек с субтитрами (ежели таковые оказались в исходном контейнере), выставив Default flag в yes для нужной дорожки с сабами. Передвигать её, если вы решите это сделать, нужно уже на 3-ю позицию в общем списке. Но для дорожек с субтитрами эта операция врятли необходима;
Шаг 4. Ну и далее, как обычно, в строке Output filename указываем, куда положить получающийся фильм (и как его назвать).
Шаг 5. Нажимаем на Start muxing и, если не было допущено никаких ошибок (например попытка записать получаемый файл в то-же место и под тем-же именем, что и исходный), ждём окончания процесса перепаковки контейнера.
Шаг 6. Получаем тот-же фильм, но уже в контейнере MKV
Шаг 7. Обязательно проверяем полученный результат (не дай бог удалите исходный материал, а потом выяснится, что вышло немного не то, что ожидалось)

Но позволю ещё раз напомнить - MKV, на момент написания статьи, очень трудно рекомендовать в качестве основного формата ВНЕ компьютера. Универсальные DVD-плейеры (кроме известной мне Dune HD Ultra) этот контейнер либо совсем не проигрывают, либо играют, но с жуткими траблами, то звука нет, то перемотка не работает... Читал про пару новых медиа устройств, которые правильно справляются с MKV и всё. PS3 пока играет только DVD, Blueray и последнее время DivX. Конечно ничто не стоит на месте, но пока увы..
Показать сообщения:   
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Форум Видео -> ВидеоFAQ Часовой пояс: GMT + 3
Страница 1 из 1