web-dev-qa-db-ja.com

FFMPEG:MP4を同じMP4(別のコンテナー内)に変換し、字幕を追加します

この投稿の主な理由は、SRTをダウンロードしたmovie.mp4があることです。 SRTを手動で追加すると、VLCはその設定を使用してSRTのフォント/サイズなどを変更します。しかし、字幕ファイルを埋め込むと、機能しなくなります。これはmp4/mov_textの問題であることがわかりました!

字幕をMP4に埋め込む しかし、 VLCはMP4の字幕設定を無視する および MP4のソフトコードされた字幕を見ることができない

変換したい

movie.mp4

movie.mkv

再エンコードなし(LossLess)&字幕を追加します。

1

このコマンドは、字幕が埋め込まれたmp4では機能しません。また、Mp4から字幕を抽出すると、MOV_TEXTスタイルの字幕ファイルが作成されます。これは必要なものではありません。基本的に、SRTをグーグルでテストしてテストすれば、準備は完了です。

SRTを埋め込んだ場合は、ビデオとオーディオだけを含む別のファイルも必要です。必要なビデオとオーディオだけを残して、srtストリームを削除します。

例:

ffmpeg -i movie.mp4 -map 0:0 -vcodec copy -map 0:1 -acodec copy movienosubs.mp4

だからあなたが今持っていると仮定しましょう

subtitle.srt
movienosubs.mp4

FFMPEGコマンドは次のようになります:(これは最初のオーディオストリームのみをコピーすることに注意してください。もっと複雑になりたくない場合は、マッピングストリームをいじる必要があるかもしれませんが、アイデアは得られます)

ffmpeg -i movienosubs.mp4 -i subtitle.srt -c:v copy -c:a copy -c:s copy movieFINAL.mkv
3

MKVファイルは、ビデオ、オーディオ、テキスト(字幕)を入れることができるコンテナです。コマンドラインffmpegツールに問題がある場合(すでに提案されているように)、MKVToolnixなどのGUIツールを試すことができます。このプロセス中に再エンコードは行われず、実際にはコピーのみです。

3
toejoe

私のプログラムを使用することができます dmMediaConverter (これは、その機能の一部を公開するFFmpeg GUIです)、それはまさにそれを行い、トランスコードせずにすべてのストリームをコピーできます。 http://dmsimpleapps.blogspot.ro/2014/04/dmmediaconverter.html

enter image description here

0
mdalacu