Обзор программы MKVToolnix. Как склеить видео в бесплатной программе MKVToolNix

  • 17.05.2019

Для начала давайте ознакомимся с самим форматом, с которым нам предстоит работать. Формат Matroska (Матрёшка) изначально разрабатывался как открытый проект, призванный послужить альтернативой существующим проприетарным контейнерам. В итоге после нескольких лет разработки он вышел на рынок и стал быстро завоевывать популярность, особенно в интернет среде. Чем же был вызвал столь быстрый рост популярности? В первую очередь тем, что создатели прислушались к тому, что хотят видеть пользователи в своих видеофайлах и реализовали это. В подавляющем большинстве случаев от воспроизводимого видео файла требуется поддержка нескольких звуковых дорожек и субтитров. В формате mkv все это реализовано максимально просто и удобно. Вы можете поместить в контейнер сколько угодно альтернативных аудио файлов и субтитров а также переключаться между ними с помощью одного клика.

Давайте рассмотрим в каких случаях может возникнуть необходимость в применении программы . Например вы скачали фильм в котором в качестве основной дорожки идет файл с русским переводом, а другие дороги в том числе и английская идут отдельными файлами. А вам как раз надо оригинальная английская дорожка чтобы подтянуть свое знание языка. Можно конечно в процессе воспроизведения подключить и внешнюю дорогу, но у многих плееров бывают проблемы с этим, некоторые вообще не предоставляют такие возможности, в других это сделать можно, но достаточно сложно. Как быть в этом случае? Тут то нам и пригодится MKVmerge GUI. Ниже мы расскажем как быстро и легко добавить внешние дорожки в контейнер мкв и потом быстро и легко переключаться между ними в самом плеере.

Добавление дополнительных звуковых дорог в mkv контейнер

Эту процедуру мы будет проводить на примере программы MKVtoolnix 5.9 и мультфильма Secret of Kells. У нас есть оригинальный контейнер с двумя звуковыми дорожками и 4 внешние дополнительные дороги. Которые мы добавим к первым двум, чтобы на выходе получить один файл.

Вот так выглядит основное окно программы.

Для того чтобы добавить файл с которым мы будем работать необходимо нажать кнопку "добавить" или просто перетащить его в область обозначенную как "Входные файлы". После чего у нас в ней появится информация о данном файле.

Как вы видите на скриншоте у нас в контейнере уже содержится 1 видеофайл в формате mpeg4, 2 аудиодороги (русская и английские комментарии), а также 21 файл субтитров и файл глав. Кроме этого мы хотим добавить в контейнер оригинальную английскую дорогу, еще 2 русских альтернативных перевода и 1 украинский. Для этого мы точно так же нажимаем кнопку добавить или перетаскиваем файлы мышью.

Теперь у нас во входных файлах 5 позиций. В принципе этого достаточно чтобы завершить формирование контейнера. Но можно сделать и небольшие улучшения. Как вы видите на скриншоте новые звуковые дороги добавились в самый конец списка, кроме того у них нет названия и не определен язык. Это можно исправить внеся соответствующие изменения. Во первых звуковые дорожки можно "подвинуть" вверх в списке, выделив их и нажав несколько раз кнопку "Вверх". Во вторых мы можем внести описания для них, введя соответсвующие данные в поле "Имя дорожки". Также мы можем указать язык дорожки в поле "Язык" и задать дорожку "по умолчанию" (это та, которая будет включаться автоматически при запуске видео).

Как мы видим теперь английская дорожка находится под первыми двумя, у нее есть название - Original, язык выбран английский и стоит флаг дорожки по умолчанию. Будем считать что это все что нам надо было сделать и приступим к созданию файла. Для этого достаточно нажать кнопку "начать обработку". Кстати для того чтобы наш файл смотрелся симпатичнее мы еще зададим ему другое выходное имя. Рипперы часто указывают в названии файла массу ненужной пользователю информации, поэтому мы сократим ее и оставим только название и разрешение. Это можно сделать в пункте "имя выходного файла".

На этом скриншоте вы видите программу в процессе обработки файла.

