Добро пожаловать на сайт любителей кино!

Фильмы, рецензии, рейтинги и общение.

Входите или Регистрируйтесь.
Facebook 32 Vk 32 Twitter 32

Кинофорум

ФорумыРекомендуем и советуем → Работа с видео-контейнером MKV (пошаговая инструкция) субтитры, Инструкция, работа с видео-контейнером MKV, аудио-дорожки

Сообщения (9)

and199
  • Leo
  • Киновед
  • Sat, 15 Dec 2012 15:28:42 +0400


Формат MKV тесно влился в нашу жизнь. Сейчас уже почти в каждом доме стоит плеер или телевизор, читающий формат MKV.

Что же в нем такого особенного, в этом свободно распространяемом контейнере? Прежде всего, у него гораздо больше возможностей – он может содержать в себе аудиодорожки на разных языках, чего не допускает AVI, также он может хранить в себе информацию о главах видео, меню и т.д. – в общем, всех функций DVD. Помимо этого из файла в формате mkv очень легко «вытащить» аудио- и видеоданные, для этого не нужны специальные редакторы. Самое главное – он реализован более совершенно, нежели AVI – при воспроизведении больших файлов отсутствуют «притормаживания» и «подвисания», особенно заметные на не очень быстрых компьютерах.

Давайте упорядочим основные отличия от AVI:

- Универсальность: mkv внутри себя может содержать видеоданные, сжатые множеством кодеков: MPRG, H264, AVC1, WMV и др.
- Контейнер легко редактируется.
- Легко извлечь аудио- и видеоданные.
- Нет зависаний при воспроизведении файлов большого объема.
- Расширенные возможности по хранению служебной информации.
- Аудиодорожки могут быть на различных языках.
- Переключение языков субтитров «на лету» (т.е. без последующей остановки и запуска воспроизведения файла с начала).
- Быстрая перемотка по файлу.
- Трансляция через Интернет (для интересующихся: по протоколам HTTP, RTP).
- Устойчивость к ошибкам (по заверению производителя).

Содержание:
- Как добавить аудио-дорожку/субтитры
- Как удалить ненужную аудио-дорожку/субтитры
- Как сменить аудиодорожку/субтитры по-умолчанию
- Как разрезать фильм на 2 части
- Как укоротить фильм
- Как добавить несинхронизированную аудио-дорожку
- Как сделать MKV из других форматов без потери качества видео
- Как сделать MKV из DVD без потери качества
- Как из MKV сделать MP4 без потери качества видео

and199
  • Leo
  • Киновед
  • Sat, 15 Dec 2012 15:37:56 +0400

В этой инструкции, я хочу поделится своим опытом в обработке файлов в формате MKV.

Все описанные здесь процедуры обработки файлов производятся неразрушающим способом, т.е. перекодирования файла и, соответственно, потери качества изображения не происходит.
Для работы с файлами, упакованными в этот тип контейнера, нам понадобятся, во-первых, основная программа MKVmerge GUI
http://file062r.mylivepage.ru/chunk62/6399660/2852/mkvtoolnix-unicode%20%28www.kinokopilka.tv%29

во-вторых, её дополнение MKVExtract GUI, которая может понадобится в некоторых случаях, например при необходимости поможет нам разложить файл в формате MKV на чистые составляющие (MKVmerge GUI этого не умеет, всё что она записывает на диск автоматически упаковывается в MKV)
http://file062r.mylivepage.ru/chunk62/6399660/2852/MKVExtractGUI-2%20%28www.kinokopilka.tv%29
архив с архив с этой программой нужно распаковать в каталог с установленной MKVmerge GUI, поскольку самостоятельно она не работоспособна. Это только управляющая оболочка.

утилита BeLight, которая нужна для перекодирования, при необходимости, звука в формат AAC:
http://file062r.mylivepage.ru/chunk62/6399660/2852/BeLight%20%28www.kinokopilka.tv%29

утилита MeGUI, которую также можно использовать для перекодирования звука в формат AAC:
http://file062r.mylivepage.ru/chunk62/6399660/2852/MeGUI%20%28www.kinokopilka.tv%29

утилита YAMB, которая нужна при изготовлении контейнеров MP4 из исходного материала MKV:
http://file062r.mylivepage.ru/chunk62/6399660/2852/Yamb-1.6%20%28www.kinokopilka.tv%29

