Как извлечь субтитры из файла MKV

Флора Ванг, специалист по локализации видео · Опубликовано 17 июля 2026 г. · Обновлено 29 июля 2026 г. · Время чтения: 8 минут

Коротко: субтитры в 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 по видео.

  1. Импортируйте MKV в GeekLink на вашем компьютере — преобразование не требуется, MKV поддерживается напрямую.
  2. Запустите OCR. GeekLink прочитает текст субтитров в кадрах и объединит его в синхронизированные строки.
  3. Экспортируйте 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.

Похожие статьи

ffmpeg не может извлечь эти субтитры?

GeekLink распознаёт PGS, VobSub и встроенные субтитры и экспортирует чистый SRT — локально на вашем компьютере.

Скачать бесплатно