ТранскрибаторТранскрибатор
Транскрибатор · Практика

Как извлечь субтитры из MKV: найти дорожку и сохранить правильный формат

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

База знаний Транскрибатора6 мин. чтения
MKV: несколько дорожекВыбрать язык и Track IDSRT / ASS / SUP
Работа с реальной записьюНаглядный учебный примерШаблон для копирования
1Определить дорожки2Извлечь выбранную3Проверить файл
Тип дорожки определяет результат извлечения. Сначала идентификация, затем сохранение и проверка.
Практика работы с видео

Проверьте, существует ли отдельная дорожка

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

Откройте видео в проигрывателе и посмотрите список субтитров. Попробуйте отключить выбранную дорожку. Если текст остаётся, возможно, он вшит в кадр; окончательно уточните состав потоков средствами анализа файла.

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

Практика работы с видео

Найдите Track ID через MKVToolNix

В составе MKVToolNix есть инструменты mkvmerge и mkvextract. Первый позволяет определить потоки, второй — извлечь выбранные данные. Для списка дорожек используется команда:

mkvmerge --identify "input.mkv"

В выводе найдите субтитры и их Track ID. Если языковых дорожек несколько, дополнительно проверьте метаданные и содержание. Для подробного машинно-читаемого описания у mkvmerge есть режим JSON:

mkvmerge -J "input.mkv"

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

Запишите соответствие: ID, язык, тип и назначение. Например, две дорожки одного языка могут содержать полный диалог и только отдельные иноязычные реплики. Выбор по одному языковому коду не гарантирует, что вы получите полный текст.

Практика работы с видео

Команда извлечения текстовой дорожки

Синтаксис mkvextract задаёт исходный файл, режим tracks и пару «идентификатор:выходной файл». В учебном примере ниже предполагается, что нужная текстовая дорожка имеет ID 2 и подходит для SRT:

mkvextract "input.mkv" tracks "2:captions.srt"

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

Выберите новую пустую папку для результата и отдельное имя файла. Это поможет не перепутать извлечённый вариант со старой редакцией. Исходный MKV сохраните: он остаётся контрольным источником для проверки времени и языка.

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

Практика работы с видео

Почему результат не всегда SRT

mkvextract сохраняет текстовые S_TEXT/UTF8 как SRT, ASS и SSA — в соответствующие текстовые форматы, PGS — как SUP, VobSub — как SUB с индексом IDX. Это разные представления субтитров.

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

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

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

Практика работы с видео

Как проверить язык, полноту и время

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

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

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

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

Практика работы с видео

Что делать с извлечённым текстом дальше

Для редактирования субтитров сохраняйте интервалы и работайте с копией. Для обычного документа экспортируйте слова без служебной структуры и восстановите смысловые абзацы. Эти действия выполняются после успешного извлечения, а не вместо него.

Если нужной дорожки внутри нет, а задача — получить произнесённую речь, используйте расшифровку видео. Вшитые надписи и звучащая речь могут различаться, поэтому заранее решите, какой источник должен отражать итоговый текст.

Перед передачей подпишите язык и версию. Сохраните рядом краткую заметку с именем исходного MKV и выбранным Track ID. Это позволит повторить извлечение и проверить происхождение файла, если позже найдётся спорная реплика.

Не удаляйте исходник сразу после первого успешного открытия SRT. Для серьёзной редакторской работы важна возможность вернуться к изображению, интонации и контексту. Текстовая дорожка передаёт только часть информации записи.

Учебный пример

Какой результат ожидать от дорожки

Формат зависит от содержимого MKV. Не задавайте ожидание только расширением выходного файла.

ИсточникПосле извлеченияСледующая проверка
Текст UTF-8SRTСлова и интервалы
ASS или SSAASS или SSAТекст и оформление
PGSSUPГрафические подписи; OCR при необходимости
VobSubSUB и IDXСохранность пары файлов
Текст в самом кадреОтдельной дорожки может не бытьВыбрать иной способ получения текста
СоставID и тип дорожкиОпределитьИзвлечениеПравильный выходной файлСохранитьСодержаниеЯзык, полнота, времяПроверить
Извлечение, преобразование формата и распознавание — отдельные операции с разными входными данными.
Проверка перед экспортом

Чек-лист извлечения субтитров из MKV

Скопируйте и отметьте выполненное
[ ] Состав MKV проверен
[ ] Нужный Track ID найден
[ ] Язык и назначение дорожки понятны
[ ] Выходной формат соответствует типу
[ ] Исходный MKV сохранён
[ ] Реплики проверены с видео
[ ] Результат подписан и отделён от старых версий
Разберём детали

Частые вопросы

Почему команда из примера извлекла не то?

Идентификатор дорожки зависит от файла. Сначала определите его для своего MKV и только затем подставляйте в команду.

Можно переименовать SUP в SRT?

Нет, переименование не превращает изображения субтитров в текст. Нужен подходящий процесс распознавания и вычитки.

Почему извлечено мало реплик?

Проверьте назначение дорожки: она может содержать только специальные фрагменты, а не полный диалог.

Что делать, если отдельной дорожки нет?

Определите нужный источник текста: звучащая речь или надписи в кадре. Затем выбирайте распознавание аудио или изображения.