24

Я пытаюсь извлечь субтитры из фильмов MP4 и MKV. Я использую mp4box (на OS X), но не могу понять, как это работает.

Есть намеки?

2 ответа2

43

Файлы 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
7

Вот решение практически для любого формата файла, поддерживаемого ffmpeg (даже для удаленных файлов):

ffmpeg -i video.mp4 subtitle.srt

ffmpeg присутствует в новых версиях Ubuntu по умолчанию, для Mac OS X и Windows вам придется установить его (загрузив с официального веб-сайта или с помощью homebrew).

Здесь video.mp4 - это имя локального или удаленного исходного видеофайла, а subtitle.srt - имя выходного файла субтитров. Важно указать расширение файла для вывода, так как ffmpeg определяет, что именно вы хотите извлечь из него. То есть вы можете указать расширение файла .mp3 для извлечения аудио из mp3-файла или просто установить другой контейнер для видео для преобразования между форматами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .