MKVToolnix решает задачи, которые возникают не на этапе художественного монтажа, а при работе со структурой медиаконтейнера: собрать в один MKV видео, несколько звуковых дорожек и субтитры, убрать ненужные потоки без перекодирования, правильно назначить языки и флаги, встроить шрифты для ASS-субтитров, поправить заголовки и главы, разделить большой файл по времени или главам и проверить внутреннее устройство контейнера. Программа особенно полезна тем, кто готовит медиатеку, ремультиплексирует записи и рипы, собирает многоязычные версии фильмов, исправляет метаданные Matroska или автоматизирует одинаковые операции над большими наборами файлов.
- Обрезка и склейка видео
- Переходы, титры и цветокоррекция
- Стабилизация и хромакей
- Нет монтажной таймлинии
- Нет фильтров и переходов
- GUI не извлекает все типы дорожек
Что именно делает MKVToolnix
Главная идея MKVToolnix — работа с контейнером Matroska и потоками внутри него. Контейнер можно представить как упаковку: в ней лежит один или несколько видеопотоков, аудиодорожки, субтитры, главы, вложения и служебные данные. При обычном ремультиплексировании MKVToolnix не обязан декодировать изображение и затем кодировать его заново. Он читает существующие потоки и записывает их в новый контейнер с выбранной структурой. Поэтому типичный сценарий «оставить одно видео, две аудиодорожки и одни субтитры» отличается от экспорта из видеоредактора: качество самих выбранных потоков не меняется, а время обработки в значительной степени определяется скоростью чтения и записи данных.
Это важное разграничение. MKVToolnix не предназначен для цветокоррекции, наложения фильтров, переходов, графики, изменения содержания кадра или монтажа по визуальной таймлинии. Когда требуется вырезать сцену с точностью до любого кадра, добавить текст поверх изображения или стабилизировать ролик, нужен видеоредактор или инструмент, который умеет декодировать и повторно кодировать материал. MKVToolnix силён там, где кадры уже готовы, а изменить нужно упаковку, набор дорожек и свойства контейнера.
В состав набора входят графическая оболочка MKVToolNix GUI и консольные утилиты. mkvmerge создаёт Matroska/WebM и объединяет потоки, mkvinfo показывает структуру Matroska, mkvextract извлекает содержимое из MKV, а mkvpropedit меняет ряд свойств существующего Matroska-файла без полного ремультиплексирования. В самой GUI сосредоточены мультиплексор, информационный инструмент, редактор заголовков, редактор глав, очередь заданий и вывод выполнения. Полноценного графического аналога для всех функций mkvextract в интерфейсе нет: например, вложение можно сохранить через контекстное меню редактора заголовков, но универсальное извлечение всех типов дорожек остаётся задачей консольной утилиты или стороннего фронтенда.
Установка и начало работы
Для Windows официальная сборка предлагается как обычный установщик и как переносимый архив. Переносимый вариант удобен на рабочей станции, где не хочется менять систему: достаточно распаковать каталог и запускать GUI из него. Установочная сборка удобнее, если программа должна быть доступна всем пользователям машины и регулярно обновляться привычным способом. В актуальной ветке поддерживаются современные версии Windows, поэтому на старых системах разумнее заранее проверить системные требования конкретной сборки, а не ориентироваться на старые инструкции из архивных материалов.
В Linux программа распространяется как пакеты для ряда дистрибутивов и как AppImage. У пакетов есть практическое преимущество: зависимости и обновления обслуживает менеджер пакетов. AppImage полезен, когда нужна единая переносимая сборка в совместимой системе; для запуска ему требуется разрешение на выполнение. В macOS используются отдельные сборки приложения. Независимо от платформы логика интерфейса почти одинакова: слева расположен набор инструментов, в центральной части — вкладки выбранного режима, внизу — состояние очереди и прогресс.
После первого запуска не стоит сразу менять десятки настроек. Для начала достаточно открыть Multiplexer, добавить один знакомый MKV и посмотреть, как программа распознала потоки. Первые безопасные действия — снять флажок копирования с ненужной дорожки, задать выходное имя с расширением .mkv и запустить мультиплексирование. Такой тест быстро показывает базовую модель работы: исходник остаётся нетронутым, а все изменения попадают в новый файл.

Если интерфейс отображается на другом языке, названия пунктов могут не совпадать с английскими формулировками из документации. Однако структура сохраняется: Input содержит исходные файлы и свойства дорожек, Output — параметры выходного сегмента, разбиения и глав, Attachments — вложения. Для системной работы полезно один раз открыть Preferences и проверить два раздела: настройки добавления файлов и значения по умолчанию мультиплексора. Именно здесь настраивается реакция на одновременное добавление нескольких файлов, поведение после завершения задачи и автоматическое включение определённых типов элементов.
Мультиплексор: как устроено главное рабочее окно
Верхняя часть вкладки Input показывает список исходных файлов, участвующих в текущем задании. Ниже находится таблица Tracks, chapters and tags, в которой рядом оказываются видеодорожки, аудио, субтитры, главы и теги. Справа — свойства выбранного элемента. Из-за этого один и тот же интерфейс применяется к разным сущностям: у аудио видны язык, имя дорожки и флаги, у видео добавляются параметры отображения и синхронизации, у субтитров — кодировка и специализированные флаги, а у глав и тегов доступен более ограниченный набор действий.
Зелёная отметка или поле Copy this item означает, что элемент попадёт в новый файл. Если снять копирование с аудиодорожки, MKVToolnix не «удаляет её из исходника», а просто не записывает в выходной MKV. Это принципиально безопаснее прямого редактирования: можно собрать несколько вариантов контейнера из одного оригинала, не меняя источник.

