GNU/Linux >> Znalost Linux >  >> Linux

Jak extrahovat titulky z filmů MP4 a MKV

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.


Linux
  1. Jak odstranit soubory a adresáře v Linuxu z příkazového řádku

  2. Jak rozdělit a kombinovat soubory z příkazového řádku v Linuxu

  3. Jak odstranit prázdné řádky ze souboru (včetně tabulátoru a mezer)?

  1. Jak zabránit náhodnému smazání souboru a zotavit se z něj v Linuxu

  2. Jak extrahovat soubory .gz a .tar.gz v Linuxu

  3. Jak extrahovat jeden atribut ze souboru XML?

  1. Jak extrahuji jeden kus bajtů ze souboru?

  2. Jak extrahovat soubor filename.tar.gz

  3. Jak se install -c liší od cp