Описание:
MKVToolnix
- функциональный набор инструментов для работы с видеофайлами MKV Matroska. Очень полезная программа, позволяет добавлять/убирать звуковые дорожки, субтитры, склеивать/резать файлы. Всё очень быстро и понятно. Поддерживаются такие типы видео потоков: AVI, Ogg/OGM, и RealVideo. MKVToolnix - специальный аудио/видео контейнер, похожий на AVI, хранящий в себе огромное количество информации. Формат MKV - открытый проект Матрешка (Matroska), призванный создать единый стандарт мультимедийных контейнеров на ПК. Его особенность, открытость кода, что позволяет совершенствовать данный формат любому программисту мира, а также команде программистов. Формат MKV стал необычайно распространён в последнее время, благодаря своим возможностям и, в частности, преобладанием функций над форматом AVI.

Дополнительная информация:
Мультимедийный контейнер Матрешка (Matroska) содержит в себе видео дорожку (MKV), звуковую дорожку (MKA) и дорожку субтитров (MKS), а также множество служебной информации, позволяющей создавать меню, подобные DVD-фильмам, управлять таймингом и др. Количество дорожек не ограничено.
Поддерживаются несколько форматов субтитров: SRT, SSA, ASS, VobSub и другие. Результирующие файлы от Mkvtoolnix проигрываются различными медиа плеерами Linux/Unix и Matroska Direct Show под Windows.

Интерфейс максимально простой и разобраться в нём сможет каждый пользователь.

Изменения в программе:
MKVToolNix v9.0.1 released
Monday 28 March 2016 @ 6:29 pm
Due to two nasty bugs in v9.0.0 I’ve decided to release a hotfix with v9.0.1 today. The first bug is a regression from v8.9.0 in the code handling character sets for text subtitle files. The other bug is in the new code for generating chapters automatically.
Из-за двух неприятных ошибок в v9.0.0 я решил выпустить исправление v9.0.1...

Версия 9.0.1 "Obstacles"
mkvmerge: bug fix: regression in v9.0.0: the text subtitle packetizer was wrongfully assuming an encoding of UTF-8 if none was given instead of assuming the system"s encoding. Fixes #1639.
mkvmerge: bug fix: if too many chapters had been generated with --generate-chapters then mkvmerge created a bogus entry in the meta seek element and did not actually write the chapters to the file.
mkvmerge: bug fix: the DTS packetizer was setting the number of channels wrong sometimes when reducing to the DTS core. It was using the number of channels including the extensions instead of the channels of the core only.

ChangeLog: 2016-03-28, Moritz Bunkus

Особенности портативной версии:
Портативные версии 32/64bit предоставлены разработчиком, не требуют установки.

Все больше набирает распространения такой формат хранения как MKV, в простонародье называемый матрешка. Пожалуй эта даже не формат хранения аудио и видео, а контейнер где описано что именно хранится, что позволяет использовать различные форматы кодировок, и большое количество различных потоков. Очень хорошо, когда получает готовый фильм, и нас устраивает какие звуковые дорожки и субтитры предлагаются, их порядок, да и вообще размер самого файла. Но нет в мире ничего идеального, некоторые звуковые дорожки нам вообще не нужны, а вот этих субтитров не хватает да и не помещается этот файл у меня на один диск. MKV потенциально готова решить все ваши проблемы, ведь изначально все делалось для максимальной простоты редактирования. Осталось найти утилиту способную использовать максимальное количество возможностей контейнера MKV. Большинство программ для редактирования видео заявляют о поддержке работы с матрешкой, но постоянно у них можно встретить некоторые ограничения. Для быстрого редактирования и более профессионально работы (у кого хватит терпения разобраться) файлов MKV существует лучшая бесплатная программа MKVToolnix .

Возможны два варианта использования, с инсталляцией в систему или portable версия, которая может работать со сменных дисков или в отдельных папках, не добавляя записей в систему. Как всегда выбрал portable, удобно сделал что надо, а потом стер, чтоб глаза не мозолило и место не занимало. И так пользуюсь этой утилитой раз в несколько месяцев.

