この投稿の主な理由は、SRTをダウンロードしたmovie.mp4があることです。 SRTを手動で追加すると、VLCはその設定を使用してSRTのフォント/サイズなどを変更します。しかし、字幕ファイルを埋め込むと、機能しなくなります。これはmp4/mov_textの問題であることがわかりました!
字幕をMP4に埋め込む しかし、 VLCはMP4の字幕設定を無視する および MP4のソフトコードされた字幕を見ることができない
変換したい
movie.mp4
に
movie.mkv
再エンコードなし(LossLess)&字幕を追加します。
このコマンドは、字幕が埋め込まれた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
MKVファイルは、ビデオ、オーディオ、テキスト(字幕)を入れることができるコンテナです。コマンドラインffmpegツールに問題がある場合(すでに提案されているように)、MKVToolnixなどのGUIツールを試すことができます。このプロセス中に再エンコードは行われず、実際にはコピーのみです。
私のプログラムを使用することができます dmMediaConverter (これは、その機能の一部を公開するFFmpeg GUIです)、それはまさにそれを行い、トランスコードせずにすべてのストリームをコピーできます。 http://dmsimpleapps.blogspot.ro/2014/04/dmmediaconverter.html