GNU/Linux >> Linux の 問題 >  >> Linux

MP4 および MKV ムービーから字幕を抽出する方法

MP4 および 3GP ファイル

無料でクロスプラットフォームの MP4Box は、MP4 または 3GP コンテナーでのみ動作します。ホームページからインストールできます。まず、さまざまなトラックを見て、字幕トラックに属する ID を確認します。

MP4Box -info input.mp4

字幕トラックの横にある ID を見てください。次に、トラック ID <trackId> に基づいて 抽出したい場合は、次のコマンドを呼び出します:

MP4Box -raw <trackID> input.mp4

または、一般的に使用される SRT 形式にエクスポートするには:

MP4Box -srt <trackID> input.mp4

MKV ファイル

Matroska (MKV) ファイルから字幕を抽出するには、無料でオープン ソースの mkvtoolnix が必要です。 パッケージ。これらは Windows と Linux に対応しており、Mac では brew install mkvtoolnix を使用して Homebrew からインストールできます。 .

次に、ファイルを調べます:

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)

トラックの ID に基づいて、次のコマンドを呼び出します。ここで <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 の場合は、インストールする必要があります (公式 Web サイトまたは自作経由でダウンロードして)。

こちら video.mp4 ソースのローカルまたはリモートのビデオ ファイル名、および subtitle.srt です。 は出力字幕ファイル名です。 ffmpeg であるため、出力のファイル拡張子を指定することが重要です。 それによって抽出したいものを正確に検出します。つまり、 .mp3 を指定できます ビデオ ファイルから mp3 オーディオを抽出するためにファイル拡張子を変更するか、フォーマット間で変換するために別のビデオ コンテナを設定します。


Linux
  1. Linuxでの偶発的なファイル削除を防止および回復する方法

  2. Linuxで.gzファイルと.tar.gzファイルを抽出する方法

  3. Xmlファイルから単一の属性を抽出する方法は?

  1. Linuxでコマンドラインからファイルとディレクトリを削除する方法

  2. filename.tar.gz ファイルを抽出する方法

  3. Linux で .dmg ファイルを抽出するには?

  1. Linuxでコマンドラインからファイルを分割して結合する方法

  2. ファイル(タブとスペースを含む)から空白行を削除する方法は?

  3. ファイル内から単一のバイト チャンクを抽出するにはどうすればよいですか?