and199
  • Leo
  • Киновед
  • Sat, 15 Dec 2012 15:53:02 +0400


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

3) Поля Track name и Language на закладке General track option можно заполнить, как на скриншоте (а можно и не заполнять, если влом). Галочку со встроенных в релиз английских субтитров можно снять, зачем они тем, кто нуждается в русской дорожке.. В поле Default track flag у русской дорожки можно поставить yes, если вы хотите сделать её дорожкой по-умолчанию (автоматически проигрываемой при запуске фильма), в противном случае проигрывание будет начинаться с японским звуком и на русский придётся переключать ручками в плеере.
4) В строке Output filename указываем, куда положить получающийся файл (и как его назвать, при желании).
5) Нажимаем на Start muxing и, если не было допущено никаких ошибок (например попытка записать получаемый файл в то-же место и под тем-же именем, что и исходный), ждём окончания процесса перепаковки контейнера теперь уже с двумя дорожками.
6) Ждём...
7) Запускаем получившийся файл и проверяем, на всякий случай, синхронизацию с русской дорожкой... Мало-ли что, возможно её рассинхронизация, если только источник получения дорожки не гарантирует, что она специально подогнана именно под этот релиз фильма..

and199
  • Leo
  • Киновед
  • Sat, 15 Dec 2012 16:16:59 +0400


Иногда возникает необходимость удаления из фильма в контейнере MKV не нужных, по вашему мнению, звуковых дорожек или дорожек субтитров. Ну например фильм не влезает на диск DVD5, а очень хочется. При этом присутствует как русская дублированная, так и оригинальная звуковые дорожки и вы считаете, что русского дубляжа вам вполне достаточно, а резать фильм на 2 части и записывать их на разные диски тоже желания не возникает.
Итак, что нужно сделать:

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

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

and199
  • Leo
  • Киновед
  • Sat, 15 Dec 2012 16:30:19 +0400


В некоторых случаях в при просмотре фильма 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) Обязательно проверяем полученный результат

and199
  • Leo
  • Киновед
  • Sat, 15 Dec 2012 16:40:05 +0400


Фильм размером 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) Получаем набор из 2 и более файлов

and199
  • Leo
  • Киновед
  • Sat, 15 Dec 2012 16:55:13 +0400


Данное действие может понадобится, если фильм не влезает на DVD5 буквально из-за лишних 50-60Мб. То придется пожертвовать частью финальных титров. Делается это практически аналогично разрезанию диска на части, описанному в предыдущем разделе, только предварительно надо присмотреть в фильме точку (точки) разреза. А затем всё, как обычно:

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) Получаем набор из 2-х, 3-х (смотря, как резали) файлов - нас, естественно, интересует самый большой, это и должен быть наш укороченный вариант фильма
6) Обязательно проверяем полученный результат

and199
  • Leo
  • Киновед
  • Sat, 15 Dec 2012 17:10:05 +0400


Если рассинхронизация в начале и конце фильма одинакова (к примеру на слух определяется отставание звука от видео где-то на 3 сек), то можно попробовать исправить ситуацию достаточно простым способом, использовав возможность программы задавать задержку для конкретной звуковой дорожки. (Если явно видно, что рассинхронизация нелинейна, т.е. в начале различие 2 сек, а к концу фильма увеличивавется до 4 сек, то это требует уже достаточно сложных действий с подгонкой дорожки в видеоредакторе и в рамках данной статьи не рассматривается (на самом деле, если изменения накапливаются монотонно, а не возникают скачками, например из-за удалённых отсутствующих на видео дорожке фрагментов фильма, то MKVMergeGUI тоже способна поправить ситуацию, если задать степень нарастания или уменьшения расхождения в строке Stretch by в виде соотношения двух чисел, к примеру 1/1.043 или аналогично 1000/1043. При острой необходимости можете попробовать, но процесс этот для сильных духом, т.к. придётся каждый раз пересобирать контейнер заново полностью). Так-же должен заметить, что рассинхронизация в принципе может появится из-за очень высокой загруженности центрального процессора при декодировке фильма, поэтому убедитесь, что ваш компьютер действительно способен воспроизвести данное кино. Например для показа HDDVD-Rip-a, да ещё и возможно на фоне каких-то других выполняемых задач, нужен весьма мощный компьютер).

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

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

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

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

and199
  • Leo
  • Киновед
  • Sat, 15 Dec 2012 17:35:51 +0400

Тема закрыта.