Порядок строк в списке дорожек влияет на порядок потоков в результирующем контейнере. Для большинства проигрывателей важнее язык и флаги, чем физический номер потока, но предсказуемый порядок упрощает обслуживание медиатеки. Практичная схема — сначала основное видео, затем основные аудиодорожки по приоритету, затем комментарии и альтернативные миксы, после них субтитры. При больших наборах полезно явно подписывать дорожки, чтобы отличать, например, «Русский дубляж», «Оригинал 5.1», «Комментарий режиссёра» и «Русские форсированные».
Внизу окна задаётся Destination file. Не стоит направлять результат поверх единственной копии важного файла. Даже если задача кажется простой, разумно писать в другое имя, проверить новый MKV в проигрывателе и через Info tool, а замену оригинала выполнять после проверки. Это особенно важно при работе с нестандартными субтитрами, Dolby Vision, сложными главами и файлами с большим числом вложений.
Добавление исходников: «добавить» и «присоединить» — разные операции
Кнопка Add source files добавляет новый источник в текущее задание. Если в первом MKV уже есть видео и звук, а затем добавить внешний SRT, получатся параллельные потоки одной временной шкалы: видео, аудио и субтитры будут воспроизводиться одновременно. Именно так добавляют перевод, отдельную аудиодорожку или дорожку комментариев.
Операция Append files решает другую задачу — продолжить содержимое первого источника вторым. Её используют для частей одного фильма, сегментов записи или файлов, которые должны идти последовательно. При присоединении MKVToolnix сопоставляет дорожки между исходниками и пересчитывает временные метки второй части так, чтобы она продолжала первую. Если кодеки или параметры соответствующих потоков несовместимы, результат может не соответствовать ожиданиям или операция завершится ошибкой. Поэтому «добавить вторую серию как источник» и «присоединить второй кусок к первому» нельзя считать взаимозаменяемыми действиями.
При перетаскивании нескольких файлов GUI обычно спрашивает, что с ними сделать: добавить в текущие настройки как отдельные источники, присоединить к выбранному источнику либо создать для каждого отдельное задание. Ответ можно запомнить, но это удобно только при устоявшемся процессе. Если окно внезапно перестало появляться, проверьте Preferences → Multiplexer → Adding files: ранее выбранное действие могло быть сохранено как постоянное.
Специальные зоны drag-and-drop ускоряют повторяющуюся работу: можно перетаскивать файлы прямо в область, соответствующую желаемому действию, без промежуточного диалога. Если такие зоны мешают или появились неожиданно, их отображение отключается в параметрах мультиплексора. Для пакетной подготовки серий удобнее ещё один приём: выделить сразу несколько файлов и создать для каждого собственную вкладку настроек, после чего добавить все вкладки в очередь. Так не приходится запускать мультиплексирование вручную по одному файлу.
Автоматическое распознавание последовательностей
При добавлении наборов файлов GUI умеет распознавать последовательности и предлагает варианты обработки. Это полезно для нумерованных частей, однако автоматическое решение следует проверять. Похожие имена не гарантируют, что файлы являются сегментами одной записи; наоборот, отдельно лежащие звук и субтитры с похожим номером эпизода могут относиться к одному видео, но их не нужно присоединять последовательно. Хорошая практика — после массового добавления просмотреть верхний список исходников и убедиться, какие элементы считаются параллельными источниками, а какие помечены как дополнительные части.
Выбор дорожек и понятие «копировать элемент»
Самая частая задача MKVToolnix — оставить только нужные потоки. В таблице дорожек можно включать и отключать элементы индивидуально. Например, из рипа с одной видеодорожкой, четырьмя аудиодорожками и восемью субтитрами можно оставить видео, оригинальный звук, нужный перевод и форсированные субтитры. При этом сам видеопоток не пересчитывается, а значит не появляются потери от повторного кодирования.
Отключение дорожки не всегда уменьшает файл настолько, насколько ожидает пользователь. Размер зависит от битрейта отключённого потока. Удаление текстового SRT почти незаметно, удаление многоканального lossless-аудио способно освободить гигабайты. Если новый MKV внезапно стал намного меньше исходного, сначала сравните список скопированных дорожек, вложений и тегов. Снижение размера само по себе не доказывает «сжатие»: чаще оно означает, что какой-то поток не был включён.
К списку относятся не только аудио и субтитры. Глобальные теги, теги дорожек и главы тоже могут появляться отдельными строками. Если тип колонки скрыт, строка вроде «несколько entries» выглядит неочевидно. Правый клик по заголовкам таблицы позволяет вернуть нужные колонки. Для намеренного удаления служебных элементов их можно просто отключить в текущем задании; для постоянной политики включения есть параметры Preferences → Multiplexer → Enabling items.
Языки, имена и флаги дорожек
У каждой дорожки полезно проверить три группы свойств: язык, понятное имя и флаги поведения. Язык влияет на автоматический выбор в проигрывателях. Современная Matroska допускает языковые теги BCP 47, а MKVToolnix умеет работать и с ними, и с устаревшим трёхбуквенным представлением. Если источник не содержит корректного языка, оставлять «undetermined» можно технически, но для домашней медиатеки лучше явно указать, где русский, английский и другие языки.
Track name — человекочитаемая подпись. Это не замена языковому тегу. Имя может объяснять роль дорожки: «Original 5.1», «Дубляж», «Комментарии», «Forced signs». Проигрыватель не обязан понимать смысл такого текста, поэтому автоматический выбор должен опираться на язык и флаги, а имя служит подсказкой человеку.
Default track flag сообщает проигрывателю, что дорожку следует учитывать как вариант по умолчанию с учётом пользовательских предпочтений языка. Наличие нескольких дорожек с этим флагом не означает, что одновременно будут воспроизводиться все; окончательное решение остаётся за проигрывателем. В практическом случае с двумя русскими аудиодорожками флаг разумно оставить у основной, а комментарий или дорожку для специальных сценариев явно не делать основной.
Forced display flag обычно используют для субтитров, содержащих только обязательные надписи или перевод отдельных реплик на другом языке. Этот флаг не превращает обычные полные субтитры в «форсированные» по содержанию: он лишь помечает дорожку. Если дорожка включает весь диалог, неверный forced-флаг может заставить плеер включать её там, где пользователь ожидал увидеть только отдельные переводы.
В современных Matroska также встречаются флаги вроде hearing impaired, visual impaired, commentary, original language и text descriptions. Они позволяют точнее описать назначение потока. Если проигрыватель поддерживает такие признаки, выбор становится предсказуемее; если нет, флаги обычно не мешают. Главное — не ставить их «на всякий случай», а использовать только там, где они соответствуют содержимому дорожки.
Добавление внешних субтитров
Чтобы встроить SRT, ASS/SSA или другой поддерживаемый файл субтитров, его добавляют как отдельный источник через Add source files. Он появляется в списке дорожек, после чего можно задать язык, имя, default/forced-флаги и при необходимости задержку. В результате субтитры становятся отдельным потоком внутри MKV, а не прожигаются в изображение. Их можно выключить в плеере, выбрать альтернативную дорожку или позже извлечь.
Для текстовых субтитров особенно важна кодировка. Matroska хранит текст в UTF‑8, а MKVToolnix преобразует входной текст при чтении. Файлы с BOM распознаются надёжнее; для старых ANSI-кодировок автоматическое определение зависит от системной локали. Если после мультиплексирования вместо кириллицы появляются неправильные символы, исправлять нужно не видеопоток, а параметр кодировки исходного текста. В GUI он задаётся в свойствах соответствующей субтитровой дорожки.
ASS и SSA могут ссылаться на шрифты, которых нет на компьютере зрителя. В таком случае одного файла субтитров недостаточно: требуемые TTF/OTF лучше вложить в Matroska. Плеер, умеющий использовать вложенные шрифты, сможет отрисовать оформление ближе к авторскому. Важно не прикладывать «все шрифты из системы»: это раздувает контейнер и усложняет лицензирование. Вкладывают только те файлы, которые реально использованы стилями.
Вложения: шрифты, изображения и другие файлы
На вкладке Attachments отображаются вложения из исходников и файлы, которые планируется добавить. Для каждого элемента видны имя, MIME-тип, описание и источник. Шрифты для стилизованных субтитров — наиболее частый сценарий, но Matroska технически позволяет хранить и другие вложения.

Если исходный MKV уже содержит десяток шрифтов, их можно копировать выборочно. Перед удалением следует выяснить, какие из них используются. Простая логика «шрифты не нужны для видео» опасна: изображение действительно останется прежним, но ASS-субтитры в другом плеере могут начать отображаться системным шрифтом, с неправильными переносами или размером.
Графический интерфейс позволяет добавлять вложения при мультиплексировании. Для существующего MKV редактор заголовков также умеет сохранить содержимое выбранного вложения через контекстное меню. Однако это частный случай, а не универсальный GUI для mkvextract. Если нужно извлечь сразу дорожки, главы, теги и вложения в автоматизированном процессе, удобнее использовать консоль.
Синхронизация аудио и субтитров
Поле Delay (in ms) сдвигает временные метки выбранной дорожки. Положительное значение переносит её позже, отрицательное — раньше. Это подходит, когда рассинхрон постоянный: например, внешняя аудиодорожка в течение всего фильма отстаёт на одинаковые 250 мс. После ремультиплексирования контейнер будет хранить новые временные метки, не меняя сами аудиосэмплы.
Если в начале всё синхронно, а к финалу звук заметно уходит, одной задержки недостаточно. В mkvmerge предусмотрен коэффициент растяжения временной шкалы вместе со сдвигом. GUI предоставляет соответствующие поля в группе временных меток. Такой случай требует аккуратного расчёта: нужно сравнить точную длительность эталонной и исправляемой дорожек. Неправильный коэффициент создаст новый дрейф.
Для субтитров действует та же логика. Если весь SRT сдвинут на две секунды, достаточно delay. Если файл создан для другой монтажной версии и к концу расхождение увеличивается, возможно, различается частота кадров, длительность заставки или сама редакция фильма. MKVToolnix умеет корректировать шкалу времени, но не может определить содержательное соответствие сцен. Перед настройкой полезно проверить несколько точек — начало, середину и конец.
Default duration/FPS — отдельный инструмент. Он задаёт длительность элементов потока и может менять расчёт временных меток. Использовать его как «быстрый способ исправить любое видео» нельзя. Для AVC/H.264 программа может отдельно корректировать timing information в битовом потоке, но это специализированная функция. Если задача — только упаковать готовый видеофайл в MKV, значение по умолчанию обычно лучше не переопределять.
Параметры выхода и имя сегмента
Вкладка Output содержит параметры, которые относятся ко всему выходному файлу, а не к отдельной дорожке. Здесь задаётся название сегмента, глобальные теги, сведения о связывании сегментов, режим разбиения и настройки глав. Название сегмента — это метаданные внутри MKV, оно не обязано совпадать с именем файла. Поэтому случайная строка в этом поле может отображаться в медиаплеере даже после переименования файла на диске.

Поля Segment UID, previous/next segment UID нужны для продвинутых сценариев связывания Matroska-сегментов. Для обычной медиатеки их лучше оставлять автоматически управляемыми. Ручная подмена UID без понимания связей способна нарушить главы и теги, которые ссылаются на уникальные идентификаторы.
Опция создания WebM-совместимого файла накладывает дополнительные ограничения: контейнер должен соответствовать профилю WebM, набор допустимых кодеков и элементов уже, чем у Matroska. Переименование произвольного MKV в .webm не делает его корректным WebM; совместимость должна обеспечиваться содержимым.

