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


27

MP4およびMKVムービーから字幕を抽出しようとしています。私はmp4box(OS X上)を使用していますが、それがどのように機能するかわかりません。

ヒントはありますか?

回答:


47

MP4および3GPファイル

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

MP4Box -info input.mp4

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

MP4Box -raw <trackID> input.mp4

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

MP4Box -srt <trackID> input.mp4

MKVファイル

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

1
これはすべてLinuxでも機能します。私が見つかりました。MP4Box中にgpacapt-getを経由して利用可能なパッケージ
エイダン

1
取得するにはMP4BoxアーチのLinuxで、インストールする必要があるgpacコミュニティのレポから。
アルフレドエルナンデス

11

以下は、サポートされている事実上すべてのファイル形式のソリューションですffmpeg(リモートファイルもサポートされています)。

ffmpeg -i video.mp4 subtitle.srt

ffmpegMac OS XおよびWindowsの場合は、新しいUbuntuバージョンにデフォルトで存在します(公式Webサイトまたはhomebrew からダウンロードすることにより)。

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.