Рейтинг@Mail.ru
загрузкаидет загрузка

Кратко о контейнере MKV и работе с ним

matroska_logoПоследнее время все посмотренные фильмы являлись рипами с HD-DVD и Blu-ray дисков. Средний вес рипа составляет примерно от двух до четырех гигабайт. Иногда в сетке мелькают и BD Remux ~ 20 Гб. У большинства фильмов неизвестное ранее расширение .mkv. К чему я это? К тому, что контейнер .MKV захватывает мир и пришлось познавать новую азбуку по работе с ним.


Небольшой ликбез по контейнеру в целом.

Что за дурацкий формат .MKV?

MKV или матрёшка - это видео контейнер, т.е. это не формат сжатия аудио или видео, а всего навсего упаковка, в которую заворачивается аудио/видео контент. AVI - тоже контейнер для мультимедийного контента, который может содержать аудио/видео сжатые различными кодеками.

Почему MKV? Чем AVI хуже?

Формат AVI, представленный компанией Microsoft в начале 90х, как контейнер для VfW (video for windows) библиотек разработчиков. Благодаря изначально заложенной универсальности, контейнер AVI успешно существует и справляется со своими функциями и в наши дни, но к сожалению, будучи завязан на VfW, имеет ряд ограничений на содержимое, которое в него можно "напихать". В частности не совсем корректно в AVI реализована синхронизация аудио потоков с переменным битрейтом, который даёт колоссальный прирост качеству звука, но часто даёт неприятный эффект рассинхронизации в AVI. В том числе котейнер категорически не поддерживает такие замечательные форматы компрессии звука, как AC3-VBR, OGG или новейший AAC.
Контейнер .mkv разрабатывался с учётом современных тенденций и возможных тенденций будущего. Он абсолютно универсален, так как построен на принципе EBML (то же самое, что и XML, но для двоичных данных). В .mkv можно запихнуть любое количество аудио-видеорядов, меню как на DVD, главы, субтитры, шрифты, постеры, тексты, комментарии, описания, фотоальбомы и проч. Ограничений практически нет. Максимальная совместимость со всеми возможными требованиями к видеоконтейнеру на данный момент и на ближайшее будущее.

Некоторые улучшения контейнера MKV от AVI:
  • универсальность, контейнер MKV, в отличие от AVI, позволяет содержать внутри видео в форматах: H264, AVC1, WMV, MPEG1, MPEG2, и звук AAC
  • контейнер MKV легко можно редактировать, а также вытаскивать из него видео или аудио, без применения видеоредакторов
  • формат MKV более совершенен, что предотвращает некоторые зависания или торможения при проигрывании видео больших размеров
  • контейнер MKV позволяет хранить информацию о главах видео, меню, субтитрах и прочих функциях DVD, чего не умеет AVI
  • файл MKV может содержать различные языки аудио, что не допустимо в AVI

Итак операции, которые можно провести над контейнером (я не сомневаюсь что их больше, но мне они пока не нужны, следовательно в дебри наподобие рассинхронизации звука я не лез).

Существует замечательная консольная утилитка mkvmerge.exe, но нам как истинным поклонникам Windows не пристало копаться в консоли. И не надо, умные люди сотворили GUI и запаковали все в один инсталлер mkvtoolnix. Последняя версия 3.3.0. Самые свежии, разумеется, на сайте автора GUI.

1. Удаление компонентов из MKV контейнера.

Часто бывают рипы по 5Гб, которые ну никак не влазят на DVD-5. Приходится убирать лишние аудиодорожки. В принципе убрать можно любой компонент.

mkvmerge_1.png (55.89 Kb)
  1. На вкладке Input жмём кнопку Add - выбираем нужный фильм.
  2. В списке Tracks убираем галочки с тех компонентов, которые нам не нужны.
  3. В поле Output filename меняем имя выходного файла.
  4. Жмём Start muxing.

На скриншоте видно, что убраны аудиодорожки: гоблина и английская, а также все субтитры. Итого наш фильм (точнее мой) похудел на 300Мб.

2. Добавление компонентов в MKV контейнер.

Как оказалось недавно, скачав всю сагу Звездных войн в HD, выложили новый перевод, который субъективно оказался лучше. Не перекачивать же все заново? Конечно нет. Можно скачать аудиодорожку (метров 250) и засунуть ее в контейнер. Пример будет на том же Карты, деньги и два ствола. Потрошить Звездных войн не хочется.

Имеем фильм с русской дорожкой и перевод от Гоблина в формате .aac.
  1. На вкладке Input жмём кнопку Add - выбираем нужный фильм.
  2. С помощью той же кнопки Add добавляем аудиодорожку.
  3. В списке Tracks убираем галочки с тех компонентов, которые нам не нужны.
  4. В поле Output filename меняем имя выходного файла.
  5. Жмём Start muxing.

[!] Чтобы выбрать звуковую дорожку или субтитры "по умолчанию" в комбобоксе "default track flag" выставляем "yes".