Разделение файла без повторного кодирования
MKVToolnix умеет разделять выход при мультиплексировании. Доступны режимы по размеру, длительности, заданным временным меткам, номерам кадров/полей, выбранным диапазонам и главам. Это удобнее повторного кодирования, когда нужно разложить длинную запись на части или выделить несколько фрагментов, сохранив исходные потоки.
Есть важное ограничение: решение о точке разделения для видео принимается на ключевых кадрах. Поэтому временная метка, указанная пользователем, не гарантирует разрез ровно на этом кадре. Если задано 00:10:00, а ближайший допустимый ключевой кадр расположен чуть позже, граница сдвинется. Для кадровой точности внутри GOP нужен инструмент, который сможет декодировать и при необходимости перекодировать границу.
Режим parts позволяет оставить только заданные временные диапазоны. Если диапазоны записываются как отдельные части, программа создаёт несколько файлов; если следующий диапазон помечен как присоединяемый, он попадает в тот же выходной файл, а временные метки пересчитываются без промежутка. Это даёт простую «грубую нарезку» без перекодирования, но не заменяет монтажную таймлинию: нет визуального предпросмотра перехода и точность ограничена ключевыми кадрами.
Разбиение по главам полезно для концертных записей и дисков, где главы уже размечают логические части. Можно разрезать перед указанными номерами или перед всеми верхнеуровневыми главами. Вложенная структура Matroska может быть сложнее, но режим разделения ориентируется на верхний уровень. Имена выходных файлов формируются по шаблону с номером; в некоторых сценариях можно использовать имя первой главы в шаблоне, однако итог всё равно стоит проверить на допустимые символы для файловой системы.
Главы: импорт, генерация и редактирование
MKVToolnix работает как с уже существующими главами Matroska, так и с внешними файлами. Для простых задач поддерживается текстовая схема с парами «время — имя», а для полной модели Matroska используется XML. XML нужен, если требуется вложенность, конечные времена, несколько названий на разных языках, флаги, editions и уникальные идентификаторы. Если структура сложная, лучше не пытаться свести её к простому списку времён: часть информации при таком упрощении неизбежно потеряется.
На вкладке Output можно указать внешний файл глав, язык и кодировку. Дополнительно доступна генерация глав через фиксированный интервал или при присоединении файлов. Например, режим «одна глава при каждом append» автоматически создаст точку в начале каждой присоединённой части. Это удобно, когда концерт или сериал собран из отдельных файлов и нужно получить базовую разметку без ручного ввода десятков времён.
Отдельный Chapter editor работает с главами существующего Matroska-файла и с XML. Главы организованы в editions и chapter atoms; у одного атома может быть несколько отображаемых названий на разных языках. Если нужно «переименовать главу на русский и английский», корректный путь — два отображаемых имени внутри одной главы, а не две независимые главы с одинаковым UID.
Редактор умеет сохранять изменённые главы обратно в существующий MKV или в XML. Изменение главы не вырезает соответствующий фрагмент видео. Если удалить Chapter 00, исчезнет навигационная метка, но кадры, которые она обозначает, останутся. Для удаления самого содержания нужно использовать разбиение/parts или видеоредактор.
При присоединении файлов уникальные идентификаторы глав имеют значение. Если разные исходники содержат одинаковые UIDs, программа может посчитать соответствующие элементы частями одной структуры и объединить их не так, как ожидалось. В нестандартных случаях главы второго файла разумно предварительно открыть в редакторе, проверить и при необходимости назначить новые UID. Это особенно актуально для файлов, созданных программами, которые использовали простую последовательность 1, 2, 3 вместо действительно уникальных значений.
Сдвиг и массовые изменения глав
Если главы соответствуют правильным сценам, но все точки сдвинуты, можно применить изменение времени сразу к родительской edition, а не редактировать каждый chapter atom отдельно. В Chapter editor команды дополнительных модификаций действуют на выбранный узел и его дочерние элементы. Поэтому сдвиг всей группы на одинаковое значение выполняют на верхнем уровне. Перед сохранением стоит проверить первую и последнюю главу: неправильный знак сдвига быстро обнаруживается по отрицательным или нелогичным временным позициям.
Для автоматической нумерации существует команда переименования дочерних глав. Она полезна после append, когда части фильма сохранили свои исходные названия «Chapter 01…» и нумерация начинается заново во второй части. Программа не переименовывает такие главы автоматически, потому что реальные названия могут быть содержательными: «Пролог», «Погоня», «Финал». Автоматическую перенумерацию следует запускать только если названия действительно являются формальной нумерацией.
Редактор заголовков: изменение MKV без полного ремультиплексирования
Header editor предназначен для изменений свойств уже существующего Matroska-файла. После открытия файла слева видны Segment information, видео-, аудио- и субтитровые дорожки, а также вложения. Для дорожек можно править язык, имя и ряд флагов, для сегмента — название и другие допустимые элементы. В отличие от мультиплексора здесь не создаётся новый контейнер с нуля: изменения вносятся в существующий файл по логике, близкой к mkvpropedit.
Редактирование заголовков часто быстрее полного ремультиплексирования, особенно для больших файлов, потому что видеогигабайты не нужно переписывать. Однако скорость зависит от структуры конкретного MKV. Matroska может содержать свободное место, которое облегчает изменение заголовков; если его недостаточно, программе приходится перестраивать или перемещать служебные элементы. Поэтому утверждение «mkvpropedit всегда меняет гигантский MKV мгновенно» неверно, хотя типичные небольшие правки действительно выполняются гораздо быстрее полного копирования.
В Header editor удобно исправлять неправильно назначенный язык, default/forced-флаг или имя дорожки уже после того, как файл оказался в медиатеке. Если нужно одновременно удалить дорожку из контейнера, редактор заголовков не поможет: физический состав потоков меняется через новое мультиплексирование. Это хорошая граница между двумя режимами: свойства существующего потока — Header editor; добавить или убрать поток — Multiplexer.
С вложениями редактор заголовков умеет больше, чем может показаться по названию. Если открыть ветку Attachments и вызвать контекстное меню конкретного элемента, его содержимое можно сохранить в отдельный файл. Это удобно, чтобы вытащить один шрифт и проверить его. Но универсальным извлечением всех дорожек этот механизм не становится: для видео, аудио, субтитров, глав и тегов предназначен mkvextract.
Info tool и проверка структуры файла
Info tool показывает внутреннюю структуру Matroska: сегмент, SeekHead, сведения о дорожках, кластерах, cue entries, вложениях и других элементах. Это диагностический инструмент, а не удобный медиаплеер. Он особенно полезен, когда нужно понять, что именно записано в контейнере и почему поведение отличается между проигрывателями.
Для повседневной проверки не обязательно разворачивать каждый элемент дерева. Достаточно убедиться, что присутствуют ожидаемые дорожки и их языки, главы, вложения и основные свойства. Глубокий просмотр нужен при повреждениях, необычных тегах или проблемах совместимости. Консольный mkvinfo даёт похожую информацию и удобнее для сохранения вывода в текст или сравнения нескольких файлов.
Если в одном инструменте дорожка видна, а в другом нет, сначала уточните, какой уровень информации рассматривается. mkvmerge --identify выдаёт практический перечень контейнера и потоков с ID, подходящими для дальнейших команд. mkvinfo отражает элементы Matroska глубже. Это разные представления одной структуры, и номера, встречающиеся в них, не всегда имеют одинаковый смысл.
Очередь заданий и пакетная работа

