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 オーディオを抽出するためにファイル拡張子を変更するか、フォーマット間で変換するために別のビデオ コンテナを設定します。