mkvmerge_2.png (46.92 Kb) mkvmerge_3.png (50.96 Kb)

3. Разделение MKV контейнера на части.

Разбить 16 гиговый фильм на 4 DVD-5 болванки? Или двухгиговый на три 700 метровых CD-R? Без проблем.
  1. Выбрав фильм, переходим на вкладку Global.
  2. Ставим галочку на Enable splitting....
  3. Выбираем нужный вариант разбиения: after this size - на части какого размера разбивать фильм, after this duration - задаем длину выходных частей по времени (например каждая часть имеет длительность 10 минут) и after timecodes - сам не разобрался, воспользовался поиском (Пример: 500M,2400s,00:25:05 - на выходе получаем 4 части. Первая 500МБ, вторая 2400 секунд, третья 25 мин.5сек. и четвёртая - остаток контейнера) .
  4. В поле Output filename меняем имя выходного файла.
  5. Жмём Start muxing.

mkvmerge_4.png (.55 Kb)

4. Склеиваем части в одно целое.

Скинули с дисков все части и теперь необходимо их объединить (ну если вам нравится смотреть по частям, то пожалуйста. Ах да, еще и фрагментацию уменьшим). После разбивки файлы имеют номера 001, 002, 003 и т.п.
  1. На вкладке Input жмём кнопку Add и добавляем первую часть 001.
  2. Затем с помощью Append последовательно добавляем части в контейнер.
  3. В поле Output filename меняем имя выходного файла.
  4. Жмём полюбившееся Start muxing.

mkvmerge_5.png (58.09 Kb)

5. Извлечение компонентов из MKV контейнера.

Собственно мои стремления к познанию мира уже иссякали, как вдруг понадобилось извлечь аудиодорожку из Врага у ворот. Немного порыскав в сети нашел замечательную программку, а точнее графическую оболочку над mkvextract.exe, зовется она как ни странно MKVExtractGUI, последняя версия 1.6.4.1. Скачать можно здесь (я добавил туда консольную прогу, т.к. в пакет с GUI она не входит).

Все предельно просто, добавляем фильм, в группе Content видим составные части контейнера (плохо что нельзя понять где и какая аудио- или видео дорожка, приходится выбирать наобум), отмечаем нужные галочками, жмем Extract и дожидаемся успешного рапорта о завершении задания.

mkvextract.png (36.54 Kb)

Благодарности:

Спасибо национальному BitTorrent трекеру за прояснение некоторых вопросов. Также спасибо коллективу Umbriaco, под чью музыку писался этот текст и форуму kinozal.tv. Где же вы были раньше?! Но по вашей инфе внес некоторые изменения.

P.S. Всё проверено на личном опыте и всё работает на Windows XP Corporate SP3. Все программы полный фривар (халява короче). Хотите поделиться опытом и добавить нечто о чем я не упомянул всегда пожалуйста.

P.P.S. По моему после закрытия GUI консольные программки так и висят в процессах. Ну и пусть висят, памяти у нас много. Если мало можно убить вручную.
Комментарии:
  • 17.12.2009 - 19:40 / артем
  • плеер для mkv файлов: url deleted
    кодек для mkv файлов: url deleted
    конвертер: url deleted

  • 21.12.2009 - 19:01 / BRom23RUS
  • Спасибо очень ценно, очень доходчиво, вам бы учителем

  • Wolverine
  • 24.12.2009 - 00:05 / Wolverine
  • артем, под Windows оптимально использовать K-Lite Codec Pack (codecguide.com), в нем и кодеки все и отличный плеер Media Player Classic. А ваши сомнительны линки на летитбид я потер, да и файлов по ним уже нет.

    BRom23RUS, и вам спасибо на добром слове

  • 14.04.2010 - 23:58 / Verd
  • Спасибо друг!

  • 25.08.2010 - 10:57 / Rest
  • Спасибо за полезную информацию ... :)

  • 24.12.2010 - 09:32 / tdn
  • MKVExtract не работает! Какого то файла .dll ей не хватает. :(

  • 19.01.2011 - 21:37 / weq
  • Спасибо

  • 2.01.2012 - 23:38 / АЛЕКСЕЙ
  • Спасибо друг за полезную информацию ... :)

  • 23.07.2012 - 02:42 / dadek
  • Как звук извлечь и так понятно, а вот попробуй из MKV видео извлеки, желательно в AVI. Вот тут есть обо что споткнуться. Кстати, mkvtoolnix не все файлы AVI берет для размещения в контейнере. Ругается на какой-то кодек (может быть MPEG-1)

  • 29.09.2012 - 14:38 / Валерий
  • в Виндовс 7 х64 mkvextract GUI не работает

  • 8.09.2013 - 21:44 / asd
  • Спасибо за статью!!!

    Валерий, все пашет, не пугай людей)

  • 13.12.2013 - 14:27 / Андрей
  • WMV и ASF файлы неподдерживает так что фига с два сделать матроску из WMV. Но если Вы знаете как это сделать - напишите.


Ooooops

Looks like Twitter's feed isn't working at the moment.