Знаете MKVToolnix это действительно мощный инструмент в умелых руках, интерфейс описывать бессмысленно, чтоб понять, как все работает надо хоть один раз все сделать своими руками, почувствовать что к чему. Методом научного тыка, можно экспериментально выяснить как делаются некоторые вещи, но все равно вы не будете использовать и десятой части возможности программы, уж лучше прочитаете инструкции которых в сети выложено предостаточно, да и в комплекте с программой таковые существуют.

Максимум что себе позволю это опишу базовые возможности, чтоб было понятно в какую сторону рыть:

— Разбитие файла на несколько частей. Можно делать разбивку как на файлы одинакового размера, одной длительности по времени, или вручную указав длительность каждой части.

Удаление/ вырезание отдельных фрагментов. Фактически это продолжение предыдущего пункта, разбиваем на отдельные части и выбираем или удаляем нужные части.

Соединение двух фрагментов. Просто склеиваем несколько частей одна к другой. Могут возникнуть проблемы с кодировкой, если пробовать соединять части в разных форматах.

Добавление/удаление аудио дорожек и субтитров. В принципе все просто добавляем файлы с необходимым звуком и текстом. Только обращаем внимание на синхронизацию картинки и звука, для этого есть возможности задать сдвиг или растяжение/сжатие звуковой дорожки.

Обрезание кадров без перекодирования. Бывают записи, когда существуют черные полосы сверху и снизу или искажения по краям изображения идут помехи, вот здесь не особо напрягаясь можно убрать это бесполезное окружение.

Создание глав для фильма. Все знают, что такое меню на DVD дисках по отдельным сценам, также и здесь, можно создать разбивку на отдельные главы, даже можно пойти дальше создав несколько версий фильма, например, показывая/скрывая некоторые сцены.

Связывание нескольких файлов. У вас, например, существует фильм, который разбит на два файла, чтоб после просмотра первой части не пришлось вручную запускать просмотр второго, можно использовать связывание, только здесь одно но, файлы должны иметь одинаковые параметры: количество дорожек, используемые кодеки.

Как пример расскажу как удалять ненужные звуковые дорожки и субтитры. Выбираем закладку «Input», добавляем нужный файл для редактировании нажав “Add”. Указываем файл, куда будем сохранять полученный результат, в поле «Output filename». Снимаем галочки с субтитров и звуковых дорожек, которые нам не нужны. Ну а дальше запускаем все на обработку “Muxing->Run muxing (run mkvemerge)”, ждем несколько минут, в зависимости от производительности компьютера и все наслаждаемся полученным результатом. Признаюсь здесь выбрал самый простой пример.

MKVToolnix для редактирования, и создания матрешки что ни есть самая правильная программа, здесь все необходимое, чтоб после ваше работы другие сказали «ничего себе, а как сделал». Только вот для достижения вау — эффекта не получится, просто запустить программу, пару кликов мыши, и все готово, готовитесь для получения хоть, сколько приемлемого результата почитать инструкцию. Не просто читать а еще самому попробовать для понимания логики работы функций.

Основные недостатки это абсолютно ничего не понятно как что-то делать, некоторые вещи делаются не так как ожидается и полностью дубовый интерфейс, над которым работали только программисты. Остальное только плюсы, найдите другую программу способную все это сделать.

Кому действительно нужен серьезный инструмент, используем MKVToolnix, всем другим искать утилиту для редактирования видео более дружелюбную к пользователю.

Прекрасно работает в 32-х и 64-х битных операционных системах, на куче различных платформах. В оригинальной сборке интерфейс предлагается только на английском, если не ошибаюсь, существуют самодельные варианты на русском.


Название:
Логотип:
Скриншот:
MKVToolnix - 4.0.0
Тип: Работа с видео
Тип интерфейса: Console/GUI
Версия: 4.0.0
от: June 5, 2010
Лицензия: GPL
Сайт: http://www.bunkus.org/videotools/mkvtoolnix/index.html

Удобный набор утилит для редактирования Matroska (MKV) видеофайлов в Linux и других Unix-like системах. MKVToolnix схожа с OGMtools, только работает над с MKV форматом. 5 июня 2010 вышел релиз Mkvtoolnix v4.0.0.

MKVToolnix содержит в себе несколько утилит: mkvmerge, mmg, mkvextract, mkvinfo и mkvpropedit.