Кнопка Add to job queue не начинает обработку немедленно. Она сохраняет текущие настройки как задачу, которую можно запустить вместе с другими. Это удобно, когда для десяти эпизодов нужно вручную проверить дорожки, а затем оставить компьютер обрабатывать весь набор.
Статусы очереди позволяют отличить pending, running, completed, warning и error. Предупреждение не равно ошибке: некоторые задачи завершаются с кодом, означающим «операция выполнена, но было предупреждение». Результат в таком случае нужно проверить по сообщению. Ошибка означает, что операция не была завершена штатно.
При множестве открытых вкладок мультиплексора доступны действия для всех вкладок. Можно добавить их в очередь единым действием вместо многократного нажатия одной кнопки. Если интерфейс после завершения захламляется старыми вкладками, в Preferences есть настройка автоматического закрытия или очистки текущих параметров. Она влияет на организацию GUI, а не на сам результат.
Очередь хранит параметры задания на момент добавления. Если позже изменить открытый Multiplexer, уже помещённая в очередь задача от этого не переписывается автоматически. Когда конфигурация сложная, полезно давать заданиям понятные описания или проверять их перед запуском. Такой подход снижает риск, что одна из серий уйдёт в обработку со старыми параметрами.
Предупреждения перед мультиплексированием
MKVToolnix старается предупредить о конфигурациях, которые выглядят подозрительно. Например, если итоговый контейнер не содержит ни одной аудиодорожки, GUI может запросить подтверждение. Это полезная защита от случайного снятия флажка с единственного звука.
Не следует воспринимать такое сообщение как запрет. Немой видеофайл вполне может быть намеренным, и программа позволяет продолжить. Смысл предупреждения — заставить перепроверить настройку. Аналогично, сообщения о несовместимых дорожках при append, необычных временных метках или неизвестных элементах требуют контекстной оценки. В рабочем процессе лучше хранить журнал задания до проверки файла, а не автоматически считать «зелёный прогресс» достаточным подтверждением.
Особенно внимательно стоит относиться к сообщениям о невозможности открыть выходной файл, нехватке места и ошибках записи. При ремультиплексировании программа создаёт новый большой файл, поэтому свободного места должно хватать не только на исходник, но и на весь результат. На сетевом хранилище добавляются риски разрыва соединения и ограничений прав. Если операция завершается ошибкой I/O, сначала проверяют файловую систему и доступ, а уже затем кодеки.
Консольный mkvmerge: когда GUI становится тесным
Графический интерфейс покрывает большинство ручных сценариев, но командная строка удобнее для повторяемости. Простой шаблон выглядит как mkvmerge -o output.mkv input.mkv: он создаёт новый Matroska-файл на основе входного. Когда добавляются внешние дорожки и правила выбора, команда становится длиннее, зато её можно сохранить в скрипт и применить к сотням файлов.
Для диагностики полезен режим идентификации. mkvmerge -J file.mkv выводит структуру в JSON: тип контейнера, дорожки и их ID, свойства, вложения и другие элементы. Машиночитаемый формат надёжнее разбора локализованного текста и подходит для PowerShell, Python, shell и систем медиаменеджмента.
Опции выбора позволяют копировать только нужные аудио-, видео- или субтитровые дорожки либо исключать целые категории. Важная деталь: track ID в параметрах mkvmerge — это ID, полученный идентификацией конкретного входного файла, а не обязательно визуальный «номер дорожки» из плеера. Ошибка в ID — типичная причина, почему скрипт удаляет не тот поток.
GUI умеет показывать командную строку, которую он собирается передать mkvmerge: команда доступна через меню мультиплексора. Это один из лучших способов перейти от мыши к автоматизации. Сначала пользователь настраивает рабочий пример в GUI, затем смотрит получившиеся аргументы, переносит их в скрипт и обобщает имена файлов.
Выбор языка и дорожек в командной строке
Опция --language назначает язык конкретному track ID, --track-name — человекочитаемое имя, --default-track-flag и --forced-display-flag — соответствующие флаги. Когда параметр относится к входному потоку, его обычно ставят перед именем того входного файла, к которому он должен примениться. Это одна из причин, почему длинную команду лучше сначала получить из GUI: порядок аргументов наглядно показывает область действия.
Если дорожки выбираются по языку в автоматическом скрипте, нужно предусмотреть неизвестный язык и несколько потоков с одинаковым языком. Например, в одном файле русский дубляж может быть первым русским аудио, в другом — вторым, а третья русская дорожка окажется комментариями. Надёжная автоматизация учитывает не только язык, но и имя, codec, число каналов или заранее заданное правило приоритета.
mkvextract: извлечение дорожек, глав и вложений
mkvextract решает обратную задачу — достаёт содержимое из Matroska. Команда может извлекать дорожки, главы, теги, вложения, временные метки и cues. Формат выходного файла зависит от Codec ID. Например, H.264 извлекается как элементарный поток H.264, H.265 — как H.265, ASS/SSA — в соответствующие текстовые файлы, обычные текстовые субтитры — как SRT, PGS — как SUP.
Синтаксис отличается от mkvmerge: после исходного файла указывается режим, например tracks или attachments, затем пары ID и имён назначения. Из-за этой разницы команды, составленные «по аналогии с mkvmerge», часто дают ошибку unrecognized option. Перед пакетным извлечением разумно получить ID через идентификацию и протестировать команду на одном файле.
При извлечении дорожки не всегда получается файл, идентичный исходному «до упаковки»: контейнер мог хранить служебную информацию иначе, а некоторые форматы требуют построения новых заголовков. Но содержимое кодированного потока сохраняется в предназначенном для него выходном представлении. Для субтитров и вложений результат обычно интуитивен; для сложного аудио и видео нужно понимать различие между контейнером и elementary stream.
mkvpropedit: быстрые правки существующего Matroska
mkvpropedit редактирует segment information, заголовки дорожек, главы, теги и вложения существующего MKV. Например, через селектор track:a1 можно обратиться к первой аудиодорожке, изменить язык или default-флаг, а через --chapters заменить главы XML-файлом. Для вложений есть добавление, замена, обновление свойств и удаление по ID, UID, имени или MIME-типу.
У программы есть быстрый и полный режим разбора. Быстрый режим использует служебные указатели Matroska и подходит для большинства нормальных файлов. Полный просмотр нужен, если файл повреждён или не содержит нужных seek-элементов; он может занять значительно больше времени. Поэтому медленное выполнение mkvpropedit на проблемном файле не нужно автоматически трактовать как зависание.
Нужно учитывать, что редактирование «на месте» повышает цену ошибки. Перед массовым удалением тегов, глав или вложений имеет смысл протестировать скрипт на копии. Особенно осторожно следует обращаться с шрифтами и сложными chapter/tag связями. Даже если видеопоток физически не затронут, потерянные метаданные могут быть важны для навигации, отображения субтитров или медиасервера.
Какие исходники имеет смысл подавать в MKVToolnix
MKVToolnix умеет читать не только готовые MKV. В практической работе в него часто подают MP4/MOV, MPEG-TS и M2TS, WebM, Ogg/OGM, AVI, отдельные аудиофайлы и файлы субтитров. Точный список поддерживаемых типов зависит от сборки и развивается вместе с программой; в консоли его можно получить командой mkvmerge --list-types. Это надёжнее любого статичного перечня, потому что сразу показывает возможности установленной версии.
Поддержка контейнера не означает, что любая дорожка внутри него гарантированно будет понятна. Файл MP4 — лишь оболочка: внутри могут находиться разные видео- и аудиокодеки. Если парсер контейнера распознан, а конкретный поток — нет, GUI сообщит об этом при идентификации. Поэтому при проблеме важно различать «не читается формат файла» и «контейнер читается, но неизвестен один кодек».
Для транспортных потоков программа должна просканировать часть файла, чтобы обнаружить все дорожки. На длинном M2TS редкая дорожка может появиться не сразу в анализируемом диапазоне. В командной строке для таких случаев есть настройка глубины probe range. Менять её без необходимости не стоит: больший диапазон увеличивает время идентификации. Но если точно известно, что в TS есть звук или субтитры, а программа их не видит, углублённое сканирование — один из первых разумных шагов.
Ремультиплексирование MP4, MOV, TS и M2TS в MKV
Типичный сценарий начинается с Add source files: выбирается MP4, MOV, TS или M2TS, после чего MKVToolnix показывает найденные дорожки. Далее пользователь снимает ненужные элементы, задаёт языки и имя результата. Если видео и звук уже сжаты подходящими кодеками, они перепаковываются в Matroska без перекодирования. Именно поэтому операция обычно заметно быстрее, чем экспорт того же материала из видеоредактора с повторным H.264/H.265-кодированием.
Такое преобразование не «улучшает качество» и не «ухудшает битрейт» само по себе. Кадры и аудиофреймы остаются теми же, меняется контейнерное представление. Зато меняются возможности метаданных, набор разрешённых вспомогательных элементов, порядок дорожек и совместимость с проигрывателями. Например, Matroska удобно хранит несколько звуковых дорожек, несколько вариантов субтитров, сложные главы и вложенные шрифты в одном файле.
Обратная сторона — не каждое устройство, понимающее исходный MP4, обязательно воспроизведёт тот же поток после упаковки в MKV. Ограничение может быть у телевизора, медиаплеера, приложения или DLNA-сервера. Поэтому для целевого устройства проверяют не только расширение, но и поддерживаемые кодеки, профиль, уровень, HDR-метаданные, аудиоформаты и тип субтитров. MKVToolnix может корректно собрать файл, который конкретный телевизор всё равно не сможет воспроизвести.
Видео: разрешение, аспект и параметры отображения
У видеодорожки есть различие между закодированным размером кадра и параметрами отображения. В свойствах MKVToolnix можно задать display width/height или аспект отображения. Это контейнерные метаданные: они сообщают плееру, как показывать кадр, но не масштабируют само видео. Если исходный поток имеет 720×576, установка display 1024×576 не превращает его в 1024×576 по числу пикселей; она задаёт геометрию воспроизведения.
Использовать эти поля стоит только при известной причине — например, у анаморфного источника потерялась информация об отображаемом соотношении сторон. Для обычного современного видео MKVToolnix обычно извлекает корректные параметры из контейнера или битового потока. Случайная ручная правка может привести к вытянутой или сжатой картинке, хотя исходные кадры останутся нетронутыми.
Есть и поля для stereo mode, projection и field order. Это специализированные метаданные для 3D, сферического видео и чересстрочной развертки. Если задача не связана с такими материалами, значения лучше не менять. Они не являются «улучшателями качества» и не исправляют плохой деинтерлейс, геометрию съёмки или ошибки кодирования.
HDR, Dolby Vision и другие сложные видеопотоки
При обычном ремультиплексировании MKVToolnix не перекодирует HEVC, AVC и другие видеопотоки, поэтому базовые параметры изображения не пересчитываются. Однако современные HDR-форматы состоят не только из пикселей: важны метаданные в битовом потоке и элементы контейнера. В актуальных версиях набор поддерживаемых метаданных расширяется, поэтому при работе с Dolby Vision, HDR10+ и необычными профилями особенно важно использовать свежую сборку и проверять результат инструментами, которые умеют распознавать именно этот формат.
Не следует считать простой факт «видео проигрывается» достаточной проверкой. Некоторые устройства при потере или неправильной интерпретации HDR-данных молча переходят на базовый слой либо показывают SDR/HDR10 вместо ожидаемого режима. Проверка включает свойства дорожки, информацию в медиаплеере или MediaInfo-подобном анализаторе и, если материал критичен, фактическую индикацию режима на целевом устройстве.
Если исходник уже корректно упакован в MKV и задача сводится к переименованию языков или флагов, безопаснее использовать Header editor/mkvpropedit, чем делать лишний ремультиплекс. Если нужно удалить или добавить дорожку, ремультиплексирование необходимо. В обоих случаях резервная копия особенно оправдана для редких профилей и сложных рипов.
Аудиодорожки: порядок, язык, каналы и комментарии
MKVToolnix хорошо подходит для сборки нескольких вариантов звука в одном контейнере. Например, можно взять видео из одного MKV, русский дубляж из второго файла, оригинальную дорожку из первого и отдельный комментарий. Все источники добавляются параллельно, после чего у каждой аудиодорожки задаются язык, имя и флаги. Главное — проверить синхронизацию внешних дорожек: одинаковая длительность файлов ещё не гарантирует одинаковую монтажную версию.
Количество каналов и частота дискретизации отображаются как свойства потока, но MKVToolnix не выполняет микширование. Нельзя превратить 5.1 в стерео одним переключателем или нормализовать громкость без перекодирования. Для этого нужен аудиокодер или редактор. В MKVToolnix можно лишь выбрать, какую уже готовую дорожку поместить в контейнер, и описать её метаданными.
Если есть основная дорожка и комментарий на одном языке, имя и commentary flag помогают отличить их. Default-флаг обычно оставляют у основной. Аналогично дорожку для слабовидящих можно пометить соответствующим флагом вместо того, чтобы надеяться, что пользователь догадается по порядку потоков.
Субтитры PGS, VobSub и текстовые форматы
Текстовые SRT/ASS и графические PGS/VobSub принципиально различаются. SRT и ASS содержат текст, который плеер отрисовывает сам; PGS и VobSub представляют собой изображения субтитров. MKVToolnix может поместить оба типа в Matroska, но редактирование их содержания находится за пределами программы.
Для ASS важны стили и шрифты. Для PGS шрифты не нужны, потому что символы уже являются картинками. Зато PGS обычно занимает больше места и не позволяет плееру менять шрифт. При выборе дорожек в медиатеке полезно сохранять тип в имени, если это важно пользователю: например, «Русские PGS» и «Русские ASS».
VobSub обычно состоит из пары IDX/SUB. При добавлении в MKVToolnix выбирается управляющий файл, и программа использует связанный поток. При извлечении через mkvextract результат для DVD-субтитров также требует корректного формата назначения. Если команда извлечения не работает, первым делом проверяют режим tracks и реальный track ID, а не пытаются передавать комбинацию fileID:trackID, принятую в других утилитах.
Практические сценарии
Оставить видео и две нужные аудиодорожки
- Откройте Multiplexer и нажмите Add source files.
- Выберите исходный MKV и дождитесь идентификации.
- В таблице оставьте включённой видеодорожку и две нужные аудиодорожки; остальные аудио отключите.
- Выберите первую нужную дорожку, задайте корректный язык, имя и при необходимости Default track flag = Yes.
- Для второй дорожки задайте язык и имя; если это комментарий, используйте commentary flag и не делайте её основной без необходимости.
- Проверьте, нужны ли главы, субтитры, теги и вложения. Не отключайте их автоматически только ради меньшего размера.
- Укажите новое имя в Destination file и запустите мультиплексирование.
- После завершения откройте новый файл в плеере и убедитесь, что список аудиодорожек и выбранная по умолчанию дорожка соответствуют ожиданиям.
В этом сценарии качество видео и выбранных аудиопотоков не меняется. Размер результата будет примерно равен сумме оставшихся потоков плюс небольшой контейнерный служебный объём. Если файл получился неожиданно маленьким, сравните таблицу дорожек с исходником: часто случайно отключён звук высокого битрейта или вообще единственное видео.
Добавить внешний перевод и исправить задержку
- Добавьте основной видеофайл как первый источник.
- Добавьте файл внешнего аудиоперевода как дополнительный источник, а не через Append.
- Выберите новую аудиодорожку и проверьте длительность, язык и имя.
- Сравните синхронизацию в нескольких точках. Если отставание постоянно, запомните величину в миллисекундах.
- Введите значение в Delay (in ms). Если звук запаздывает, его нужно сдвинуть раньше; знак значения проверяйте тестом, а не по памяти.
- Если рассинхрон растёт, сначала выясните, одинаковы ли монтажные версии. Только затем используйте коэффициент растяжения временной шкалы.
- Соберите тестовый фрагмент через режим parts или короткий исходник, чтобы быстро проверить расчёт, и лишь затем запускайте полный файл.
Последний шаг экономит время. При работе с двухчасовым материалом бессмысленно каждый раз полностью переписывать десятки гигабайт ради проверки 200 мс. Достаточно сделать небольшой диапазон, убедиться в правильном знаке задержки и отсутствии дрейфа, после чего применить параметры к полному заданию.
Встроить ASS-субтитры и нужные шрифты
- Добавьте видеофайл в Multiplexer.
- Добавьте ASS-файл как отдельный источник. Убедитесь, что он отображается как subtitle track.
- Назначьте язык, понятное имя и forced/default-флаги только в соответствии с назначением дорожки.
- Откройте ASS в текстовом редакторе и посмотрите, какие семейства шрифтов указаны в стилях и переопределениях. Не полагайтесь только на визуальный вид в своём плеере: он может использовать уже установленные в системе шрифты.
- На вкладке Attachments добавьте используемые TTF/OTF. Проверьте, что имя и MIME-тип распознаны корректно.
- Соберите MKV и протестируйте его на машине или в профиле, где этих шрифтов нет в системе.
Если оформление изменилось, причина обычно в неполном наборе вложений, другом имени семейства шрифта или различиях рендерера субтитров. MKVToolnix только помещает ASS и файлы шрифтов в контейнер; он не гарантирует одинаковую отрисовку во всех проигрывателях. Поэтому для сложных karaoke-эффектов и нестандартных шейпингов проверяют именно целевой плеер.
Собрать фильм из двух частей
Когда есть Part1 и Part2, которые должны идти последовательно, второй файл присоединяют через Append files, а не просто добавляют как независимый источник. Перед этим сравнивают структуру: количество дорожек, типы кодеков, параметры видео, частоту дискретизации звука и набор субтитров. Чем симметричнее части, тем предсказуемее автоматическое сопоставление потоков.
- Добавьте первую часть как основной источник.
- Выберите её в верхнем списке и используйте команду присоединения второй части.
- Проверьте, к каким потокам первой части программа собирается присоединять потоки второй.
- Если во второй части есть лишняя дорожка или отсутствует одна из дорожек первой, не полагайтесь на стандартное сопоставление: настройте структуру явно или предварительно приведите набор потоков к одинаковому виду.
- Проверьте главы. Если обе части имеют независимые главы с пересекающимися UID, при необходимости исправьте их в Chapter editor.
- После сборки проверьте участок стыка: изображение, звук, субтитры и момент перехода глав.
В консольном mkvmerge режим append имеет два способа расчёта смещения временных меток: по файлу и по дорожке. По умолчанию используется расчёт по файлу, который обычно лучше подходит для независимо созданных AVI/MP4 и похожих источников. Режим по дорожке может быть полезнее для файлов, являющихся настоящими кусками одного потока. В GUI вмешиваться в этот параметр нужно только тогда, когда стандартный результат даёт объяснимую проблему со временем на стыке.
Вырезать два фрагмента без перекодирования
Если нужно оставить, например, интервалы 00:05:00–00:12:30 и 00:45:10–00:52:00, режим parts позволяет сделать это в одном задании. Без знака присоединения получатся два выходных файла. Если второй диапазон пометить как продолжение первого, оба диапазона будут записаны в один MKV, а временные метки второго пересчитаются так, чтобы между частями не осталось пустого промежутка.
Такая операция удобна для извлечения крупных сцен, но имеет два ограничения. Первое — границы видео привязаны к ключевым кадрам. Второе — программа не анализирует художественный монтаж: она не создаёт кроссфейд, не подрезает аудио по нулевым переходам и не показывает кадр до и после точки. Для чистого контейнерного вырезания это нормально, для точного монтажа — нет.
Если результат начинается чуть раньше или позже заданного времени, это не обязательно ошибка. Посмотрите расположение ключевых кадров. Чем длиннее GOP у исходного кодека, тем заметнее потенциальное смещение. Когда нужна граница на конкретном неключевом кадре, приходится перекодировать хотя бы участок вокруг точки или использовать редактор с smart rendering, если формат это допускает.
Разделить концерт по главам
У концертного MKV часто уже есть главы по композициям. В Output выбирается split mode по главам и указываются нужные номера либо все верхнеуровневые главы. Результатом становятся отдельные MKV. Временные метки глав в каждом выходе корректируются относительно начала соответствующего файла.
Перед запуском проверьте две вещи. Во-первых, Chapter 1 обычно начинается в 00:00:00 и не является точкой «разрезать перед первой главой» — это просто начало. Во-вторых, вложенные главы и editions могут не соответствовать простому списку треков: режим splitting ориентирован на верхний уровень. Если в файле несколько editions, сначала откройте Chapter editor и поймите структуру.
Имена выходных файлов по умолчанию получают номера. Если используется шаблон с названием главы, проверьте символы вроде двоеточия, слеша и кавычек: допустимый текст главы не всегда является допустимым именем файла на конкретной ОС. Для пакетного процесса безопаснее сначала вывести нумерованные файлы, а затем переименовать их отдельным скриптом по проверенному правилу.
Заменить главы, не переписывая видео
Если сами кадры и дорожки уже правильные, а главы нужно полностью заменить, есть два пути. В GUI можно открыть Chapter editor, загрузить существующий MKV, изменить структуру и сохранить обратно. В автоматизации используется mkvpropedit с новым XML или простым файлом глав.
Такой путь экономит время и дисковый трафик, потому что гигантский видеопоток не создаётся заново. Но именно поэтому важно иметь резервную копию файла глав или исходного MKV. Команда замены не хранит «историю отмены» после завершения процесса. Если новая XML-структура была ошибочной, восстановление означает повторную замену корректным файлом.
Для многоязычных названий одну главу следует описывать одним ChapterAtom с несколькими ChapterDisplay. Создание двух одинаковых глав с одинаковым временем и UID, но разными языками, может выглядеть рабочим в отдельных программах, однако нарушает ожидаемую структуру и создаёт проблемы при объединении.
Очистить теги, сохранив дорожки
В мультиплексоре глобальные теги и track tags можно отключить как элементы текущего задания. Это создаст новый MKV без выбранных тегов, но с теми же включёнными аудио-, видео- и субтитровыми потоками. Если необходимо изменить уже готовый Matroska без полного ремультиплексирования, mkvpropedit умеет удалять все теги или только определённую область.
Перед массовой очисткой важно понять, что под словом «метаданные» пользователь может иметь в виду разные вещи. Segment title, язык дорожки, имя дорожки, главы, глобальные теги, статистические теги и вложения — отдельные сущности. Команда «удалить теги» не обязана очищать title или chapters. И наоборот, удаление вложений не удаляет текст субтитров, но может лишить ASS необходимых шрифтов.
Если задача — привести библиотеку к единой политике, лучше составить точный список: какие элементы оставить, какие удалять, какие языки считать допустимыми, какие флаги устанавливать. После этого правило можно реализовать через Preferences для ручной обработки или через mkvmerge/mkvpropedit для пакетной.
Настройка правил по умолчанию в Preferences
Разделы Multiplexer в Preferences позволяют убрать значительную часть ручной рутины. Можно определить, какие элементы включать при добавлении файла, ограничить автоматическое включение дорожек определёнными языками, задать некоторые default values и поведение после завершения задания. Эти настройки не меняют файлы сами по себе: они формируют начальное состояние каждого нового Multiplexer.
Хороший пример — пользователь всегда сохраняет только русский и английский звук, а глобальные теги никогда не переносит. Вместо того чтобы вручную отключать одинаковые элементы в каждом эпизоде, можно настроить Enabling items и языковой фильтр. После этого всё равно нужно быстро просматривать результат распознавания: файл с неправильно размеченным языком может быть исключён ошибочно.
Для субтитров есть отдельная логика default flag. Во многих библиотеках не хотят, чтобы полные субтитры включались автоматически, поэтому GUI позволяет не назначать им default-флаг по умолчанию. Для видео и аудио программа ведёт себя осторожнее, потому что отсутствие основного потока может привести к необычному выбору в проигрывателях.
Показывать командную строку перед автоматизацией
Меню Multiplexer → Show command line показывает, как текущая конфигурация будет выражена в аргументах mkvmerge. Это полезно не только программистам. По команде можно понять, какой флаг соответствует конкретному переключателю GUI, какой track ID используется и где в порядке аргументов применяется параметр.
Если нужно добавить в каждый новый файл нестандартную опцию, которую GUI напрямую не отображает, в Preferences есть поле default command line options, а в Output — дополнительные параметры для конкретного задания. Пользоваться этим следует аккуратно: дополнительная опция может дублировать настройку интерфейса или противоречить ей. Сначала проверьте итоговую команду, затем протестируйте один файл.
Для длинных наборов аргументов mkvmerge умеет читать options file в JSON-формате. Это снижает проблемы экранирования в оболочке и делает конфигурацию воспроизводимой. Особенно полезно на Windows, где кавычки, обратные слеши и не-ASCII имена иногда делают BAT-команды трудно читаемыми.
Работа с Blu-ray-плейлистами
MKVToolnix умеет работать с MPLS-плейлистами нешифрованных Blu-ray. При добавлении соответствующего плейлиста программа может собрать потоки, относящиеся к выбранной последовательности M2TS, и прочитать главы. Это удобнее ручного объединения десятков транспортных сегментов, потому что плейлист уже описывает порядок воспроизведения.
Если добавить главный файл структуры диска, GUI может просканировать плейлисты и предложить выбор. На диске нередко присутствуют десятки MPLS: основной фильм, короткие версии, дополнительные материалы, варианты с разными углами. Ориентироваться только на длительность недостаточно; полезно сверять число глав, набор дорожек и размер связанного контента.
Шифрование и защита диска не снимаются MKVToolnix. Программа работает с доступными ей данными и не является инструментом обхода DRM. Если исходные M2TS/MPLS недоступны для чтения обычным способом, сначала должна быть решена законная задача получения читаемого источника другим подходящим инструментом.
Производительность: чего ожидать без выдуманных цифр
При обычном ремультиплексировании основной объём работы — прочитать входные данные, разобрать контейнер, сформировать новые служебные структуры Matroska и записать выход. Поэтому скорость нередко упирается в накопитель, сетевое хранилище и файловую систему сильнее, чем в процессор. На SSD локальная операция может завершаться заметно быстрее, чем на медленном NAS, даже если компьютер в обоих случаях один и тот же.
Нагрузка на CPU обычно значительно ниже, чем при перекодировании H.264/H.265/AV1. Но «без перекодирования» не означает «без вычислений»: программа анализирует потоки, пересчитывает временные метки, строит cues, главы и статистические теги, а при сложных входах выполняет дополнительный парсинг. На файлах с большим числом дорожек и вложений или при глубоком сканировании TS идентификация тоже может занимать ощутимое время.
Если источник и выход лежат на одном медленном HDD, головкам приходится чередовать чтение и запись. На больших файлах это может заметно снизить скорость. Перенос временной работы на SSD или чтение с одного диска с записью на другой часто даёт более стабильный поток данных, но точный выигрыш зависит от оборудования. Универсальной цифры «столько-то гигабайт в минуту» для MKVToolnix нет.
При работе через сеть скорость зависит от SMB/NFS, качества соединения, кэшей и серверного диска. Если сетевой ресурс нестабилен, безопаснее сначала ремультиплексировать локально, проверить результат и затем копировать готовый файл. Обрыв сети в середине записи оставит неполный выход, который не следует считать пригодным даже при наличии частично читаемых кластеров.
Кэш идентификации
GUI кэширует положительные результаты идентификации файлов, чтобы повторное добавление того же неизменившегося источника выполнялось быстрее. Это особенно заметно на больших Blu-ray-плейлистах и сетевых файлах. Кэш инвалидируется при изменении источника и при определённых изменениях версии программы. Поэтому повторное открытие знакомого файла иногда кажется мгновенным — это не означает, что программа заново полностью просканировала его.
Если идентификация ведёт себя странно после замены файла на другой с тем же именем, сначала проверьте реальное время изменения и размер. Принудительная очистка кэша не должна быть первым действием при любой ошибке; чаще причина в самом файле или доступе к нему. Но при подозрении на устаревший результат кэш можно очистить через настройки.
Как оценивать размер выходного MKV
При ремультиплексировании без перекодирования итоговый размер в основном складывается из размеров выбранных потоков плюс контейнерная служебная информация. Если из исходника убраны крупные lossless-аудиодорожки, результат закономерно уменьшится. Если добавлены PGS, несколько FLAC/TrueHD/DTS-HD дорожек и набор шрифтов, он увеличится.
Небольшое отличие от простой суммы потоков нормально. Контейнер хранит заголовки, блоки, индексы, SeekHead, cues, теги и резервное свободное место для будущего редактирования. Разные версии muxer могут организовывать эти элементы немного иначе. Поэтому сравнение файлов байт-в-байт бессмысленно как проверка качества видео.
Если размер уменьшился в два раза при конфигурации «копировать всё», это уже повод разобраться. Проверьте, не отключены ли дорожки, главы, вложения или теги; не выбран ли неправильный источник; не остановилась ли запись раньше времени. В GUI список Tracks, chapters and tags — первое место для проверки.
Типичные ошибки и способы устранения
Добавили файл вместо Append
Симптом — после попытки «склеить две части» в выходе появляются две видеодорожки или два звука, которые начинаются одновременно. Причина проста: второй файл был добавлен параллельно, а не присоединён последовательно. Контейнер честно получил несколько потоков на одной временной шкале.
Исправление: удалите второй источник из текущих настроек, выделите первый и используйте команду append. Затем проверьте схему сопоставления дорожек. Если части действительно имеют одинаковую структуру, стандартное сопоставление обычно подходит. Если нет — сначала решите, какие потоки второй части должны продолжать какие потоки первой.
Append даёт рассинхрон или разрыв
У частей могут отличаться временные базы, длительности потоков или момент последней метки. В default append mode смещение новой дорожки рассчитывается с учётом максимальной временной метки предыдущего файла. Для независимо созданных MP4/AVI это обычно разумно. Для кусков одного исходного потока иногда лучше track-based подход.
Перед переключением append mode проверьте более очевидные причины: разные версии монтажа, различную частоту кадров, отсутствующий звук в конце первой части, дополнительную заставку и несовпадающие наборы дорожек. Режим расчёта времени не исправит содержательную разницу.
Если зелёный экран или декодер теряет изображение после стыка, проблема может быть в несовместимых параметрах битового потока, даже если codec name одинаков. Простой append не перекодирует вторую часть и не приводит SPS/PPS/VPS или другие параметры к первой. В таком случае нужен другой способ подготовки источников.
Субтитры отображаются кракозябрами
Почти всегда проблема касается текстового исходника и его кодировки. Старый SRT может быть сохранён в Windows-1251, а программа или система интерпретировала его иначе. Выберите субтитровую дорожку и явно задайте правильный charset перед мультиплексированием. После записи в Matroska текст хранится в Unicode-представлении, поэтому исправлять проблему лучше до создания контейнера.
Если только часть символов неправильна, откройте исходный SRT в редакторе, который показывает фактическую кодировку. Иногда файл уже был испорчен предыдущим неправильным преобразованием; простая смена параметра чтения тогда не восстановит потерянные символы. Нужен корректный оригинал или ручное исправление текста.
ASS выглядит иначе на другом устройстве
Сначала проверьте вложенные шрифты. Если нужного семейства нет, рендерер подставляет замену. Затем учитывайте, что разные libass-версии и встроенные движки телевизоров могут по-разному поддерживать сложные эффекты. MKVToolnix не рендерит субтитры, а только сохраняет дорожку и вложения.
Если нужна гарантированно одинаковая картинка в любом проигрывателе, субтитры придётся прожечь в видео средствами кодирования, но это уже другая задача и потеря переключаемости. Для обычной медиатеки предпочтительнее сохранить ASS как отдельную дорожку и подобрать совместимый плеер.
Проигрыватель выбирает не ту аудиодорожку
Проверьте язык, default flag и commentary/visual impaired признаки. Затем проверьте настройки самого проигрывателя: Matroska-флаги являются сигналами выбора, а не жёсткой командой. Плеер может учитывать предпочтительный язык пользователя и собственные правила.
Если две дорожки имеют одинаковый язык и обе отмечены default, результат зависит от реализации. Для предсказуемости оставьте default у основной, задайте ясные имена и специальные флаги у альтернативных. После изменения существующего MKV эту правку можно сделать через Header editor без полного remux.
Forced-субтитры включаются неправильно
Forced display flag не анализирует содержимое. Если полный SRT помечен forced, проигрыватель может автоматически показать все реплики. Нужно использовать отдельную дорожку, содержащую только действительно обязательные надписи, и пометить её appropriately. MKVToolnix не умеет автоматически выделить «иностранную речь» из полного файла субтитров.
Иногда на диске forced-сегменты представлены внутри PGS-потока с внутренними признаками, а контейнерный флаг используется иначе. Поведение зависит от источника и плеера. Поэтому после remux стоит проверить сцену, где forced-текст точно должен появиться, и сцену с обычным диалогом.
После удаления вложений сломались субтитры
Если удалены TTF/OTF, ASS продолжит существовать, но стиль может измениться. Верните нужные шрифты из исходного файла или резервной копии. Если изначально неизвестно, какие используются, сравните имена Fontname в секции Styles и inline-переопределениях с именами вложенных файлов. Имя файла и внутреннее имя семейства могут отличаться, поэтому иногда требуется открыть свойства шрифта.
Не стоит удалять вложения в пакетном режиме только потому, что они кажутся «мусором». Для файлов с простыми SRT они, возможно, действительно не нужны, но в аниме, караоке и сложных ASS шрифты являются частью оформления.
Header editor не может быстро сохранить изменение
Matroska допускает редактирование служебных элементов на месте, но это зависит от структуры файла и доступного EbmlVoid. Если новый заголовок не помещается в существующее свободное место, элемент может потребоваться переместить. На очень больших или необычно сформированных MKV это занимает дольше ожидаемого.
Если файл создан инструментом, который не оставил удобной структуры seek/void, mkvpropedit может перейти к более дорогой работе; полный parse mode также резко увеличивает чтение. При повторяющихся проблемах простой remux через mkvmerge часто нормализует структуру контейнера и создаёт файл, который затем удобнее редактировать.
Файл после прямого редактирования не нравится конкретному приложению
Некоторые проигрыватели и системные приложения менее терпимы к допустимым, но нетипичным вариантам расположения элементов Matroska. После серии in-place правок Header editor или mkvpropedit файл может оставаться корректным для MKVToolnix и большинства плееров, но давать сбой в конкретном приложении.
Практическое средство — выполнить обычный remux в новый MKV без дополнительных изменений. mkvmerge перепишет контейнер в своей нормальной структуре. После этого снова проверяют проблемный проигрыватель. Если remux помогает, причина была в контейнерном расположении элементов, а не в кодированном видео.
Ошибки чтения, прав доступа и кэша
Сообщения вроде «cannot open file for reading», «cannot create output file» или «saving cache failed» относятся не к кодекам, а к файловой системе. Проверьте существование каталога, права пользователя, длину и допустимость пути, доступность сетевого ресурса, свободное место и возможность создать временные файлы.
Для контейнеризированных неофициальных сборок на NAS дополнительно важны UID/GID, смонтированные каталоги и права на configuration/cache directory. Сам MKVToolnix не управляет настройками стороннего Docker-образа. Если GUI запущен через чужой контейнер и не может записать кэш, проблему следует искать в конфигурации этого образа.
На Windows ошибка записи поверх открытого файла может быть вызвана тем, что плеер, медиасервер, антивирус или индексатор держит дескриптор. Закройте приложения, использующие файл, и пишите результат в отдельное имя. На Linux и macOS права каталога и read-only mount проверяются стандартными системными средствами.
Как проверять результат после каждого серьёзного remux
- Сверьте количество видео-, аудио- и субтитровых дорожек.
- Проверьте язык, имена, default/forced и специальные флаги.
- Откройте начало, середину и конец видео; отдельно проверьте места append и split.
- Проверьте главы в меню плеера и несколько переходов по ним.
- Для ASS протестируйте сцену со сложным оформлением и убедитесь, что шрифты вложены.
- Для HDR/Dolby Vision проверьте режим на целевом устройстве, а не только факт воспроизведения.
- Убедитесь, что длительность разумна и файл не обрывается раньше конца.
- Если исходник важен, удаляйте его только после этой проверки и резервного копирования.
Эта последовательность занимает минуты и ловит большинство ошибок, которые не видны по статусу «completed». MKVToolnix корректно выполнит именно заданную конфигурацию; он не знает, что пользователь случайно снял нужную дорожку или выбрал неправильный язык.
Теги и статистические метаданные Matroska
Теги Matroska сложнее привычного набора «ключ — значение» у простых контейнеров. Они могут относиться ко всему сегменту, конкретной дорожке, главе или комбинации целей. Связь строится через уникальные идентификаторы, а не через визуальные номера дорожек. Поэтому бездумное копирование XML-тегов из одного файла в другой может оставить ссылки на несуществующие UIDs.
В мультиплексоре можно подключить global tags XML, а дорожкам назначить свои файлы тегов. При remux существующие теги обычно переносятся, если пользователь их не отключил. Для очистки есть отдельные опции no-track-tags и no-global-tags. Это полезно, когда нужно убрать технические статистические записи, но сохранить chapters и другие элементы.
mkvpropedit умеет добавить или пересчитать track statistics tags. Они могут хранить продолжительность, число кадров и объём данных для конкретного потока. Наличие таких тегов не влияет на качество воспроизведения. Некоторые медиасканеры используют их для дополнительной информации, другие игнорируют. Если библиотека должна быть минималистичной, их можно удалить, но не путайте это с реальным удалением дорожек.
Языковые теги: почему встречаются eng, rus и en-US
В Matroska исторически существует старое поле Language с трёхбуквенными ISO 639-2 кодами и современное LanguageIETF с BCP 47. BCP 47 позволяет точнее обозначать варианты: например, региональные и письменные формы. MKVToolnix принимает современные теги и, где возможно, автоматически выводит соответствующее старое значение для совместимости.
При редактировании через mkvpropedit изменение обычного свойства language обычно синхронно обновляет и современное языковое поле. Есть отдельные команды, если требуется влиять только на LanguageIETF. Для обычной медиатеки вручную разделять эти поля не нужно; достаточно задать корректный язык через GUI.
Наличие языка «eng» по умолчанию в низкоуровневом выводе иногда сбивает с толку: в Matroska некоторые элементы имеют спецификационные значения по умолчанию и могут физически отсутствовать в файле. Инструмент при этом интерпретирует их как установленное значение. Поэтому отсутствие строки в одном дампе не всегда означает отсутствие логического свойства.
Детерминированный режим и воспроизводимость
В командном mkvmerge есть режим deterministic, предназначенный для получения побайтно одинакового результата при одинаковой версии программы, одинаковых библиотеках, идентичных входных файлах, тех же параметрах и одном seed. Он полезен в системах сборки и проверках, где хэш результата должен быть воспроизводим.
Для бытового remux этот режим не нужен. Обычные выходные MKV могут отличаться служебными значениями, порядком некоторых генерируемых идентификаторов или датой, оставаясь функционально эквивалентными. Сравнивать хэши двух remux и делать вывод о «качестве» по различию нельзя.
WebM-режим: когда он уместен
WebM — ограниченный профиль контейнера на базе Matroska. Если цель — именно WebM для веб-публикации или системы, требующей этот формат, в Output включается соответствующий режим. Программа проверяет, что используемые кодеки и элементы допустимы для WebM. Это проверка контейнерной совместимости, а не конвертация кодеков.
Если исходное видео H.264 и аудио AAC, простой флажок WebM не превратит их в VP9/Opus. Для этого потребуется перекодирование внешним кодером. MKVToolnix целесообразно применять на финальном шаге, когда совместимые потоки уже подготовлены.
Сохранение конфигураций и повторное использование настроек
GUI позволяет сохранять текущие настройки мультиплексора и открывать их позже. Это удобнее, чем каждый раз повторять длинную конфигурацию с несколькими внешними дорожками, именами, языками и параметрами split. Сохранённая конфигурация содержит ссылки на файлы, поэтому после переноса каталогов пути могут перестать существовать.
Для долгоживущих процессов лучше хранить не только файл настроек GUI, но и текстовое описание правила: какие дорожки считаются основными, какие языки разрешены, как формируется имя выхода. Тогда конфигурацию можно восстановить даже после смены версии программы или структуры каталогов.
Пакетная обработка сериалов
Если все серии устроены одинаково, задача хорошо автоматизируется. Сначала берут одну серию и вручную настраивают идеальный результат. Затем через Show command line получают базовую команду. Скрипт подставляет имена входных и выходных файлов, а правила выбора дорожек либо фиксируются по ID, либо вычисляются через JSON-идентификацию.
Фиксированные ID надёжны только при стабильной структуре. Если в одном эпизоде внезапно отсутствует комментарий, все последующие ID могут отличаться. Более устойчивый скрипт сначала читает mkvmerge -J, находит дорожки по сочетанию type, language, track_name и другим свойствам, проверяет ожидания, а уже затем создаёт команду. При неоднозначности лучше остановить конкретный файл, чем молча выбрать неверную дорожку.
В GUI без скриптов можно открыть несколько файлов как отдельные multiplex settings, применить массовые действия и добавить всё в Job queue. Это медленнее полноценной автоматизации, но безопаснее для библиотеки, где структура эпизодов не совсем одинакова.
Использование при подготовке медиатеки
Для Plex, Jellyfin, Kodi и локальных проигрывателей MKVToolnix удобен как нормализатор структуры. Можно привести языки к корректным значениям, дать понятные имена дорожкам, убрать дубликаты, оставить нужные субтитры и встроить шрифты. Это повышает предсказуемость выбора потока в клиентах, хотя каждый медиасервер всё равно имеет собственные правила.
Не следует пытаться хранить в названии дорожки всё, что можно выразить отдельными флагами. Строка «English 5.1 Commentary Hearing Impaired Default» хуже структурированных language, commentary и других полей. Понятное короткое имя оставляют для различий, которые не описываются стандартными признаками.
После нормализации стоит пересканировать один файл медиасервером и посмотреть, как клиент отображает дорожки. Если клиент игнорирует какой-то Matroska-флаг, это ограничение клиента, а не обязательно ошибка контейнера. В таких случаях приходится учитывать реальное поведение используемого приложения.
Когда MKVToolnix не подходит
Программа не заменяет видеоредактор. У неё нет монтажной таймлинии с визуальными клипами, эффектами, переходами и keyframe-анимацией. Parts и split дают контейнерное разбиение, но не обеспечивают покадровую точность между ключевыми кадрами и не показывают художественный стык.
MKVToolnix не перекодирует видео в другой codec и не уменьшает разрешение. Нельзя выбрать «H.265, 8 Мбит/с» или «1080p» и получить новый поток. Для этого используют FFmpeg, HandBrake, видеоредактор или другой кодировщик, а MKVToolnix при необходимости применяют после кодирования для сборки контейнера.
Он также не является полноценным tag editor в GUI. Главы редактируются отдельным инструментом, заголовки и ряд свойств — Header editor, но универсального графического редактора Matroska tags и универсального графического extractor нет. В сложных случаях консольные утилиты становятся обязательной частью рабочего процесса.
Совместимость проигрывателей и устройств
Корректный Matroska-файл и совместимый с конкретным устройством файл — не одно и то же. Телевизор может принимать MKV, но не понимать PGS, DTS-HD, ASS, AV1 или конкретный профиль HEVC. MKVToolnix не может исправить такое ограничение без изменения кодека, а перекодированием он не занимается.
Перед массовой подготовкой медиатеки для одного телевизора сделайте эталонный файл с теми же типами дорожек, что будут использоваться дальше. Проверьте воспроизведение, переключение аудио, субтитры, chapters, перемотку и HDR. После этого уже имеет смысл обрабатывать сотни файлов по тому же шаблону.
Перемотка зависит, среди прочего, от cues и структуры контейнера. mkvmerge обычно формирует необходимые индексы автоматически. Если старый или сторонний файл плохо перематывается, обычный remux в новый MKV иногда исправляет навигацию без перекодирования самих потоков.
Практические правила безопасной работы
- Не редактируйте единственную копию важного файла на месте без резервной копии.
- Пишите remux в новое имя и удаляйте исходник только после проверки.
- Различайте add и append до запуска длительной операции.
- Проверяйте язык и default/forced-флаги, а не только порядок дорожек.
- Не удаляйте шрифты из ASS-релиза, пока не убедились, что они не используются.
- Для пакетных скриптов сначала анализируйте структуру через JSON и валидируйте ожидания.
- При split учитывайте ключевые кадры; MKVToolnix не обещает монтажную точность на каждом кадре.
- Сложные HDR/Dolby Vision файлы проверяйте на реальном целевом устройстве.
- Сохраняйте журналы предупреждений до завершения проверки результата.
Эти правила важнее отдельных «магических настроек». Большинство проблем при работе с контейнерами связано не с повреждением кодированного видео, а с неверно выбранной дорожкой, неправильным флагом, неподходящей схемой append или ошибкой при массовой автоматизации.
Сравнение с аналогами
MKVToolnix удобно сравнивать не по числу «функций вообще», а по типу задачи. Он специализирован на структуре Matroska и ремультиплексировании. ВидеоМОНТАЖ решает другую категорию задач — визуальный монтаж и обработку кадра. FFmpeg перекрывает многие контейнерные операции через командную строку и дополнительно умеет перекодирование. LosslessCut использует FFmpeg как основу, но даёт визуальную шкалу времени для без потерь нарезки и операций с потоками.
| Задача | MKVToolnix | ВидеоМОНТАЖ | FFmpeg | LosslessCut |
|---|---|---|---|---|
| Собрать MKV из готовых дорожек | Основной сценарий, с детальными флагами Matroska | Ориентирован на монтаж и экспорт проекта | Да, через streamcopy и mapping | Да, поддерживает remux и работу с потоками |
| Удалить ненужные дорожки без перекодирования | Да, выбором Copy this item | Не является его основной контейнерной задачей | Да, через -map и -c copy |
Да, через панель tracks |
| Редактировать язык и флаги дорожек | Да, в Multiplexer и Header editor | Не специализирован на Matroska-флагах | Да, через metadata/disposition | Да, для метаданных и disposition потоков |
| Главы Matroska | Отдельный Chapter editor, XML и генерация | Не центр рабочего процесса | Можно копировать и задавать через метаданные | Есть редактор встроенных MKV/MP4 chapter marks |
| Вложения и шрифты ASS | Отдельная вкладка Attachments и mkvpropedit | Не специализирован на вложениях MKV | Возможности зависят от muxer и команды | Может извлекать вложения и работать с потоками |
| Визуальная нарезка по шкале времени | Нет таймлинии; split/parts задаются параметрами | Да, монтажный интерфейс | Нет графической шкалы в самой утилите | Да, с превью, waveform и keyframe-переходами |
| Переходы, титры, цветокоррекция | Нет | Да: переходы, титры, эффекты, коррекция и стабилизация | Да через фильтры, но требует команды и перекодирования | Типичные lossy-эффекты не являются основой программы |
| Хромакей и наложение видео | Нет | Да, заявлены хромакей и наложение видео | Возможно фильтрами | Не относится к базовым lossless-операциям |
| Перекодирование | Не основной функционал; mux без кодирования | Экспортирует обработанный проект в видеоформаты | Один из ключевых сценариев | Может перекодировать отдельные потоки, но фокус на lossless |
| Пакетная автоматизация | Сильная: CLI, JSON identify, очередь GUI | Ориентирован на ручной проект | Сильная командная автоматизация | Есть CLI/API, но интерфейс прежде всего интерактивный |
MKVToolnix и ВидеоМОНТАЖ
Если задача звучит как «смонтировать ролик, обрезать кадр, наложить текст, переход, музыку, стабилизировать изображение или заменить фон хромакеем», нужен видеоредактор. ВидеоМОНТАЖ как раз предлагает монтаж, кадрирование, цветокоррекцию, стабилизацию, переходы, титры и хромакей. Для такого рабочего процесса контейнерные свойства MKV — лишь финальная техническая часть экспорта.
Если исходное видео уже готово, а требуется убрать лишний звук, добавить несколько внешних субтитров, правильно назначить языки и default/forced-флаги, вложить шрифты и сохранить всё без повторного кодирования, MKVToolnix решает задачу напрямую. Использование полноценного монтажного редактора здесь добавит лишний этап и может привести к ненужному перекодированию.
MKVToolnix и FFmpeg
FFmpeg через streamcopy умеет менять контейнер, выбирать потоки, переносить и править metadata без декодирования. Он шире по форматам и, если понадобится, тут же может перейти к перекодированию и фильтрам. Но для человека, который регулярно работает именно с Matroska, MKVToolnix даёт более предметные инструменты: отдельный Header editor, Chapter editor, визуальный список вложений, детальные Matroska-флаги и специализированные утилиты.
В автоматизации выбор зависит от инфраструктуры. Если уже есть FFmpeg-скрипты для анализа, трансформации и кодирования, иногда проще оставить remux там же. Если нужна строгая работа с Matroska UIDs, chapters XML, attachments и mkvpropedit, набор MKVToolnix обычно выражает такие операции прямее.
MKVToolnix и LosslessCut
LosslessCut ближе к пользователю, которому нужна визуальная без потерь нарезка. Он показывает таймлинию, превью, waveform, позволяет прыгать по ключевым кадрам, удалять и переставлять сегменты, а также управлять потоками и remux. Поэтому грубый монтаж записей без перекодирования в нём часто нагляднее, чем ввод диапазонов parts в MKVToolnix.
MKVToolnix, в свою очередь, глубже ориентирован на Matroska как контейнер. Когда главная задача — главы, attachments, track flags, in-place header editing и пакетная обработка через специализированные mkv*-утилиты, его структура оказывается естественнее. Эти программы могут дополнять друг друга: LosslessCut — для визуального выбора границ, MKVToolnix — для финальной сборки и нормализации MKV.
Кому подходит MKVToolnix
Программа особенно полезна владельцам локальных медиатек, архивистам, переводчикам и сабберам, тем, кто готовит рипы, хранит несколько языков и вариантов субтитров, а также пользователям, которым нужно массово нормализовать MKV без повторного кодирования. Она требует понимания разницы между контейнером и кодеком, но после освоения этой модели большинство операций становится предсказуемым.
Для разовой задачи достаточно GUI: добавить источники, выбрать элементы, настроить свойства, запустить remux. Для сотен файлов лучше перейти к mkvmerge -J, mkvmerge, mkvpropedit и скрипту с валидацией. Такой переход не меняет логику — он лишь переносит те же решения из интерфейса в автоматизацию.
Итоговый рабочий подход
Начинать работу с MKVToolnix стоит не с вопроса «какую кнопку нажать», а с описания желаемой структуры результата: какое видео оставить, какие аудиодорожки нужны, какие субтитры должны быть default или forced, нужны ли chapters, теги и шрифты, требуется ли append или просто параллельное добавление. После этого интерфейс становится логичным отражением структуры будущего контейнера.
Для новых файлов используйте Multiplexer, для исправления свойств существующего MKV — Header editor или mkvpropedit, для глав — Chapter editor, для диагностики — Info tool/mkvinfo, для извлечения — mkvextract. Разделение по времени и главам подходит для грубой без потерь нарезки, но не заменяет покадровый монтаж. После каждой сложной операции проверяйте дорожки, флаги, главы, синхронизацию и воспроизведение на целевом устройстве — это быстрее, чем искать ошибку уже после массовой обработки библиотеки.
