Я намагаюся витягнути субтитри з фільмів MP4 та MKV. Я використовую mp4box (на OS X), але не можу зрозуміти, як це працює.
Якісь підказки?
Я намагаюся витягнути субтитри з фільмів MP4 та MKV. Я використовую mp4box (на OS X), але не можу зрозуміти, як це працює.
Якісь підказки?
Відповіді:
Безкоштовний та крос-платформний MP4Box працює лише з контейнерами MP4 або 3GP. Ви можете встановити його з домашньої сторінки. По-перше, ви хочете переглянути різні треки і побачити, який ідентифікатор належить до доріжки субтитрів.
MP4Box -info input.mp4
Подивіться на ідентифікатор поруч із доріжкою субтитрів. Потім, виходячи з ідентифікатора треку, який <trackId>ви бажаєте витягнути, наберіть таку команду:
MP4Box -raw <trackID> input.mp4
Або експортувати до часто використовуваного формату СТО:
MP4Box -srt <trackID> input.mp4
Для того, щоб витягти субтитри з файлів 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
MP4Boxв Arch Linux, вам потрібно встановити gpacрепо з спільноти.
Ось рішення практично для будь-якого файлового формату, який підтримується ffmpeg( підтримуються навіть віддалені файли):
ffmpeg -i video.mp4 subtitle.srt
ffmpegза замовчуванням присутній у нових версіях Ubuntu, для Mac OS X та Windows вам доведеться встановити його ( завантаживши його з офіційного веб-сайту або через домашню сторінку).
Тут video.mp4вказано місцеве або віддалене ім'я відеофайлу, а subtitle.srtтакож виводиться ім'я файлу субтитрів Важливо вказати розширення файлу для виводу, оскільки ffmpegвизначає, що саме ви хочете витягти ним. Тобто ви можете вказати .mp3розширення файлу для того, щоб витягти mp3-аудіо з відеофайлу, або просто встановити інший відеоконтейнер для перетворення між форматами.
MP4Boxвgpacпакет , доступний через APT-отримати