mkvmerge - консольная утилита для работы с многими форматами мультимедиа файлов, которая может сохранять их в файлы MKV. Любители консольных утилит легко разберутся в ней сами, прочитав man mkvmerge , а для остальных - используйте графическую mmg .

mmg - графическая версия mkvmerge. Может делать то же самое, только в GUI. Позволяет создавать видеофайлы в формате MKV. Вы можете открыть видео в формате AVI, удалить звуковые дорожки, добавить свои и сохранить это все в новом файле. Так же вы можете задавать имена дорожек, языки, теги, устанавливать дорожку по-умолчанию, тайм-коды, задержку аудио, указывать формат к треку видео (FourCC), FPS, формат изображения. Вы можете добавлять вложения, разбивать выходной файл на несколько частей, редактировать главы. Интерфейс mkvmerge GUI (mmg) v4.0.0 полностью переведен на русский язык.

Скриншоты Mkvtoolnix - mmg (mkvmerge)

mkvinfo - выводит подробную информацию о MKV файлах: $ mkvinfo 1.mkv + EBML глава |+ EBML версия: 1 |+ EBML читать версию: 1 |+ EBML максимальная длина ID: 4 |+ EBML максимальная длина размера: 8 |+ Тип документа: matroska |+ Версия типа документа: 2 |+ Тип документа читал версию: 2 + Сегмент, размер 735146180 |+ Искать заголовок (подстатьи будут пропущены) |+ EbmlVoid (размер: 4044) |+ Информация сегмента | + Масштаб тайм-кода: 1000000 | + Мультиплексирование приложение: libebml v1.0.0 + libmatroska v1.0.0 | + Написать приложение: mkvmerge v4.0.0 ("The Stars were mine") сборка от Jun 14 2010 12:03:49 | + Продолжительность: 4827.640s (01:20:27.640) | + Дата: Mon Jun 14 10:20:16 2010 UTC | + Сегмент UID: 0xa4 0x7f 0x5b 0x69 0x50 0x53 0x85 0xe5 0xd4 0xd2 0x3d 0x4f 0x7e 0x36 0x8a 0x63 |+ Дорожки сегмента | + Дорожка | + Номер дорожки: 1 | + Дорожка UID: 3919281211 | + Тип дорожки: video | + Флажок сшивания: 0 | + Минимальный кэш: 1 | + Кодек ID: V_MS/VFW/FOURCC | + CodecPrivate, длина 40 (FourCC: DX50, 0x30355844) | + По умолчанию продолжительность: 40.000ms (25.000 fps для видео дорожки) | + Язык: und | + Видео дорожка | + Ширина пикселя: 640 | + Высота пикселя: 480 | + Ширина дисплея: 640 | + Высота дисплея: 480 | + Дорожка | + Номер дорожки: 2 | + Дорожка UID: 1436813707 | + Тип дорожки: audio | + Кодек ID: A_MPEG/L3 | + По умолчанию продолжительность: 24.000ms (41.667 fps для видео дорожки) | + Язык: und | + Audio track | + Частота дискретизации: 48000 | + Каналы: 2 | + Дорожка | + Номер дорожки: 3 | + Дорожка UID: 1582642828 | + Тип дорожки: audio | + По умолчанию флаг: 0 | + Кодек ID: A_MPEG/L3 | + По умолчанию продолжительность: 26.122ms (38.281 fps для видео дорожки) | + Язык: und | + Audio track | + Частота дискретизации: 44100 | + Каналы: 2 |+ EbmlVoid (размер: 1114) |+ Кластер mkvextract - позволяет сохранять отдельные треки из MKV файлов в другие файлы. $ mkvextract tracks 2.mkv 1:test.mkv Извлечение трек 1 с CodecID "V_MS/VFW/FOURCC" в файл "test.mkv". Контейнер формат: AVI (Microsoft Audio/Video Interleaved) Прогресс: 100% 17:14:35 brainsburn@desktop /files/tmp/2 $ file test.mkv test.mkv: RIFF (little-endian) data, AVI, 640 x 480, 25.00 fps, video: XviD 17:14:38 brainsburn@desktop /files/tmp/2 $ mkvextract tracks 2.mkv 2:test.mkv Извлечение трек 2 с CodecID "A_MPEG/L3" в файл "test.mkv". Контейнер формат: MPEG-1 Audio Layer 2/3 Прогресс: 100% 17:14:45 brainsburn@desktop /files/tmp/2 $ file test.mkv test.mkv: MPEG ADTS, layer III, v1, 32 kbps, 48 kHz, JntStereo mkvpropedit - позволяет модифицировать параметры MKV файлов.

Установить MKVToolnix

присутствует в ряде популярных ОС - Debian, Arch Linux, Gentoo, FreeBSD, NetBSD, Windows и др.
, но вы можете собрать ее и из исходных кодов.

Установка MKVToolnix из исходных кодов

Вам понадобится утилита autoconf для сборки. Процесс установки предельно банален:
Сперва, клонируем Git репозиторий:
$ git clone git://git.bunkus.org/mkvtoolnix.git Затем: $ cd mkvtoolnix $ ./autogen.sh $ make # make install

Возможно, эти материалы Вас заинтересуют.

Как известно, файлы с расширением mkv - это специальный мультимедийный контейнер для хранения видео, звуковых дорог и субтитров. Она же Матрёшка. Ниже будет описано как правильно работать со звуковыми дорожками.

Часто бывает ситуация, когда в контейнере несколько звуковых дорог и субтитров, причем некоторые из них бывают не нужны. Например дороги с незнакомым языком или несколько русских. Или ещё вариант, когда звуковая дорога имеет формат dts , который не всегда воспроизводится "железными" плеерами. Его можно перекодировать в ас3 .

Опишу наиболее оптимальные, по моему мнению, действия для выполнения этих задач.
Понадобятся всего две программы.
Первая - Mkvtoolnix для работы с контейнерами mkv.
Вторая - Xilisoft Video Converter Ultimate . Помимо кодирования dts в ас3 имеет много других полезных возможностей.

Для примера возьмём некогда популярный фильм "Святые из трущоб".
Запускаем mkvmerge GUI из комплекта Mkvtoolnix
Выбираем фильм и получаем примерно такую картину:

В контейнере, помимо самого видео и субтитров, лежат ещё четыре дороги. Английская, две русских и дорога за авторством Гоблина. Вот она как раз и нужна. Снимаем галки с ненужных элементов, выбираем конечный путь и название пересобранного контейнера и нажимаем Start muxing.

После завершения миксирования новый контейнер выглядит так. Видео и одна звуковая дорожка.

Теперь её можно перекодировать в ас3 .
Запускаем Xilisoft Video Converter Ultimate . Добавляем файл, во вкладке Profiles выбираем ас3 и путь для сохранения. Также в правой части программы можно изменить настройки для кодируемой дорожки.
Жмём красную кнопку вверху и ждём.

Получилась отдельная дорожка ас3 . Теперь ею нужно заменить дорожку с расширением dts . Для этого снова открываем mkvmerge GUI, выбираем файл mkv с одной дорожкой dts и кнопкой add добавляем дорожку ас3 , при этом с дорожки dts соответственно галочку снимаем.

Вы спросите зачем все это нужно было?
Исходный файл со всеми дорожками весил 6.56 ГБ, конечный 3.78 ГБ. Помимо того, что он занимает меньше места, его можно относительно быстрее скопировать на флешку и смотреть с устройства, не поддерживающего звук в формате dts (например телевизоры SAMSUNG шестой серии 2009 года, которым даже новая прошивка не помогла научится читать dts ).

Не рекомендуется использовать mkvmerge версии выше чем 4.0.0. Особенно это касается обладателей телевизоров Samsung 2009 года выпуска. (2009 год - это буква "В" в названии модели. Например LE37B *****) Большинство пересобранных контейнеров отказываются запускаться на встроенном плеере вышеописанных телевизоров.

UPDATE2:

А как вытащить отдельно субтитры или звуковую дорожку? Всё просто. Для этого понадобится программа MKVExtractGUI . Её необходимо положить в папку с Mkvtoolnix .

Здесь всё интуитивно понятно: выбираете файл, выходную папку и галочками помечаете необходимые для извлечения из контейнера файлы.