Как извлечь субтитры из фильмов MP4 и MKV
Я пытаюсь извлечь субтитры из фильмов MP4 и MKV. Я использую mp4box (на OS X), но не могу понять, как это работает.
Есть намеки?
2 ответа
MP4 и 3GP файлы
Бесплатный кроссплатформенный MP4Box работает только с контейнерами MP4 или 3GP. Вы можете установить его с домашней страницы. Во-первых, вы хотите посмотреть на разные дорожки и посмотреть, какой идентификатор принадлежит дорожке субтитров.
MP4Box -info input.mp4
Посмотрите на идентификатор рядом с дорожкой субтитров. Затем на основе идентификатора дорожки <trackId>
Вы хотите извлечь, вызовите следующую команду:
MP4Box -raw <trackID> input.mp4
Или, чтобы экспортировать в широко используемый формат SRT:
MP4Box -srt <trackID> input.mp4
Файлы MKV
Чтобы извлечь субтитры из файлов Matroska (MKV), вам нужен бесплатный и открытый исходный код mkvtoolnix
пакеты. Они поставляются для Windows и Linux, и на Mac вы можете установить их через Homebrew с brew install mkvtoolnix
,
Затем проверьте файл:
mkvmerge -i input.mkv
Это будет список треков, например, так:
File 'input.mkv': container: Matroska
Track ID 1: video (V_MPEG4/ISO/AVC)
Track ID 2: audio (A_AAC)
Track ID 3: subtitles (S_TEXT/UTF8)
На основе идентификатора дорожки, вызовите следующую команду, где <trackID>
это тот, который вы определили выше. <output>
это просто фиктивное имя, вы можете использовать любое, что вы хотите.
mkvextract tracks input.mkv <trackID>:<output>.srt
Итак, в нашем случае это было бы:
mkvextract tracks input.mkv 3:subs.srt
Вот решение практически для любого формата файла, который поддерживается ffmpeg
(даже удаленные файлы поддерживаются):
ffmpeg -i video.mp4 subtitle.srt
ffmpeg
присутствует в новых версиях Ubuntu по умолчанию, для Mac OS X и Windows вам придется установить его ( загрузив с официального веб-сайта или с помощью homebrew).
Вот video.mp4
является исходным локальным или удаленным именем видеофайла, и subtitle.srt
имя выходного файла субтитров Важно указать расширение файла для вывода, так как ffmpeg
определяет, что именно вы хотите извлечь из него. То есть вы можете указать .mp3
расширение файла, чтобы извлечь mp3 аудио из видео файла, или просто установить другой контейнер видео для преобразования между форматами.