Soubory MP4 a 3GP
Bezplatný a multiplatformní MP4Box funguje pouze s kontejnery MP4 nebo 3GP. Můžete si jej nainstalovat z domovské stránky. Nejprve se chcete podívat na různé stopy a zjistit, které ID patří ke stopě titulků.
MP4Box -info input.mp4
Podívejte se na ID vedle stopy titulků. Poté na základě ID stopy <trackId>
chcete extrahovat, zavolejte následující příkaz:
MP4Box -raw <trackID> input.mp4
Nebo pro export do běžně používaného formátu SRT:
MP4Box -srt <trackID> input.mp4
Soubory MKV
Abyste mohli extrahovat titulky ze souborů Matroska (MKV), potřebujete bezplatný a otevřený zdroj mkvtoolnix
balíčky. Jsou dodávány pro Windows a Linux a na Mac je můžete nainstalovat pomocí Homebrew s brew install mkvtoolnix
.
Poté zkontrolujte soubor:
mkvmerge -i input.mkv
Zobrazí se seznam skladeb, například takto:
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)
Na základě ID stopy zavolejte následující příkaz, kde <trackID>
je ten, který jste určili výše. <output>
je jen fiktivní jméno, můžete použít jakékoli chcete.
mkvextract tracks input.mkv <trackID>:<output>.srt
Takže v našem případě by to bylo:
mkvextract tracks input.mkv 3:subs.srt
Zde je řešení pro prakticky jakýkoli formát souboru, který podporuje ffmpeg
(podporovány jsou i vzdálené soubory):
ffmpeg -i video.mp4 subtitle.srt
ffmpeg
je standardně přítomen v novějších verzích Ubuntu, pro Mac OS X a Windows jej budete muset nainstalovat (stažením z oficiální webové stránky nebo přes homebrew).
Zde video.mp4
je název místního nebo vzdáleného zdrojového video souboru a subtitle.srt
je název výstupního souboru s titulky. Je důležité specifikovat příponu souboru pro výstup, protože ffmpeg
detekuje, co přesně tím chcete extrahovat. To znamená, že můžete zadat .mp3
příponu souboru, aby bylo možné extrahovat zvuk mp3 z video souboru, nebo jen nastavit jiný kontejner videa za účelem převodu mezi formáty.