Коротко: субтитры в MKV бывают двух принципиально разных типов, и способ извлечения зависит от того, какой тип у вас. Если MKV содержит текстовую дорожку (SRT или ASS), достаточно одной бесплатной команды ffmpeg или MKVToolNix. mkvextract сохранит файл субтитров за несколько секунд. Но в двух распространённых случаях текста внутри нет: это дорожки-изображения (PGS и VobSub из Blu-ray и DVD) и субтитры, встроенные прямо в картинку. Для обоих случаев нужен OCR. В руководстве разобраны все четыре варианта; начнём с проверки на 10 секунд, которая покажет ваш тип.
Как проверить, какие дорожки субтитров есть в файле MKV?
Прежде чем что-либо извлекать, выведите список потоков субтитров. Если ffmpeg уже установлен (на Mac — brew install ffmpeg), выполните:
ffprobe -v error -select_streams s \
-show_entries stream=index,codec_name:stream_tags=language,title \
-of default=noprint_wrappers=1 input.mkv
Если вы уже используете MKVToolNix, команда mkvmerge -i input.mkv выведет ту же информацию в более понятном виде. Поле codec_name сразу подскажет, что находится в дорожке:
| имя_кодека | Что это | Как получить SRT |
|---|---|---|
subrip | Обычные текстовые субтитры (SRT) | Одна команда ffmpeg — делается за секунды |
ass | Стилизованные текстовые субтитры (часто встречаются в аниме) | Одна команда ffmpeg; стиль будет удалён из SRT |
hdmv_pgs_subtitle | Субтитры к изображениям Blu-ray (изображения текста) | Требуется распознавание текста |
dvd_subtitle | Субтитры к изображениям DVD (VobSub) | Требуется распознавание текста |
| Нет вывода | Дорожки субтитров нет — если текст виден, он встроен в изображение. | OCR по самому видео |
Если ffprobe показывает subrip или ass, извлечение бесплатно и занимает секунды. Если указано hdmv_pgs_subtitle или dvd_subtitle, дорожка содержит изображения текста, и ни один инструмент не превратит её в SRT без OCR. Именно это различие чаще всего вызывает путаницу с субтитрами в MKV — и оно определяет следующие шаги.
Как извлечь субтитры SRT из MKV с помощью ffmpeg?
Для текстовых дорожек ffmpeg — самый быстрый маршрут, который работает одинаково на Mac, Windows и Linux:
# Extract the first subtitle track as SRT
ffmpeg -i input.mkv -map 0:s:0 subtitles.srt
# Extract the second subtitle track (0:s:1 = second, and so on)
ffmpeg -i input.mkv -map 0:s:1 subtitles.srt
# Pick a track by language instead of position
ffmpeg -i input.mkv -map 0:s:m:language:eng english.srt
# Keep an ASS track in its original format (preserves styling)
ffmpeg -i input.mkv -map 0:s:0 -c copy subtitles.ass
Важно помнить о двух вещах. Во-первых, преобразование ASS в SRT автоматически удаляет стили — шрифты, цвета, позиционирование и эффекты караоке, — потому что формат SRT не умеет их хранить; если стиль нужен, извлеките дорожку в .ass. Во-вторых, -map 0:s:0 считает только потоки субтитров, поэтому этот номер не совпадает с индексом потока из вывода ffprobe.
ffmpeg конвертирует формат во время извлечения, поэтому команда ffmpeg -i input.mkv -map 0:s:0 subtitles.srt работает и для SRT, и для ASS. Но она не превратит дорожки-изображения (PGS/VobSub) в текст и завершится ошибкой кодировщика.
Как извлечь субтитры с помощью MKVToolNix (mkvextract)?
MKVToolNix (бесплатный, mkvtoolnix.download, или brew install mkvtoolnix) извлекает дорожки побитно в исходном формате. Сначала выведите идентификаторы дорожек, затем извлеките нужную по ID:
# List tracks with their IDs
mkvmerge -i input.mkv
# Track ID 0: video (HEVC) / Track ID 1: audio (AAC) / Track ID 2: subtitles (SubRip/SRT)
# Extract track 2 as SRT
mkvextract input.mkv tracks 2:subtitles.srt
# Extract several tracks in one run
mkvextract input.mkv tracks 2:english.srt 3:spanish.srt
Есть одна деталь, которая сбивает с толку почти всех: в графическом интерфейсе MKVToolNix нет функции извлечения — для этого предназначен только инструмент командной строки mkvextract. Графический интерфейс отвечает за мультиплексирование (добавление дорожек), редактирование заголовков и разделение файлов, поэтому кнопки «извлечь» в нём нет.
Расширение выходного файла должно соответствовать кодеку дорожки: .srt для SubRip, .ass для ASS/SSA, .sup для PGS. Для VobSub mkvextract создаёт пару .idx + .sub. Это подводит нас к случаю, когда извлечённый файл вообще не содержит текста.
Что делать, если дорожка субтитров имеет формат PGS или VobSub (на основе изображения)?
Рипы Blu-ray почти всегда содержат дорожки hdmv_pgs_subtitle, а рипы DVD — dvd_subtitle (VobSub). Каждая строка в такой дорожке хранится как готовое изображение, которое плеер накладывает на видео, — текста внутри нет. После извлечения вы получите файл .sup или .idx/.sub, который редакторы субтитров и видеоплатформы не могут прочитать как текст.
Преобразование PGS или VobSub в SRT всегда требует OCR, потому что «субтитры» являются растровыми изображениями текста, а не текстом. На Mac практичный путь такой: один раз наложить дорожку на видео с помощью ffmpeg, а затем распознать получившийся ролик:
# Burn the image-subtitle track onto the video (one-time re-encode)
ffmpeg -i input.mkv -filter_complex "[0:v][0:s:0]overlay[v]" \
-map "[v]" -map 0:a? -c:a copy burned.mp4
Затем импортируйте burned.mp4 в GeekLink и запустите OCR. Приложение определит область субтитров, прочитает текст в каждом кадре, объединит повторяющиеся кадры в отдельные реплики и экспортирует чистый SRT с точными таймкодами — локально, без загрузки файлов. Качества перекодированного видео должно быть достаточно для OCR, поэтому подойдут настройки по умолчанию.
Что, если в MKV вообще нет дорожки субтитров (встроенных субтитров)?
Так бывает со скачанными аниме, эпизодами драм и перекодированными роликами: ffprobe не показывает поток субтитров, но во время воспроизведения текст хорошо виден. Если ffprobe не находит поток субтитров, а текст всё равно отображается, он встроен прямо в изображение. Ни один экстрактор, демультиплексор или конвертер не сможет его извлечь — нужен OCR по видео.
- Импортируйте MKV в GeekLink на вашем компьютере — преобразование не требуется, MKV поддерживается напрямую.
- Запустите OCR. GeekLink прочитает текст субтитров в кадрах и объединит его в синхронизированные строки.
- Экспортируйте SRT — или сначала переведите его и экспортируйте двуязычный файл.
OCR работает локально и обрабатывает весь пакет за один проход, поэтому в очередь можно сразу поставить целый сезон. Полный разбор — в статье Как извлечь встроенные субтитры с помощью OCR. Если выбираете инструмент, посмотрите Лучшие инструменты для извлечения встроенных субтитров в 2026 году. Не уверены, встроены ли ваши субтитры в изображение? Разница объясняется в статье Встроенные и переключаемые субтитры.
Как перевести извлечённые субтитры?
Извлечение часто становится первым шагом локализации. Файл SRT из MKV можно импортировать прямо в GeekLink и перевести с помощью ИИ более чем на 40 языков, сохранив исходные таймкоды — повторная транскрибация не нужна. Экспортируйте перевод как SRT, двуязычный SRT или запишите его поверх видео. Полный процесс описан в статье Как перевести встроенные субтитры.
FAQ
Как извлечь субтитры из файла MKV?
Если в MKV есть текстовая дорожка, выполните ffmpeg -i input.mkv -map 0:s:0 subtitles.srt — команда бесплатна и завершается за несколько секунд. Если дорожка основана на изображениях (PGS/VobSub) или субтитры встроены в картинку, извлекать текст напрямую нечего: понадобится OCR, который прочитает его по кадрам.
Может ли графический интерфейс MKVToolNix извлекать субтитры?
Нет. Графический интерфейс MKVToolNix мультиплексирует дорожки в MKV, но не умеет извлекать их. Для этого используется входящий в комплект инструмент командной строки mkvextract: выполните mkvmerge -i input.mkv, чтобы узнать ID дорожки, затем mkvextract input.mkv tracks 2:subtitles.srt.
Может ли VLC извлечь субтитры из MKV?
Нет. VLC умеет показывать встроенные дорожки и переключаться между ними, но не экспортирует дорожку в файл субтитров. Для текстовых дорожек используйте ffmpeg или mkvextract, а для субтитров-изображений и встроенного текста — OCR.
Почему субтитры извлекаются как .sup или .idx/.sub, а не как SRT?
Потому что дорожка основана на изображениях: .sup — это Blu-ray PGS, а .idx/.sub — DVD VobSub. Оба формата хранят субтитры как изображения, поэтому извлечение сохраняет изображения. Для преобразования в SRT нужен OCR: обычный конвертер не может преобразовать то, чего нет внутри файла в виде текста.
Как получить официальные субтитры с диска Blu-ray?
Сначала скопируйте диск в MKV с помощью MakeMKV. Для чтения Blu-ray нужен привод, обычно внешний USB, поскольку в Mac и большинстве ноутбуков его нет. Рип сохраняет официальные субтитры в формате PGS (.sup) как изображения, а не текст. Дальше извлеките дорожку PGS с помощью mkvextract и распознайте её в SRT с таймкодами. На Mac можно наложить PGS на видео и запустить OCR в GeekLink. Если текст встроен в картинку, распознавайте кадры напрямую.
Как преобразовать субтитры PGS в SRT на Mac?
Наложите дорожку PGS на видео одной командой ffmpeg (см. руководство выше), затем запустите OCR в GeekLink. Приложение прочитает текст в кадрах и полностью локально экспортирует синхронизированный SRT.