回答:
無料のクロスプラットフォームMP4Boxは、MP4または3GPコンテナーでのみ機能します。ホームページからインストールできます。まず、さまざまなトラックを見て、どのIDが字幕トラックに属しているかを確認します。
MP4Box -info input.mp4
字幕トラックの横にあるIDを見てください。次に、<trackId>
抽出するトラックIDに基づいて、次のコマンドを呼び出します。
MP4Box -raw <trackID> input.mp4
または、一般的に使用されるSRT形式にエクスポートするには:
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)
トラックのIDに基づいて、<trackID>
上記で特定したコマンドを次のコマンドで呼び出します。<output>
は単なるダミー名で、任意の名前を使用できます。
mkvextract tracks input.mkv <trackID>:<output>.srt
したがって、この場合、それは次のようになります。
mkvextract tracks input.mkv 3:subs.srt
MP4Box
アーチのLinuxで、インストールする必要があるgpac
コミュニティのレポから。
以下は、サポートされている事実上すべてのファイル形式のソリューションですffmpeg
(リモートファイルもサポートされています)。
ffmpeg -i video.mp4 subtitle.srt
ffmpeg
Mac OS XおよびWindowsの場合は、新しいUbuntuバージョンにデフォルトで存在します(公式Webサイトまたはhomebrew からダウンロードすることにより)。
ここではvideo.mp4
、ソース、ローカルまたはリモートのビデオ・ファイル名で、subtitle.srt
出力字幕ファイル名です。出力にファイル拡張子を指定することは重要です。ファイル拡張子を使用ffmpeg
して正確に抽出するものを検出するからです。つまり.mp3
、ビデオファイルからmp3オーディオを抽出するためにファイル拡張子を指定することも、フォーマット間で変換するために別のビデオコンテナを設定することもできます。
MP4Box
中にgpac
apt-getを経由して利用可能なパッケージ