MKV Batch Multiplexer позволяет взять настроенную в MKVToolNix команду mkvmerge как шаблон и применить её сразу к серии однотипных файлов: пакетно добавлять и исключать дорожки, задавать языки и флаги, подключать субтитры и вложения, менять порядок треков и выпускать готовые MKV в отдельную папку. Программа проверяет структуру источников, формирует очередь заданий, показывает вывод mkvmerge, фиксирует ошибки и умеет переименовывать результаты по шаблону или регулярному выражению.
Главная идея здесь отличается от привычной пакетной очереди, где каждое видео приходится настраивать отдельно. Сначала один типовой файл доводят в MKVToolNix до нужного состояния: выбирают дорожки, языки, порядок, флаги, внешние субтитры, вложения и каталог назначения. Затем в меню мультиплексора открывают показ командной строки и копируют полученную команду. MKV Batch Multiplexer разбирает её, определяет источники и выходной шаблон, находит остальные файлы в тех же каталогах и строит набор аналогичных команд для всей серии.
Такой подход особенно полезен для сезонов сериалов, архивов лекций, многосерийных релизов и других коллекций, где структура файлов повторяется. При этом программа не пытается угадывать творческий замысел пользователя и не перекодирует медиапотоки: она автоматизирует уже сформулированную операцию mkvmerge. Чем однороднее исходные папки и чем аккуратнее подготовлен эталонный файл, тем предсказуемее проходит пакетная обработка.
Скачать MKV Batch Multiplexer
- Конвертация видео
- Сжатие файлов
- Просто для новичков
- Зависит от MKVToolNix
- Нужен шаблон команды
- Чувствителен к структуре
Для чего нужен MKV Batch Multiplexer
MKV Batch Multiplexer решает узкую, но очень практичную задачу: повторяет одну и ту же операцию мультиплексирования для большого числа файлов. Если вручную в MKVToolNix нужно открыть двадцать серий, снять одинаковые флажки с ненужных дорожек, добавить по одному файлу субтитров, выставить одинаковый язык и каждый раз выбрать каталог вывода, то здесь достаточно один раз подготовить образец. Программа рассматривает команду mkvmerge как шаблон и подставляет в неё следующие файлы из соответствующих папок.
Это важно понимать буквально. MKV Batch Multiplexer не является альтернативным видеоредактором и не заменяет настройки самого MKVToolNix. Он не предлагает собственную матрицу кодеков, не сжимает H.264 или HEVC, не конвертирует звук в AAC и не исправляет рассинхронизацию. Все параметры мультиплексирования задаются там, где пользователь обычно задаёт их для одного файла, а затем шаблон переносится на остальные элементы набора.
В типичном сценарии исходная папка содержит одинаково устроенные эпизоды, отдельная папка — соответствующие субтитры или вторую версию MKV, а третья папка предназначена для результата. Первый эпизод служит эталоном. Если в нём выбран японский звук, английские ASS-субтитры, нужные шрифты и определённый порядок дорожек, программа старается воспроизвести эту структуру для следующих эпизодов. Для однородной коллекции это снимает большую часть ручной работы.
Сильная сторона такого подхода — перенос всей совокупности опций mkvmerge, а не только пары заранее предусмотренных переключателей. Если команда, сформированная MKVToolNix, содержит параметры языка, default/forced-флаги, порядок дорожек, названия треков, внешние источники или вложения, они становятся частью шаблона. Слабая сторона вытекает из того же принципа: нужно понимать, что именно было настроено в MKVToolNix, и следить, чтобы остальные файлы действительно соответствовали эталону.
Как программа получает шаблон из MKVToolNix
Подготовка эталонного файла
Работу начинают не в MKV Batch Multiplexer, а в мультиплексоре MKVToolNix. В него добавляют один файл из будущей серии и все дополнительные источники, которые должны участвовать в результате. Это могут быть отдельные SRT или ASS, другая MKV с нужной дорожкой, файлы вложений или любая другая комбинация, которую mkvmerge способен обработать. Важно, чтобы именно этот первый проект представлял желаемый результат для всей коллекции.
На этом этапе полезно не торопиться. Следует проверить порядок дорожек, язык каждой дорожки, флаг дорожки по умолчанию, forced-флаг, имя дорожки и каталог назначения. Если исходные данные уже содержат ненужные аудио- или субтитровые потоки, их исключают в самом MKVToolNix. Если требуется добавить новую дорожку, её подключают к эталону там же. MKV Batch Multiplexer затем повторит не абстрактное сделать правильно, а конкретные параметры сформированной команды.
Документация программы отдельно подчёркивает выбор выходного каталога до копирования команды. Причина проста: путь к результату входит в шаблон, и именно по нему пакетный инструмент понимает, куда выпускать новые MKV. Если оставить назначение непродуманным, можно получить корректные команды, но неудобную организацию результатов.
Команда Show command line
Когда эталон настроен, в MKVToolNix используется команда Multiplexer → Show command line. Она показывает фактический вызов mkvmerge со всеми параметрами текущего задания. Этот текст копируют в буфер обмена и затем вставляют в MKV Batch Multiplexer кнопкой Paste. Таким образом между программами передаётся не проект в собственном формате, а уже готовая командная строка.
Для разборщика важна корректная структура команды. В вики проекта перечислены три базовых признака ожидаемого шаблона: наличие параметра --output, как минимум одного источника и параметра --track-order. Если этих элементов нет или строка не соответствует тому виду, который генерирует MKVToolNix GUI, команда может не пройти начальную проверку.
Сообщение Command looks ok. означает только то, что синтаксический каркас распознан. Это не гарантия успешной обработки каждого эпизода. Часть проверок выполняется позже, когда программа уже читает каталоги, сопоставляет количество файлов и сравнивает структуру дорожек. Поэтому хорошая практика — после вставки команды использовать встроенные диагностические инструменты, а не сразу запускать десятки гигабайт исходников.
Подготовка папок и порядок сопоставления файлов
Самая важная особенность MKV Batch Multiplexer — он связывает элементы разных источников не по совпадению имён, а по позиции в естественной сортировке. Это позволяет работать с коллекциями, где основной файл называется, например, Show - S01E01.mkv, а субтитр — sub01.ass. Но такая свобода требует дисциплины: первый файл из папки A будет соединён с первым файлом из папки B, второй — со вторым и так далее.
Используется natural sort, то есть последовательность File 1, File 2, File 10 воспринимается в человеческом порядке, а не как обычная алфавитная сортировка, где 10 могло бы оказаться перед 2. Для серий с номерами это снижает риск очевидных перестановок, но не отменяет проверки. Если в одной папке отсутствует эпизод, а в другой он присутствует, все последующие пары могут оказаться неправильными.
Документация рекомендует по возможности держать разные типы источников в раздельных каталогах. Если в операции участвуют два файла одного типа, например две MKV с разными наборами дорожек, их особенно важно разнести по разным папкам. Внутри одного каталога разбор строится по расширениям, поэтому смешивание нескольких одинаковых классов источников усложняет однозначное соответствие.
Для внешних субтитров или аудио количество элементов должно соответствовать количеству основных видео. Если в сезоне тринадцать видео и команда использует по одному SRT на эпизод, программа ожидает тринадцать подходящих SRT. Пакетная обработка специально устроена так, чтобы не задавать пользователю интерактивные вопросы на каждой серии: все соответствия должны быть подготовлены заранее.
Пример структуры с одним каталогом источников
| Основной каталог | Результат |
|---|---|
| Episode 01.avi + Episode 01.srt | Episode 01.mkv |
| Episode 02.avi + Episode 02.srt | Episode 02.mkv |
| Episode 03.avi + Episode 03.srt | Episode 03.mkv |
Такой вариант допустим, когда файлы разных типов легко отличить по расширению. Тем не менее для сложной задачи, где используются несколько наборов MKV, ASS, аудио и вложений, раздельные каталоги прозрачнее. Они позволяют глазами проверить количество элементов и быстрее понять, какая именно папка соответствует конкретному источнику в шаблоне.
Пример с раздельными каталогами
| Видео | Субтитры | Назначение |
|---|---|---|
| video-S01E01.avi | sub01.srt | video-S01E01.mkv |
| video-S01E02.avi | sub02.srt | video-S01E02.mkv |
| video-S01E03.avi | sub03.srt | video-S01E03.mkv |
Здесь видно принцип программы: названия субтитров не обязаны повторять названия видео. Значение имеет их позиция после сортировки. Это удобно для старых релизов, где файлы из разных источников имеют несовместимые схемы именования, но одновременно делает контроль полноты папок обязательной частью подготовки.
Вкладка Command: от вставки до запуска
Основная вкладка называется Command. В верхней части находится строка для команды mkvmerge и кнопка Paste. После вставки разборщик показывает сообщения в большом поле вывода. Если базовая структура распознана, становятся доступны действия для добавления задания, перехода к переименованию, постановки в очередь и диагностики.
Paste
Paste переносит командную строку из системного буфера обмена. Документация ожидает, что она получена именно через MKVToolNix GUI, а не написана вручную с произвольным форматированием. Ручная команда может быть логически корректной для mkvmerge, но не соответствовать шаблону, который умеет разбирать программа.
Add Command
Add Command создаёт задание со статусом Waiting. Оно появляется на вкладке Jobs, но ещё не обязательно входит в рабочую очередь. Этот вариант полезен, когда нужно собрать несколько разных шаблонов, проверить их список и только потом отправить ожидающие задания на выполнение.
Add Queue
Add Queue сразу добавляет команду в таблицу заданий и в очередь. Если рабочий процесс уже запущен, новое задание будет обработано после тех, что стоят перед ним. Благодаря этому можно продолжать готовить следующие шаблоны, пока выполняется текущая пачка.
Start Worker
Start Worker запускает обработчик очереди. Он последовательно передаёт сформированные команды mkvmerge и обновляет состояние заданий. Очередь особенно полезна, когда для одного проекта нужно выполнить несколько разных операций: например, отдельно обработать два сезона с разными каталогами или сначала серию с внешними субтитрами, а затем другую серию с дорожками из второй MKV.
Rename
Rename переводит к вкладке переименования до запуска задания. Это важно именно до начала пакетной операции: пользователь может заранее увидеть предполагаемые имена результата и при необходимости отменить шаблон переименования.
Диагностика команды до обработки
На вкладке Command есть отдельная группа кнопок, которые предназначены не для непосредственного мультиплексирования, а для выяснения того, как программа поняла шаблон. Эти инструменты существенно уменьшают риск ситуации, когда ошибка обнаруживается только после обработки десятков файлов.
Analysis
Analysis показывает результаты разбора командной строки. Это первый инструмент, если после вставки что-то выглядит подозрительно: не активируются кнопки, программа не видит ожидаемые источники или пользователь сомневается, правильно ли распознаны параметры. Анализ помогает отделить ошибку синтаксиса шаблона от проблемы в содержимом папок.
Commands
Commands выводит команды в том виде, в котором они будут передаваться подпроцессу. Практическая ценность этой функции в том, что можно увидеть уже не только исходный шаблон, но и список сформированных вызовов для серии. Если путь к одному из файлов неожиданно подставился не из той папки или порядок источников получился неверным, это заметно до запуска.
Check Files
Check Files проверяет наборы источников и отмечает команды, которые не проходят тест согласованности. Документация указывает, что проблемные элементы не должны обрабатываться. В более новых вариантах интерфейса вывод этой проверки также помогает увидеть, какие файлы были прочитаны из исходных каталогов и что уже находится в каталоге назначения.
Эта проверка особенно важна для коллекций с особенными эпизодами. Например, у большинства серий есть одна аудиодорожка, а у одной — дополнительный комментарий; у одного эпизода отсутствуют субтитры; в одном релизе дорожки переставлены местами. Без проверки подобные отклонения трудно заметить по именам файлов, а именно они чаще всего нарушают пакетный шаблон.
Clear Output и Reset
Clear Output очищает текущее поле сообщений, не меняя саму логику задания. Reset сбрасывает содержимое окон вывода. Эти кнопки полезны при последовательной отладке нескольких шаблонов: можно очистить старые сообщения и анализировать только результат текущей команды.
Очередь Jobs и состояния заданий
Вкладка Jobs показывает задания текущего сеанса в виде таблицы. Важнейшее поле — статус. По нему видно, ожидает ли операция постановки в очередь, выполняется ли она сейчас, завершена ли, пропущена, прервана или остановилась с ошибкой.
| Статус | Что означает | Что делать |
|---|---|---|
| Waiting | Задание создано, но ещё не поставлено на выполнение | Добавить в очередь или при необходимости пометить Skip |
| Queue | Задание ожидает своей очереди | Запустить Worker либо дождаться завершения предыдущего |
| Running | Текущее задание выполняется | Следить за Jobs Output и прогрессом |
| Done | Обработка задания завершена | Проверить итоговые MKV |
| Skip | Задание исключено из обработки | Вернуть в Waiting/Queue, если пропуск был временным |
| Aborted | Работа была остановлена пользователем | Проверить частичный результат и при необходимости запустить заново |
| Error | При выполнении возникла ошибка | Открыть Jobs Errors и проверить диск, структуру и пути |
Ожидающие задания можно массово поставить в очередь кнопкой Queue Waiting Jobs. Clear Queue возвращает задания из очереди в состояние ожидания, чтобы Worker их не запускал. Start Queue или соответствующая кнопка запуска начинает обработку.
Для аварийной остановки предусмотрены разные уровни. Abort Current Job предназначен для прекращения текущего задания; документация отмечает, что незавершённый файл, который обрабатывается в этот момент, удаляется, а уже завершённые результаты сохраняются. Abort Jobs останавливает текущую работу и снимает оставшиеся задания очереди. Такая модель удобнее, чем принудительное завершение процесса mkvmerge через диспетчер задач, потому что приложение понимает, какое состояние присвоить заданиям.
Jobs Output: что смотреть во время мультиплексирования
Jobs Output показывает текст, который выдаёт mkvmerge во время обработки. Здесь можно увидеть, какой демультиплексор определён для каждого источника, какие модули вывода выбраны для дорожек, какой файл открыт на запись и как меняется прогресс. Для пользователя, привыкшего к графическому MKVToolNix, это полезное окно контроля: пакетная оболочка не скрывает фактический вывод базового инструмента.
Когда задача простая, достаточно дождаться строки о завершении мультиплексирования и статуса Done. При сложных источниках имеет смысл просматривать вывод хотя бы для первого эпизода: там быстро обнаруживаются неожиданный тип субтитров, неправильный путь, пропущенный источник или иное отличие от эталонного файла.
Особенно внимательно стоит относиться к ситуациям, когда команда формально завершилась, но полученный файл не соответствует ожиданию. Успех mkvmerge означает, что контейнер удалось собрать, однако не гарантирует, что пользователь выбрал правильную дорожку, правильный эпизод или синхронные источники. MKV Batch Multiplexer автоматизирует повторение команды, а смысловое соответствие коллекции остаётся зоной контроля пользователя.
Jobs Errors и проверка структуры
Jobs Errors предназначена для сообщений о несоответствиях и ошибках. В документации приведён пример, где один AVI содержит только видеодорожку, тогда как базовый файл содержит видео и звук. Такая серия не является логически эквивалентной эталону: количество дорожек отличается, поэтому строгий алгоритм не должен бездумно применять к ней тот же порядок.
Сообщение об ошибке содержит данные о файле, формате, дорожках, порядке, типе и языке, а затем сравнение с базовым источником. Это делает диагностику предметной. Вместо общего не удалось можно увидеть, что у конкретной серии нет второй дорожки или что структура находится не на той позиции, которая ожидалась по шаблону.
Статус Error может иметь и более прозаическую причину. В документации прямо упоминается заполненный диск назначения. Поэтому при большой пачке стоит заранее оценить свободное место: ремультиплексирование обычно не перекодирует потоки и сохраняет близкий объём данных, а значит десятки исходных MKV требуют сопоставимого пространства для второй копии коллекции.
Три алгоритма работы с несовпадающей структурой
В проекте описаны три алгоритма, которые по-разному ведут себя, когда текущий файл отличается от эталона. Их смысл не в качестве изображения или скорости, а в степени допустимой автоматической адаптации команды. Выбор алгоритма определяет, должна ли программа остановиться при расхождении или попытаться подобрать наиболее похожие дорожки.
Algorithm 0: строгая эквивалентность
Algorithm 0 придерживается самого консервативного правила. Если структура не проходит проверку, команда для такого файла не выполняется. Результат у успешно прошедших элементов максимально близок к структуре, заданной эталонной командой. Такой режим удобен, когда приоритет — не допустить тихой подмены дорожек и проще отдельно исправить несколько нестандартных эпизодов.
Практический плюс строгого подхода хорошо виден в сезонных коллекциях. Если после обработки в каталоге назначения не хватает конкретного эпизода, это сразу сигнализирует о файле, который был помечен как проблемный. Пользователь может открыть именно его в MKVToolNix, посмотреть, чем он отличается, и обработать отдельно.
Algorithm 1: подбор подходящих дорожек
Algorithm 1 пытается найти дорожки, которые лучше всего соответствуют базовому файлу, и скорректировать команду. Неиспользуемые в исходном шаблоне дорожки могут быть проигнорированы. Если подходящего соответствия нет, выполнение для проблемного файла всё равно не должно продолжаться. Этот алгоритм допускает больше неоднородности, чем нулевой, но сохраняет требование получить структуру, близкую к эталону.
Для текста и звука важным признаком сопоставления является язык, а не только формат. В документации приводится пример, где у эталона английская FLAC-дорожка, а у текущего файла английская AC3: по языку она может быть выбрана как соответствующая. Это полезно в коллекциях, где кодек дорожки меняется между сериями, но смысловая роль дорожки остаётся прежней.
Algorithm 2: наиболее допускающий отклонения
Algorithm 2 идёт дальше: если подбор по правилам Algorithm 1 не удаётся, недостающие соответствия могут быть проигнорированы, а команда всё же выполнена. Это позволяет обработать наборы с неполной структурой, но цена — меньшая предсказуемость. Документация предупреждает, что результат может отличаться от эталона и требует ручной проверки.
Характерный пример — аудиокомментарий, который есть только в части эпизодов. Если шаблон ожидает обычный звук и комментарий, а некоторые серии содержат лишь основной звук, строгая схема остановится. Более гибкий режим может пропустить отсутствующую дорожку и собрать контейнер без неё. Такой выбор оправдан только тогда, когда пользователь понимает, какое различие считается допустимым.
Как сопоставляются видео, звук и субтитры
В старых пакетных сценариях часто встречается опасная привычка полагаться на номер дорожки: вторая всегда английская, третья всегда комментарий. MKV Batch Multiplexer проверяет структуру и в алгоритмах адаптации учитывает смысловые признаки. Для аудио и текстовых дорожек важен язык, что помогает пережить смену кодека при сохранении роли дорожки.
Для видеодорожек язык в проверке не используется. Это логично для обычных релизов, где видеопоток не несёт языковой семантики. Но если коллекция экзотическая и в контейнере несколько видеодорожек, решение всё равно требует внимательной настройки эталона и проверки результата.
При этом программа не проверяет длительность источников как критерий соответствия. В вики отдельно сказано, что вопросы синхронизации остаются на пользователе. Два файла могут быть одинаково устроены по количеству и типам дорожек, но происходить из разных монтажей, иметь разную заставку или смещение по времени. Пакетный инструмент не способен из одной команды понять, что внешний звук относится к другой версии эпизода.
Поэтому для совмещения внешних субтитров или звука разумно сначала проверить первый и один-два произвольно выбранных эпизода в начале, середине и конце сезона. Если источники взяты из одного и того же релиза, вероятность стабильной синхронизации выше. Если происхождение разное, соответствие нужно доказывать отдельно, а не считать следствием одинаковых имён.
Имена выходных файлов и защита от перезаписи
Имя результата строится на основе первого медиаресурса в шаблоне. Для следующих элементов программа использует соответствующие файлы из каталога, сохраняя логику именования серии. В результате удобнее использовать основной видеофайл как источник, чьё имя уже подходит для будущего MKV.
Операция задумана как недеструктивная. Если в каталоге назначения уже существует файл с тем же именем, он не должен быть молча перезаписан. В документации описано добавление префикса new-; при повторных коллизиях префикс может получать номер вроде new1, new2 и далее. Это защищает существующий результат, но не освобождает от уборки каталога перед повторным запуском.
Такая защита полезна при тестировании. Можно прогнать несколько эпизодов, проверить их, затем повторить задание после изменения шаблона и сравнить варианты. Но в большой коллекции накопление new--файлов быстро запутывает каталог, поэтому для финальной обработки лучше использовать чистую папку назначения.
Переименование результатов
Вкладка Rename Files предназначена для приведения выходных имён к единой схеме. Это особенно полезно для сериалов, где исходники могут содержать теги группы, нестандартные пробелы, голый номер серии или разные разделители. Переименование выполняется до пакетного запуска, поэтому предполагаемые имена можно просмотреть заранее.
Простой индекс без регулярных выражений
Для простого случая предусмотрен специальный подход с символом * в поле регулярного выражения. В строке подстановки можно использовать индекс вида <i: 01>. Он заменяется последовательным номером с указанным начальным значением и заполнением нулями. Например, шаблон Series Name - S02E<i: 01> формирует S02E01, S02E02, S02E03 и так далее.
Такой способ удобен, если порядок файлов уже правильный, а извлекать номер из исходного имени нет необходимости. Он также показывает, почему перед переименованием нужно проверить natural sort: индекс выдаётся по позиции, поэтому случайно пропущенный или неправильно отсортированный файл сдвинет последующие номера.
Регулярные выражения
Для более сложных имён используется механизм регулярных выражений Python. Можно выделить группы в исходной строке и собрать новое имя из нужных частей. В документации приведён пример, где из имени извлекаются название серии и номер эпизода, а затем формируется форма Series Name - S01E07. Такой метод лучше индекса, когда в папке могут отсутствовать некоторые серии: номер берётся из каждого имени, а не зависит от позиции.
На практике регулярное выражение стоит сначала проверить на небольшом наборе. Поля Original names и Rename to позволяют сравнить старые и будущие имена до применения. Если шаблон ошибочен, кнопка Undo позволяет отменить операцию до запуска пакетного процесса.
Также доступна возможность перетаскивать файлы в область Original files и переименовывать уже существующие файлы на диске. Это расширяет вкладку за пределы имён будущего задания, но пользоваться такой функцией следует особенно осторожно: речь уже идёт о реальном переименовании файлов, а не только о формировании названий результата.
CRC-32 в именах файлов
Для выходных файлов предусмотрена опция вычисления CRC-32 и добавления контрольной суммы в конец имени. Такой формат часто встречается в коллекциях, где по имени удобно сверять целостность файла после копирования. Контрольная сумма не меняет содержимое MKV и не служит криптографической подписью; это практический идентификатор, который быстро выявляет случайное изменение данных.
Функция логично сочетается с Rename Files: сначала задаётся схема имени, затем к ней может быть добавлен CRC-32. Если планируется публикация или каталогизация архива, лучше заранее определить, нужен ли этот суффикс, потому что последующее массовое переименование уже готовых файлов затронет имена, по которым медиасервер или сторонние программы могли построить свои записи.
Настройки интерфейса и журналирование
В настройках доступны язык интерфейса, шрифт и размер, журналирование и связанные параметры. В документации указаны английский и испанский языки. Русская локализация не заявлена, поэтому названия кнопок и вкладок в инструкции обычно приводятся в оригинальном виде.
При включённом журналировании приложение сохраняет лог в профиле пользователя и использует ротацию журналов. Отдельная опция Enable log viewer добавляет вкладку просмотра лога прямо в окне. Это удобно, если проблема возникает не в mkvmerge как таковом, а в разборе команды, чтении источников или работе очереди.
В интерфейсе также присутствуют параметры истории заданий и автоматического сохранения заданий. Их ценность особенно заметна при повторяемых проектах, где одни и те же каталоги и шаблоны используются регулярно. Однако перед тем как полагаться на сохранённое состояние, стоит помнить, что папки могли измениться: история задания не подтверждает, что сегодняшнее содержимое источников такое же, как при прошлом запуске.
Restore Defaults возвращает параметры интерфейса к исходным значениям. Отдельная настройка восстановления исходного размера окна полезна, если программа запомнила неудобную геометрию после работы на другом мониторе или при другом масштабировании.
Практический сценарий: AVI и внешние SRT
Один из документированных сценариев — серия AVI с видео и звуком плюс отдельные английские SRT. Целью становится MKV, где исходные видео и аудио копируются без перекодирования, а субтитры добавляются как отдельная текстовая дорожка. Для эталона в MKVToolNix загружают первый AVI и первый SRT, уточняют языки, выбирают каталог назначения и копируют командную строку.
В MKV Batch Multiplexer команда проходит проверку, после чего её добавляют в очередь. Программа читает остальные AVI и SRT из каталога в natural sort и создаёт пары по позиции. Если в папке пять AVI и пять SRT, а структура AVI одинакова, серия обрабатывается одним заданием. Главное условие — не должно быть пропущенного субтитра, иначе соответствие последующих файлов перестанет быть очевидным.
После запуска вкладка Jobs Output показывает работу mkvmerge с каждым эпизодом. Проверять стоит не только статус Done, но и фактический результат: язык субтитров, их включение по умолчанию при необходимости и синхронизацию. Поскольку продолжительность не участвует в проверке шаблона, корректность тайминга SRT подтверждается воспроизведением.
Практический сценарий: MKV плюс ASS из отдельной папки
Другой документированный вариант использует готовые MKV и отдельные ASS/SSA. В исходном MKV уже есть видео, звук и, возможно, текстовая дорожка; внешние ASS нужно добавить и поставить в нужную позицию, например сделать английскую ASS дорожкой по умолчанию. Такой проект удобно организовать тремя каталогами: исходные MKV, внешние ASS и результаты.
В MKVToolNix на первом эпизоде выбирают порядок дорожек, язык и default-флаг новой ASS. Затем копируют команду. При пакетной обработке важна не похожесть имён, а одинаковое количество и natural sort. Поэтому Show Title - S01E01.mkv может успешно сочетаться с 01.ENG.ass, если оба файла занимают первую позицию в своих каталогах.
Этот сценарий хорошо показывает границу ответственности программы. Она переносит настройку дорожек и запускает mkvmerge, но не анализирует текст субтитров и не определяет, действительно ли файл 01.ENG.ass относится к конкретной серии. Если каталоги собраны неверно, технически допустимое мультиплексирование может дать содержательно неправильную пару.
Практический сценарий: две MKV и вложенные шрифты
Более сложный пример — два набора MKV. Первый содержит желаемые видео и звук, второй — альтернативные субтитры и прикреплённые шрифты, необходимые для их корректного оформления. В эталонном проекте MKVToolNix пользователь выбирает нужную субтитровую дорожку из второго файла и оставляет требуемые вложения.
Для такого проекта источники одного типа обязательно лучше разнести по двум папкам. Тогда первая позиция каталога A соединяется с первой позицией каталога B, вторая — со второй. Если смешать обе версии в одном каталоге, автоматическому разбору сложнее понять, какие два файла образуют логическую пару.
Особое внимание уделяют вложениям. Документация указывает, что для некоторых схем один и тот же набор attachments может использоваться для всех операций; для индивидуальных вложений требуется отдельная организация каталогов. Если субтитры используют конкретные шрифты, после мультиплексирования полезно открыть несколько результатов в MKVToolNix или медиаплеере и убедиться, что attachments действительно присутствуют.
Практический сценарий: удалить одинаковые лишние дорожки из сезона
Хотя интерфейс MKV Batch Multiplexer не содержит отдельной кнопки удалить вторую аудиодорожку, задача решается через шаблон mkvmerge. В MKVToolNix открывают первый эпизод, снимают выбор с ненужных дорожек и оставляют только те, которые должны попасть в результат. Скопированная команда уже описывает нужный набор, а пакетная программа переносит эту селекцию на остальную серию.
Здесь особенно важна проверка структуры. Если во всех эпизодах нежелательная дорожка находится в одинаковой логической позиции, строгий алгоритм даёт предсказуемый результат. Если в нескольких сериях появляется дополнительный комментарий или меняется язык, простое предположение удалить дорожку №3 становится опасным. Перед массовым запуском следует выполнить Check Files и посмотреть, какие элементы помечены как отличающиеся.
Для коллекций с небольшим числом исключений зачастую безопаснее оставить Algorithm 0, обработать большинство автоматически, а несколько нестандартных эпизодов провести через MKVToolNix отдельно. Это занимает чуть больше времени, но уменьшает риск незаметно удалить полезный звук.
Практический сценарий: поменять default и forced без перекодирования
Флаги дорожек — один из удобных примеров, когда ремультиплексирование полезнее перекодирования. Если во всех файлах нужно сделать определённый звук или субтитры дорожкой по умолчанию, настройку задают в эталонном мультиплексоре, получают команду и применяют к набору. Поскольку сами медиапотоки копируются, качество видео и аудио не меняется из-за установки флагов.
Но смысл флага должен быть одинаковым во всей коллекции. Если язык дорожек обозначен непоследовательно или в части эпизодов нужная дорожка отсутствует, алгоритм сопоставления становится критически важным. Установка default-флага на похожую дорожку без проверки способна изменить поведение воспроизведения не так, как ожидалось.
Практический сценарий: комментарии присутствуют не в каждом эпизоде
Коллекции с режиссёрскими или авторскими комментариями — классический пример неоднородной структуры. Допустим, десять эпизодов содержат основной звук, а четыре из них дополнительно имеют commentary. Если эталон выбран из числа файлов с комментариями, строгая проверка обнаружит недостаток дорожки в остальных сериях.
Здесь возможны два пути. Первый — создать отдельные задания для двух групп: эпизоды с комментариями и без них. Такой подход наиболее прозрачен, потому что каждый пакет остаётся однородным. Второй — воспользоваться более гибким алгоритмом, который способен игнорировать отсутствующее соответствие. Второй вариант экономит подготовку, но требует проверки каждого помеченного файла.
Разделение коллекции на однородные группы обычно проще для последующего контроля. Оно делает шаблон очевидным и не превращает автоматическую адаптацию в источник скрытых различий. Гибкие алгоритмы лучше оставлять для ситуаций, где различие действительно ожидаемо и хорошо понятно.
Практический сценарий: привести имена сезона к SxxExx
Если медиасервер ожидает имена вида Series Name - S01E01.mkv, а исходники названы непоследовательно, переименование можно встроить в пакетный процесс. Для последовательного набора достаточно индексного шаблона. Для коллекции с пропущенными сериями безопаснее регулярное выражение, которое извлекает номер из исходного имени.
Перед применением нужно сравнить столбцы Original names и Rename to. Особое внимание стоит уделить нулевому заполнению, номеру сезона и расширению. Ошибка в одном символе может не помешать мультиплексированию, но создаст проблемы для медиатеки, которая связывает эпизоды с метаданными по имени.
Если используется CRC-32 в названии, лучше включить его уже после того, как базовая схема SxxExx проверена. Тогда легко отличить логическую часть имени от контрольной суммы и избежать сложных регулярных выражений при последующей сортировке.
Форматы и границы поддержки
MKV Batch Multiplexer не реализует собственный набор демультиплексоров и кодеков; фактическую работу выполняет mkvmerge. Поэтому правильнее говорить не о закрытом списке форматов программы, а о форматах, которые способен принять текущий MKVToolNix и которые корректно описаны в эталонной команде. В официальных примерах проекта встречаются AVI, MKV, SRT и ASS/SSA, а выходом служит Matroska MKV.
Из этого следует полезное правило: если один файл успешно собирается в MKVToolNix с нужными настройками, MKV Batch Multiplexer потенциально может автоматизировать повторение той же операции для однородного набора. Но пакетная оболочка добавляет собственные ограничения на структуру каталогов, количество источников и сопоставление элементов. Успех одиночного mux в MKVToolNix необходим, но недостаточен для успешной пачки.
При появлении нового или необычного контейнера разумно сначала проверить один эталон вручную, затем выполнить Analysis и Check Files, и только после этого добавлять большую очередь. Такой порядок отделяет проблемы формата от проблем пакетной логики.
Что программа не делает
- Не перекодирует видео и аудио. Если исходный кодек несовместим с нужным устройством, одного ремультиплексирования недостаточно.
- Не исправляет рассинхронизацию автоматически. Разная длительность или монтаж источников требуют отдельной проверки и настройки задержек в MKVToolNix.
- Не сопоставляет файлы по смыслу имени. Пары формируются по позиции после сортировки, а не по распознанному номеру эпизода.
- Не гарантирует одинаковую структуру коллекции. Она умеет проверять и частично адаптироваться, но нестандартные эпизоды всё равно требуют контроля.
- Не заменяет MKVToolNix для настройки операции. Шаблон сначала создаётся в мультиплексоре MKVToolNix.
- Не оценивает качество субтитров, перевода или звука. Технически корректная дорожка может быть содержательно не той.
Эти ограничения не являются недостатком самой идеи. Напротив, за счёт узкой специализации программа делает предсказуемой именно пакетную часть процесса. Пользователь настраивает содержание одного задания в знакомом инструменте, а MKV Batch Multiplexer отвечает за воспроизведение этой операции на наборе файлов.
Скорость работы и использование диска
При обычном ремультиплексировании mkvmerge копирует медиапотоки в новый контейнер без полного перекодирования, поэтому процесс принципиально отличается от видеоконвертации. Основная нагрузка связана с чтением исходников и записью нового MKV, а не с длительным кодированием каждого кадра. Однако конкретная скорость зависит от накопителя, количества источников, размера файлов и операций самого mkvmerge; фиксированных значений программа не обещает.
Пакетная очередь обрабатывает задания последовательно. Это удобно для контроля и уменьшает риск одновременной записи нескольких огромных файлов на один диск. Если источники и назначение находятся на одном медленном накопителе, одновременные операции всё равно не дали бы гарантированного выигрыша, а последовательная модель делает журнал и статусы понятнее.
Свободное место нужно оценивать заранее. Даже если из исходного контейнера удаляются несколько дорожек, итоговый файл часто остаётся сопоставимым по объёму с оригиналом. Для безопасной миграции большой медиатеки лучше иметь достаточно места для исходников и результатов одновременно, пока новые файлы не проверены.
Почему исходники лучше не удалять сразу
В описании алгоритмов прямо рекомендуется не стирать оригиналы, пока новые файлы не просмотрены или хотя бы не проверены в плеере. Это особенно важно при Algorithm 1 и 2, где программа может адаптировать выбор дорожек к отклоняющейся структуре. Даже технически успешный результат способен оказаться не тем, что ожидал пользователь.
Безопасный порядок таков: сформировать результаты в отдельной папке, проверить случайную выборку и все файлы, которые были отмечены как нестандартные, затем убедиться в наличии нужных аудио, субтитров, вложений и корректных флагов. Только после этого имеет смысл заменять архив или переносить новые файлы в основную медиатеку.
Если места мало, лучше обрабатывать коллекцию частями: один сезон или одну папку за раз. Так проще сохранить резервный путь отката и не оказаться в ситуации, когда исходники уже удалены, а ошибка шаблона обнаружилась в середине большой библиотеки.
Типичные ошибки и способы решения
Команда не принимается после Paste
Сначала убедитесь, что строка скопирована через Multiplexer → Show command line в MKVToolNix. Затем проверьте наличие выходного файла, источника и --track-order. Если строка была вручную сокращена, отредактирована в текстовом редакторе или получена из другого скрипта, проще заново сформировать эталон в GUI.
Command looks ok, но задание всё равно падает
Начальная проверка подтверждает лишь формат команды. Используйте Analysis, затем Check Files. Сравните количество файлов в каждом исходном каталоге и убедитесь, что natural sort даёт правильное соответствие. Если один из эпизодов имеет другую структуру дорожек, он может быть помечен уже на более позднем этапе.
Субтитры попали не к тем сериям
Причина почти всегда в позиционном сопоставлении. Сравните отсортированные списки обеих папок. Ищите пропущенный эпизод, дополнительный файл, образец, трейлер, файл с иным расширением или номер без нулевого заполнения, который меняет порядок. Не полагайтесь на внешнее сходство имён — программа не связывает пары по имени.
Один эпизод не обработан из-за структуры
Откройте его и эталон в MKVToolNix или MediaInfo и сравните количество и тип дорожек. Если отличие случайное, безопаснее обработать файл отдельно. Если отличие ожидаемое и встречается систематически, разделите коллекцию на две однородные группы или осознанно выберите Algorithm 1/2.
В части файлов отсутствует дорожка комментариев
Не стоит заставлять строгий шаблон считать такие эпизоды одинаковыми. Создайте отдельное задание для файлов с commentary либо используйте гибкий алгоритм и затем проверьте все помеченные результаты. Для большой библиотеки первый способ чаще проще для контроля.
Результат не синхронен
Пакетная проверка не сравнивает длительность источников. Если внешний звук или субтитры происходят из другого релиза, настройте задержку или растяжение в MKVToolNix на эталоне и подтвердите, что та же поправка подходит другим эпизодам. Если смещение отличается от серии к серии, пакетный шаблон для этой коллекции не подходит.
Файл уже существует в папке назначения
Программа не должна перезаписывать существующий файл: имя получает префикс new- и при повторных коллизиях номер. Если это не тестовый прогон, лучше очистить каталог назначения или выбрать новый, чтобы не смешивать варианты.
Задание получает Error во время записи
Проверьте свободное место и доступность каталога назначения. Затем откройте Jobs Output и Jobs Errors. Если диск заполнен, освобождение места и повторный запуск обычно понятнее, чем попытка продолжать частично записанный файл.
Пути содержат необычные символы
В журнале изменений 3.x отдельно упоминалось исправление путей с одинарными кавычками, а среди известных проблем отмечались случаи с не-ANSI символами в именах и внутренних строках. Если команда странно разбирается на конкретном пути, временный тест в каталоге с простыми латинскими именами помогает понять, связано ли поведение именно с символами пути.
На Linux приложение не видит медиаданные
В описании проекта отмечалось, что многие проблемы Linux были связаны с доступностью MediaInfo. В современных сборках часть зависимостей встраивается, но при запуске из исходников или нестандартной упаковки стоит проверить наличие MediaInfo и корректность окружения. Проблема чтения структуры файлов не должна маскироваться под ошибку mkvmerge.
Как читать журнал, если проблема неочевидна
Лог помогает восстановить цепочку событий до ошибки: разбор команды, обнаруженные каталоги, найденные файлы, проверка структуры, сформированный вызов mkvmerge и его ответ. Это особенно полезно, когда GUI показывает только итоговый статус, а причина связана с одним конкретным источником.
Начинайте с номера задания и пути к проблемному файлу. Затем сравните Base Source и Source: количество дорожек, их порядок, тип, формат и язык. Если различие ожидаемое, можно решить, нужен ли другой алгоритм; если неожиданное — проще исправить исходный каталог. После этого проверьте сформированную команду и только затем сообщения самого mkvmerge.
Такой порядок экономит время: нет смысла искать ошибку контейнера в mkvmerge, если ещё на этапе Check Files программа показывает, что второй каталог содержит на один файл меньше. И наоборот, если структура признана корректной, а mkvmerge сообщает об ошибке записи, нужно смотреть диск и путь назначения, а не алгоритм сопоставления дорожек.
Организация большой медиатеки перед запуском
Для сотен файлов главный риск — не отдельная команда, а загрязнённая структура каталогов. До создания шаблона полезно убрать из рабочих папок посторонние образцы, трейлеры, текстовые документы и временные копии с теми же расширениями, которые участвуют в разборе. Каждая папка должна представлять одну роль в будущем задании.
Хорошая схема имён также облегчает ручную проверку natural sort. Нумерация с одинаковым количеством разрядов — E01, E02, E10 — читается однозначно. Даже если natural sort умеет работать с 1, 2, 10, единообразие помогает быстрее заметить пропуск.
Если библиотека неоднородна по структуре, не пытайтесь непременно провести её одной очередью. Разделите файлы по логике: например, обычные эпизоды, эпизоды с commentary, спецвыпуски. Для каждой группы создайте собственный эталон. Количество шаблонов увеличится, зато проверка каждого пакета станет намного надёжнее.
Оптимальная последовательность действий
- Выберите один типичный файл и убедитесь, что его структура действительно характерна для группы.
- Подготовьте все рабочие папки и сравните количество файлов в связанных источниках.
- Откройте первый набор в MKVToolNix и настройте будущий контейнер целиком.
- Укажите отдельный каталог назначения.
- Скопируйте команду через Show command line.
- Вставьте её в MKV Batch Multiplexer и дождитесь сообщения о корректном разборе.
- Запустите Analysis и Check Files.
- Если нужны новые имена, настройте Rename Files и просмотрите результат до применения.
- Добавьте задание в очередь и запустите Worker.
- Следите за первым файлом через Jobs Output.
- После завершения проверьте все элементы с ошибками и несколько обычных результатов.
- Только после проверки переносите результат в основную медиатеку.
Такая последовательность кажется длиннее мгновенного нажатия Add Queue, но на большой библиотеке она экономит часы. Большинство проблем пакетной обработки возникает из-за одного пропущенного файла или неожиданной дорожки; обнаружить это до запуска намного дешевле, чем пересобирать весь сезон.
Сравнение MKV Batch Multiplexer с аналогами
| Программа | Лучше подходит для | Главное ограничение |
|---|---|---|
| MKV Batch Multiplexer | Переноса готовой команды MKVToolNix на однородные каталоги с проверкой структуры | Требует шаблона mkvmerge и аккуратного порядка источников |
| MKV Muxing Batch GUI | Графического пакетного добавления аудио, субтитров, глав и вложений с отдельными настройками | Иная модель работы: параметры задаются в собственных вкладках, а не копируются как команда MKVToolNix |
| MKVToolNix Batch Tool | Массового добавления и удаления субтитров по папкам и подпапкам | Сильнее ориентирован на субтитры и типовые библиотечные операции |
| mkvtoolnix-batch | Простого скриптового применения option-файла MKVToolNix к папке в Windows | Требует ручного редактирования JSON и batch-файла, без полноценной GUI-диагностики |
| MKVToolNix GUI | Точной настройки отдельных mux-задач и ручной очереди заданий | Не переносит один эталон автоматически на все файлы каталога |
Если задача — один раз настроить сложный эталон в MKVToolNix, а затем повторить его на сезоне с контролем структуры, MKV Batch Multiplexer наиболее естественно продолжает привычный рабочий процесс. Если важнее наглядно назначать отдельные параметры для каждого нового аудио или субтитра внутри специальной пакетной формы, MKV Muxing Batch GUI обычно понятнее. Для узкой массовой работы с субтитрами удобен MKVToolNix Batch Tool, а для автоматизации без графического интерфейса достаточно скрипта mkvtoolnix-batch или собственной оболочки вокруг mkvmerge.
Сам MKVToolNix остаётся основой всех этих сценариев. Его встроенная очередь хорошо подходит, когда каждое задание настраивается индивидуально и их немного. MKV Batch Multiplexer начинает выигрывать именно тогда, когда десятки файлов должны получить одну и ту же логическую операцию, а ручное создание отдельного задания для каждого становится главным источником ошибок и лишней работы.
Когда лучше выбрать строгий алгоритм, а когда гибкий
| Ситуация | Предпочтительный подход | Почему |
|---|---|---|
| Все эпизоды из одного релиза и имеют одинаковые дорожки | Algorithm 0 | Максимальная предсказуемость и простой поиск исключений |
| Кодек аудио меняется, но язык и роль дорожки стабильны | Algorithm 1 | Можно сопоставить дорожки по смысловому признаку языка |
| В части эпизодов отсутствует необязательный commentary | Отдельные группы или Algorithm 2 | Гибкий режим допускает пропуск отсутствующего соответствия, но требует проверки |
| Неясно, чем отличаются файлы | Algorithm 0 + Check Files | Сначала нужно понять отклонение, а не скрывать его автоматической адаптацией |
| Источники из разных изданий и возможен рассинхрон | Ручная проверка, не полагаться на пакет | Алгоритмы структуры не проверяют временное соответствие |
Главное правило — не использовать более разрешающий алгоритм только ради того, чтобы очередь дошла до конца. Ошибка, остановившая один файл, часто полезнее зелёного статуса у результата с неправильной дорожкой. Гибкость оправдана, когда различие заранее известно и пользователь понимает, какой компромисс допускается.
Работа с внешними субтитрами: практические нюансы
Для внешних SRT или ASS важно разделить три независимых вопроса: соответствие эпизоду, язык и синхронизация. Порядок в папке решает только первый технический вопрос — какой файл будет подставлен в команду. Язык задаётся в эталонном MKVToolNix или определяется параметрами дорожки, а синхронизация зависит от происхождения субтитров.
Если имя файла содержит код языка, это удобно для человека, но MKV Batch Multiplexer не должен восприниматься как интеллектуальный парсер таких имён. Он следует шаблону и порядку. Поэтому для двух языков лучше использовать две отдельные папки с одинаковым количеством элементов и понятной сортировкой, чем складывать все SRT в одну директорию и надеяться на автоматическое распознавание пары.
При использовании ASS не забывайте об используемых шрифтах. Если стили ссылаются на редкие гарнитуры, их можно вложить в Matroska через MKVToolNix. Пакетный шаблон способен повторить включение attachments, но наличие правильных файлов в исходной структуре нужно обеспечить до запуска.
Работа с несколькими аудиодорожками
Многодорожечный звук — область, где контроль структуры особенно ценен. В одном сезоне первый поток может быть оригиналом, второй дубляжом, третий комментариями; в другом эпизоде комментарий отсутствует или порядок поменян. Простое повторение номера дорожки без проверки может дать неправильный язык по умолчанию.
В эталоне следует явно назначить языки и убедиться, что они прописаны корректно в исходных файлах. Тогда Algorithm 1 получает больше информации для сопоставления. Если теги языка отсутствуют или ошибочны, лучше сначала исправить метаданные либо разбить коллекцию на группы, чем ожидать надёжной автоматической догадки.
При добавлении внешнего аудио проверяется тот же принцип количества файлов. На десять видео нужно десять соответствующих аудиофайлов, если шаблон использует по одному внешнему источнику на эпизод. Отсутствие одной серии в середине набора — повод остановиться и привести каталоги в порядок.
Вложения, главы и дополнительные данные
Matroska позволяет хранить не только видео, звук и субтитры, но и вложения, главы, теги и служебные данные. MKV Batch Multiplexer не предлагает отдельного редактора этих сущностей, однако команда mkvmerge может включать их, поэтому они становятся частью шаблона. Это позволяет, например, повторить перенос шрифтов из второго набора MKV или применить одинаковую структуру глав.
Для attachments документация делает важное различие. Если одни и те же файлы вложений используются для всех результатов, их можно брать как общий источник. Если вложения уникальны для каждого эпизода, структура каталогов должна отражать это различие. Пустой набор для конкретного эпизода тоже лучше представлять явно, чтобы позиционное соответствие не сдвигалось.
При сложных вложениях полезно проверить не только воспроизведение, но и сам контейнер в MKVToolNix. Плеер может иметь нужный шрифт установленным в системе и тем самым скрыть факт, что attachment в MKV не попал. Проверка структуры контейнера показывает реальный состав файла.
Как избежать ошибок natural sort
Естественная сортировка решает распространённую проблему с числами, но не все проблемы именования. Например, файлы Episode 1, Episode 2, Episode 10 идут ожидаемо, однако дополнительный Episode 2 sample всё равно попадёт рядом и изменит позицию. То же относится к спецвыпускам с буквенными суффиксами.
Перед обработкой удобно получить простой список имён из каждого каталога и визуально сравнить их построчно. Если ряд длинный, хотя бы сравните количество и контрольные точки: первый, последний, несколько позиций в середине. Для двух папок с одинаковой нумерацией любые расхождения обычно видны сразу.
Не стоит специально переименовывать все источники одинаково только ради программы, если текущие имена уже сортируются правильно. Но временная рабочая копия с чистыми именами бывает полезна для коллекций, собранных из нескольких разнородных источников.
Проверка результата после очереди
Успешная очередь — это завершение автоматизации, но не контроль качества. Для каждого задания стоит проверить число выходных файлов и сравнить его с ожидаемым. Затем открыть несколько MKV в MKVToolNix или MediaInfo и убедиться в порядке дорожек, языках, флагах, названиях и наличии вложений.
Все файлы, которые были помечены как имеющие отличающуюся структуру, проверяются в первую очередь. При Algorithm 2 желательно проверить каждый такой результат. Если коллекция большая и однородная, для обычных файлов достаточно разумной выборки: начало, середина, конец и несколько случайных эпизодов.
Для субтитров и внешнего звука нужна ещё проверка воспроизведением. Контейнер может быть структурно правильным, но тайминг — нет. Несколько минут просмотра в характерных местах помогают обнаружить постоянное смещение или ошибочный релиз.
Когда MKV Batch Multiplexer действительно экономит время
Программа особенно полезна там, где ручная настройка одного файла занимает немного времени, но повторять её приходится десятки раз. Например, убрать один и тот же дубляж из двадцати эпизодов, добавить по одной ASS, выставить одинаковый язык и default-флаг, перенести шрифты и разложить результат в новую папку. Подготовка эталона занимает столько же, сколько один обычный mux, а остальные задания строятся автоматически.
Если же каждый файл уникален — разные дорожки, разные задержки, разный набор источников, разные имена и отдельные решения по каждому эпизоду — преимущество исчезает. В таком случае автоматизация начинает требовать больше исключений, чем экономит кликов, и проще использовать MKVToolNix напрямую.
Хороший критерий пригодности — возможность сформулировать правило одной фразой: сделать с каждым файлом то же самое, что с первым. Если эта фраза верна и источники действительно однородны, MKV Batch Multiplexer попадает точно в свой класс задач.
Частые вопросы
Можно ли использовать программу без MKVToolNix?
Практический рабочий процесс построен вокруг команды mkvmerge, сформированной MKVToolNix. Само мультиплексирование выполняет mkvmerge, поэтому без него основной смысл инструмента теряется.
Можно ли просто указать папку и нажать удалить все субтитры?
Отдельной универсальной кнопки для такой операции нет. Нужно настроить один файл в MKVToolNix так, чтобы ненужные дорожки не попадали в результат, скопировать команду и применить её к набору.
Сохраняется ли качество видео?
При обычном mux потоки копируются без полного перекодирования, поэтому качество само по себе не снижается. Если в эталонной команде нет операции, требующей отдельной перекодировки внешним инструментом, MKV Batch Multiplexer её не добавляет.
Почему программа требует одинаковую структуру?
Потому что одна команда должна быть безопасно перенесена на многие файлы без ручного вопроса для каждого. Проверка структуры снижает риск того, что параметр, рассчитанный на одну дорожку, будет применён к другой.
Можно ли соединять файлы с разными именами?
Да, имена между каталогами не обязаны совпадать. Сопоставление строится по позиции в natural sort, поэтому количество и порядок важнее текстового совпадения.
Что делать, если один эпизод отличается?
Сначала выяснить характер отличия через Check Files и Jobs Errors. Затем либо обработать эпизод отдельно, либо создать для группы отличающихся файлов отдельный шаблон, либо осознанно использовать Algorithm 1/2.
Можно ли добавлять шрифты для ASS?
Да, если они включены в команду mkvmerge как вложения. Для одинакового набора шрифтов его можно повторять, а для уникальных вложений требуется аккуратно организовать источники.
Есть ли русский интерфейс?
В документированных настройках перечислены English и Español. Русская локализация не заявлена, поэтому названия элементов интерфейса в руководствах обычно остаются английскими.
Почему после повторного запуска появились файлы с new-?
Это защита от перезаписи уже существующего результата. При совпадении имени программа использует префикс, а при дальнейших коллизиях может нумеровать его.
Можно ли доверять статусу Done без проверки?
Done подтверждает завершение задания, но не смысловую корректность выбранных источников и синхронизацию. После большой пачки всё равно стоит проверить структуру и воспроизведение выборки файлов.
Зачем нужен Log Viewer, если есть Jobs Output?
Jobs Output показывает прежде всего вывод выполняемых mux-задач, а журнал содержит более широкий контекст работы приложения: разбор команды, внутренние проверки, состояние очереди и служебные сообщения. При непонятной ошибке они дополняют друг друга.
Можно ли переименовать файлы без запуска mux?
На расширенной вкладке Rename поддерживается перетаскивание существующих файлов для переименования и добавления CRC-меток. Это отдельная операция, поэтому перед применением нужно особенно внимательно проверить будущие имена.
Итоговый рабочий профиль программы
MKV Batch Multiplexer лучше всего рассматривать как специализированную оболочку над уже настроенной командой mkvmerge. Он не скрывает от пользователя логику MKVToolNix, а масштабирует её: один эталон превращается в очередь для десятков файлов, при этом сохраняются диагностические окна, проверка структуры, статусы, журнал, переименование и несколько стратегий поведения при отличиях дорожек.
Для аккуратно организованной медиатеки это даёт редкое сочетание гибкости и контроля. Можно использовать практически весь потенциал настроенного mux, не переписывая длинные команды вручную и не создавая десятки отдельных проектов. Но автоматизация действительно надёжна только тогда, когда пользователь уважает её модель: источники отсортированы, количества совпадают, эталон проверен, а нестандартные эпизоды не маскируются ради зелёного статуса.
Если соблюдать эти условия, программа хорошо подходит для сезонной обработки MKV, добавления внешних субтитров и звука, удаления повторяющихся дорожек, переноса вложений, установки языков и флагов, приведения имён к единой схеме и других массовых операций, которые в MKVToolNix уже доказали свою корректность на одном файле.
Дополнительные рекомендации для сложных пакетных проектов
Отделяйте логическую однородность от внешнего сходства
Два файла могут называться почти одинаково и при этом иметь разный внутренний порядок дорожек. И наоборот, имена из разных релизных групп могут сильно отличаться, но структура контейнера оказывается идентичной. Для MKV Batch Multiplexer второе важнее первого. Поэтому подготовку лучше начинать не с массового переименования, а с просмотра нескольких представителей коллекции в MKVToolNix или MediaInfo.
Если в середине сезона меняется источник релиза, проверьте именно границу между группами. Часто первые десять серий собраны одинаково, а остальные получены из другого издания с дополнительным дубляжом. Один общий шаблон в такой ситуации выглядит удобным, но две отдельные очереди обычно надёжнее.
Не путайте проверку структуры с проверкой содержимого
Структурная проверка отвечает на вопрос, можно ли технически применить шаблон к похожему набору дорожек. Она не определяет, что английская дорожка действительно содержит тот перевод, который нужен, и не знает, что файл E07 случайно оказался копией E06. Для медиатеки с ценным контентом полезно сохранять исходные контрольные списки имён и объёмов, чтобы после обработки быстро заметить пропуск или дубликат.
Используйте отдельный каталог назначения как средство контроля
Отдельная папка — не только защита исходников. Она даёт чистую точку сравнения: количество файлов, имена, общий объём и структура видны отдельно от исходной коллекции. При повторном тесте можно создать ещё один каталог и сравнить два варианта, не сталкиваясь с каскадом префиксов new-.
Документируйте эталонную операцию
Для повторяемой медиатеки имеет смысл сохранить текстовое описание того, что делал эталон: какие дорожки оставлялись, какой язык назначался, какие субтитры становились default, откуда брались вложения. Через несколько месяцев по одной длинной командной строке сложнее восстановить намерение, чем по короткой памятке. Это особенно полезно, если включена история заданий и старый проект запускается снова на новом содержимом.
Проверяйте крайние случаи до полного запуска
Помимо первого эпизода полезно заранее открыть самый короткий спецвыпуск, серию с необычным названием, эпизод с commentary и файл на границе смены релиза. Если эти случаи проходят проверку и логика понятна, вероятность неожиданности в середине очереди заметно ниже. Если же они различаются, лучше сразу сформировать отдельную группу, а не надеяться на последующую автоматическую адаптацию.
Контрольный список перед многочасовой очередью
| Проверка | Зачем нужна |
|---|---|
| Количество файлов во всех парных каталогах совпадает | Исключает сдвиг соответствий после пропущенного эпизода |
| Natural sort просмотрен вручную | Выявляет sample, special и другие лишние элементы |
| Эталонный mux воспроизводится корректно | Подтверждает правильность самой команды до масштабирования |
| Каталог назначения пуст или осознанно содержит результаты | Не допускает путаницы с new- и повторными прогонами |
| Есть достаточный запас свободного места | Снижает риск Error в середине записи |
| Check Files не показывает неожиданных отклонений | Позволяет решить структурные проблемы до запуска Worker |
| Шаблон Rename просмотрен на всём списке | Предотвращает неверную нумерацию и потерю удобной схемы имён |
| Понятно, какие файлы потребуют ручной проверки | Особенно важно при Algorithm 1 и 2 |
Такой список не заменяет понимание команды, но превращает подготовку большой очереди в воспроизводимый процесс. Если работа выполняется редко, несколько минут на эти пункты обычно дешевле, чем повторная запись десятков файлов после обнаружения одной неправильной папки.
Как выбирать эталонный файл для шаблона
Качество всей автоматизации зависит от того, насколько удачно выбран первый файл. Эталон должен быть не просто первым по номеру, а типичным представителем группы. Если пилотная серия содержит лишний комментарий, альтернативную заставку, дополнительную дорожку или нестандартные субтитры, она может быть плохой основой для шаблона, даже если стоит первой в сезоне.
Перед созданием команды полезно быстро сравнить несколько эпизодов. Достаточно посмотреть число дорожек, их типы, языки и порядок. Если десять файлов устроены одинаково, а один отличается, лучше взять обычный файл в качестве эталона и нестандартный вынести в отдельную группу. Такой выбор делает дальнейшие сообщения Check Files информативнее: исключение будет отмечено как исключение, а не наоборот.
Сложнее ситуация, когда коллекция состоит из нескольких устойчивых подтипов. Например, половина эпизодов имеет один дубляж, половина — два, а специальные выпуски ещё и отличаются субтитрами. Здесь вместо одного супершаблона лучше создать три простых шаблона. MKV Batch Multiplexer позволяет держать несколько заданий в одной сессии, поэтому дробление по структуре не мешает пакетной логике.
Если задача заключается в добавлении внешнего источника, эталон выбирают с учётом обеих сторон. Нужен не только типичный основной MKV, но и типичный внешний файл: тот же формат субтитров, ожидаемая кодировка, тот же тип аудио и аналогичная структура второй MKV. Иначе команда может быть корректной для первой пары, но не отражать большинство последующих пар.
Несколько заданий в одной рабочей сессии
Разделение проекта на несколько заданий — один из главных способов сохранить управляемость. Add Command позволяет накопить набор операций со статусом Waiting, не отправляя их немедленно на выполнение. Это удобно, если сначала нужно подготовить отдельный шаблон для каждого сезона, языковой группы или типа структуры, а затем запустить их последовательно.
Например, можно создать первое задание для серий с одной аудиодорожкой, второе — для серий с комментариями, третье — для бонусных эпизодов. Все они будут видны в Jobs. После проверки их можно поставить в очередь вместе. Такой подход обычно надёжнее, чем пытаться подобрать один максимально допускающий алгоритм, который должен догадаться о каждом исключении.
Статус Waiting полезен и как промежуточная точка проверки. Пользователь видит, что команда уже принята, но обработка ещё не началась. Это время можно использовать для сравнения путей, проверки каталога назначения и настройки Rename Files. Только после этого ожидающие задания отправляются в Queue Waiting Jobs.
Если Worker уже работает, новые задания всё равно можно добавлять. Они встают за текущими и обрабатываются по порядку. Это удобно при большой медиатеке: не обязательно заранее подготовить десятки шаблонов, можно постепенно формировать следующие группы, пока текущая записывается на диск.
Как отделить ошибку шаблона от ошибки конкретного файла
В пакетной обработке важно различать два класса проблем. Ошибка шаблона означает, что неправильно сформирована сама команда: выбран не тот каталог, отсутствует ожидаемый параметр, неверно устроена логика источников. Ошибка конкретного файла означает, что шаблон в целом правильный, но один элемент коллекции отличается от остальных.
Если команда не проходит начальный разбор или Analysis показывает странную структуру, искать проблему следует в эталоне и скопированной строке. Исправление отдельных эпизодов здесь не поможет, потому что ошибка повторится для всей серии. Напротив, если Analysis выглядит нормально, большинство файлов проходит Check Files, а один помечен как несовместимый, нужно исследовать именно этот файл.
Такое разделение экономит время. Частая ошибка — после одного структурного исключения пересобирать всю команду или, наоборот, после неверного шаблона вручную исправлять десятки файлов. У программы достаточно диагностических уровней, чтобы понять, где именно возникло расхождение: до формирования списка команд, при сопоставлении источников или уже внутри mkvmerge.
Полезный практический принцип — сначала добиться безупречной работы на двух-трёх репрезентативных файлах, затем масштабировать. Если эталон и один обычный файл проходят одинаково, а нестандартный корректно выявляется проверкой, структура проекта уже понятна.
Пути, кавычки и переносимость команд
Команда mkvmerge содержит полные пути к исполняемому файлу, источникам и каталогу назначения, поэтому особенности оболочки имеют значение. Проект рассчитан на Windows с cmd.exe и Unix-подобные оболочки вроде bash или zsh, а разборщик должен корректно работать с кавычками и экранированием, которое выдаёт MKVToolNix для соответствующей среды.
Из этого следует простой совет: не редактировать вручную кавычки в строке после копирования из GUI без необходимости. То, что визуально кажется лишним символом, может быть частью экранирования пути с пробелом, скобкой или другим специальным знаком. Если нужно изменить каталог, надёжнее вернуться в MKVToolNix, выбрать новый путь и снова получить команду.
В журнале изменений отдельно исправлялась обработка путей с одинарными кавычками. Это хороший пример того, почему сложные имена каталогов лучше проверять на одном файле до запуска большой очереди. Пробелы сами по себе являются обычным случаем, но сочетание кавычек, нестандартных символов и особенностей shell иногда влияет на парсинг.
Если проект переносится между системами, не стоит считать одну и ту же текстовую команду универсальной. Пути, разделители и способ вызова mkvmerge отличаются. Логика операции может быть одинаковой, но шаблон разумнее заново сформировать в MKVToolNix на той системе, где будет выполняться пакет.
Как работать с каталогами, где смешаны разные расширения
В простом документированном примере AVI и SRT лежат рядом, и программа способна различить их по расширению. Это удобно, когда в папке ровно по одному файлу каждого требуемого типа на эпизод. Но по мере усложнения проекта смешанный каталог становится менее прозрачным.
Если в одной папке находятся SRT и ASS, а шаблон ожидает только один из этих типов, нужно понимать, какие расширения будут прочитаны для конкретного источника. Если рядом лежат временные копии, альтернативные субтитры или несколько файлов одинакового типа на эпизод, позиционное соответствие перестаёт быть очевидным. Разнесение по папкам превращает скрытую логику в визуально понятную.
Особенно критично разносить два источника одного типа. Две MKV, участвующие в одном результате, должны иметь отдельные каталоги, чтобы первая MKV из набора A однозначно соответствовала первой MKV из набора B. Тот же принцип полезен для двух языков внешних ASS: папка English и папка Spanish понятнее одной общей папки с удвоенным числом файлов.
Рабочие каталоги не обязаны быть финальной структурой медиатеки. Их можно создать временно именно для пакетного mux, а после проверки перенести готовые MKV туда, где их ожидает медиасервер. Такая промежуточная организация часто намного безопаснее обработки на месте.
Особенности переименования при пропущенных эпизодах
Индексный шаблон удобен только при непрерывной последовательности. Если в папке отсутствует E05, а пользователь задаёт старт E01, пятому файлу будет присвоен E05 независимо от того, что его исходное имя может соответствовать E06. Поэтому индекс нельзя использовать как средство восстановления реальных номеров — он лишь нумерует текущий список.
При пропусках лучше извлекать номер из имени регулярным выражением. Тогда каждый файл несёт собственный идентификатор, и отсутствие одной позиции не сдвигает остальные. Для коллекций со специальными выпусками, двойными номерами или буквенными суффиксами выражение нужно составлять особенно осторожно и проверять предпросмотр целиком.
Регулярное выражение не обязано быть сложным. Если исходные имена уже содержат стабильный фрагмент S01E07, задача может сводиться к сохранению этого фрагмента и удалению лишних префиксов. Чем меньше групп и условий, тем легче увидеть ошибку. Сложные шаблоны оправданы только тогда, когда исходные имена действительно неоднородны.
Кнопка Undo полезна именно до запуска. После того как результаты уже записаны и, тем более, перенесены в библиотеку, исправление схемы имён становится отдельной задачей. Поэтому Rename Files следует воспринимать как этап проектирования вывода, а не косметическую операцию в самом конце.
CRC-32: где функция полезна, а где лишняя
CRC-32 удобен в архивах, которые копируются между дисками, раздаются нескольким пользователям или хранятся длительное время. Суффикс в имени позволяет быстро сравнить фактически вычисленную сумму с заявленной и обнаружить случайную порчу данных. Для релизных коллекций это привычный способ контроля целостности.
Но в домашней медиатеке контрольная сумма в имени нужна не всегда. Некоторые медиасерверы и автоматические сопоставители метаданных лучше работают с простыми именами вида S01E01. Дополнительный блок в квадратных скобках обычно не мешает, но усложняет визуальный список и последующее массовое переименование.
Если CRC используется, его вычисление логично выполнять после окончательной записи файла: контрольная сумма относится к точному набору байтов результата. Любое последующее изменение контейнера — даже без перекодирования, например правка заголовка Matroska — изменит сумму. Поэтому CRC лучше считать финальным штрихом, а не промежуточным идентификатором.
Функция не заменяет резервную копию и не доказывает происхождение файла. Она предназначена именно для обнаружения случайного изменения. Для криптографической проверки и подтверждения авторства используются другие механизмы.
Как интерпретировать отличия формата дорожек
Algorithm 1 интересен тем, что для аудио и текста может сопоставлять дорожки по языку даже при различии формата. Это означает, что коллекция с английским FLAC в одном эпизоде и английским AC3 в другом не обязательно считается безнадёжно несовместимой. Для цели оставить английскую дорожку язык может быть более полезным признаком, чем кодек.
Однако такая гибкость опасна, если языковые метки используются непоследовательно. Дорожка с реальным английским звуком, помеченная как und, уже не несёт нужного признака. Ещё хуже, если две разные английские дорожки — дубляж и комментарий — обе имеют одинаковый язык и похожие остальные свойства. Автоматическое соответствие тогда нуждается в ручном контроле.
Поэтому метаданные исходников — часть качества автоматизации. Перед большим проектом разумно исправить очевидно неверные языковые теги в эталонной группе или разделить файлы на более однородные наборы. Пакетный инструмент не может восстановить смысл, которого нет в контейнерных метаданных.
Для видео язык игнорируется, и это обычно правильно. Если же внутри одного файла несколько видеопотоков с разными назначениями, проект выходит за рамки типичного сезонного mux. В таком случае требуется особенно строгая проверка порядка и свойств дорожек.
Как работать с существующей очередью после обнаружения ошибки
Если во время выполнения стало ясно, что текущий шаблон неверен, важно выбрать правильный уровень остановки. Abort Current Job подходит, когда проблема относится только к текущему заданию, а остальные очереди построены независимо и остаются корректными. Abort Jobs нужен, когда ошибка общая для всей очереди или дальнейшая обработка потеряла смысл.
После остановки не стоит сразу запускать то же задание повторно. Сначала проверьте, какие файлы уже успели завершиться и какие имена появились в каталоге назначения. Иначе повторный прогон может создать варианты с new-, которые затем трудно отличить от правильных.
Если ошибка обнаружена после нескольких успешно записанных файлов, возможны два разумных пути: удалить только ошибочные результаты и продолжить с исправленным шаблоном в новом каталоге либо сохранить первый тестовый набор отдельно для сравнения. Главная цель — не смешивать результаты разных вариантов шаблона без явного признака.
Статусы Jobs дают полезную хронологию: Done уже завершены, Aborted остановлены, Waiting ещё не запускались. Именно поэтому штатная остановка очереди предпочтительнее грубого завершения процесса — состояние проекта остаётся понятным.
Как проверять большие проекты без полного просмотра каждого файла
Полный ручной просмотр сотен эпизодов нереалистичен, но это не означает, что контроль должен ограничиваться числом файлов. Эффективная проверка строится по риску. Все элементы, отмеченные структурной диагностикой, проверяются обязательно. Обычные файлы можно проверять выборочно.
Хорошая выборка включает первый и последний эпизоды, несколько файлов из середины, элементы на границах подкаталогов и те, чьи размеры заметно отличаются от соседних. Если в сезоне есть специальные выпуски или двойные серии, они также входят в обязательную выборку. Такой подход с высокой вероятностью обнаруживает систематическую ошибку шаблона и локальные исключения.
Структурную часть удобно проверять через список дорожек: число, тип, язык, default/forced, имя и вложения. Воспроизведение отвечает на другой класс вопросов — синхронизацию, реальный язык, наличие звука и корректное отображение ASS. Эти две проверки дополняют друг друга и не должны подменяться одна другой.
Если проект использует Algorithm 2, долю ручной проверки лучше увеличить. Этот режим сознательно допускает результат, отличающийся от исходного шаблона, поэтому зелёный статус не несёт той же степени уверенности, что в строгом сценарии с полностью одинаковой структурой.
Работа с медиасервером после мультиплексирования
Переименование по схеме SxxExx полезно не только для порядка в папке. Многие медиасерверы используют такие маркеры для сопоставления эпизодов с метаданными. Поэтому вкладка Rename Files хорошо вписывается в задачу подготовки уже обработанной коллекции к импорту в библиотеку.
При этом не стоит позволять медиасерверу индексировать промежуточный каталог во время пакетной работы. Пока очередь ещё записывает файлы, часть результатов может отсутствовать, иметь префикс new- после тестов или отличаться по структуре. Лучше завершить обработку, провести проверку и только затем перенести окончательные MKV в отслеживаемую папку.
Если сервер уже знает старые файлы, массовая замена может изменить внутренние идентификаторы в зависимости от его правил. С точки зрения MKV Batch Multiplexer это внешняя система, поэтому безопаснее заранее решить, будет ли новая коллекция заменять старую или импортироваться отдельно для сравнения.
Для названий, ориентированных на медиасервер, простота обычно выигрывает у декоративности. Название сериала, сезон и эпизод важнее длинного набора технических тегов. CRC, релизная группа и дополнительные пометки можно сохранять, если конкретная библиотека корректно их обрабатывает.
Когда вместо пакетного шаблона лучше написать скрипт
MKV Batch Multiplexer удобен для тех случаев, когда сложную команду проще получить из GUI, чем писать вручную, а затем нужен визуальный контроль очереди. Если же правило полностью формализовано и должно запускаться регулярно без вмешательства, обычный скрипт вокруг mkvmerge может оказаться проще.
Скриптовый подход особенно уместен, когда структура файлов гарантируется другой автоматизацией, имена строго стандартизированы, а команда короткая и стабильная. Тогда нет необходимости каждый раз открывать MKVToolNix и копировать новый шаблон. Зато ответственность за проверки, обработку ошибок, журналирование и безопасные имена результата переходит к автору скрипта.
MKV Batch Multiplexer занимает промежуточное положение. Он даёт гибкость полноценной команды mkvmerge, но сохраняет GUI, очередь, диагностику и правила проверки структуры. Для одноразовых и периодических проектов с десятками файлов это часто удобнее собственного кода.
Если задача совсем узкая — например, только массовое добавление субтитров по подпапкам — специализированный аналог может предложить более простой интерфейс. Выбор зависит не от мощности вообще, а от того, совпадает ли модель программы с реальным рабочим процессом.
Когда MKVToolNix GUI сам по себе удобнее
Встроенная очередь MKVToolNix хорошо подходит, если каждый файл требует индивидуальных решений. Пользователь настраивает отдельный проект, добавляет его в очередь и переходит к следующему. При десяти разных фильмах такой способ часто проще, чем пытаться искусственно искать общий шаблон.
MKV Batch Multiplexer становится полезнее, когда индивидуальная настройка перестаёт нести новую информацию: второй, третий и двадцатый файл должны получить ровно ту же логику, что первый. Тогда ручное создание каждого задания — лишь источник повторения и возможных пропусков.
Есть и гибридная схема. Большинство стандартных эпизодов обрабатываются пакетно, а несколько исключений добавляются вручную в очередь MKVToolNix. Такой подход часто оптимален для реальных коллекций, где абсолютная однородность встречается реже, чем кажется по именам файлов.
Краткая памятка по кнопкам
| Элемент | Назначение |
|---|---|
| Paste | Вставить команду mkvmerge из буфера обмена |
| Add Command | Создать задание в состоянии Waiting |
| Add Queue | Создать задание и сразу поставить его в очередь |
| Start Worker / Start Queue | Начать последовательную обработку очереди |
| Rename | Перейти к подготовке имён результата |
| Analysis | Показать разбор исходной команды |
| Commands | Показать сформированные команды для выполнения |
| Check Files | Проверить найденные источники и совместимость структуры |
| Clear Output | Очистить текущее поле сообщений |
| Reset | Сбросить содержимое окон вывода |
| Queue Waiting Jobs | Поставить ожидающие задания в очередь |
| Clear Queue | Вернуть задания очереди в ожидание |
| Abort Current Job | Остановить текущее задание |
| Abort Jobs | Остановить текущую работу и очередь |
| Apply Rename | Применить подготовленную схему переименования |
| Undo | Отменить переименование до запуска |
Названия могут незначительно различаться между документированными вариантами интерфейса, например Worker и Queue, но смысл остаётся одинаковым: шаблон подготавливается на Command, задания контролируются на Jobs, процесс читается в Jobs Output, отклонения — в Jobs Errors, а имена — в Rename Files.