ffmpegを使用してデフォルトの字幕を設定する方法

ffmpegを使用してデフォルトの字幕を設定する方法

ビデオ、オーディオ、ファイルで.srtmp4ファイルを作成しました。

ffmpeg -i video.mp4 -i audio.m4a -i sub.srt -map 0:0 -metadata:s:v:0:0 言語=eng -map 1:0 -metadata:s:a:0:0 言語=eng -map 2:0 -metadata:s:s:0:0 言語=eng -c copy -codec mov_text out.mp4

うまくいきますが、デフォルトでは字幕は表示されません。字幕を基本にする方法はありますか?

ベストアンサー1

あなたはそれを使用することができますMP4Box 0.6.2-DEV-rev453(2016 年 5 月)以降、次のことを行います。

mp4box -add xr.mp4 -add xr.en.srt:txtflags=0xC0000000 -new ya.mp4

これにより、出力ファイルの字幕ストリームが必須としてマークされます。しかし、、このタグは次の場合にのみ認識されます。 VLC 3.0.0-20161101(2016年11月)。


誰かが言及したのを見ました。この投稿FFmpegメーリングリストにFFmpeg配布を実装するためのパッチ:

ffmpeg -i xr.mp4 -i xr.en.srt -c copy -c:s mov_text -disposition:s forced ya.mp4

ただし、「Forced」と「Default」を試みた後、FFmpegとマークされた字幕はVLCで強制的に認識されません。


コメントに応じて、以下はMP4Box 0.7.0(2017年4月)およびVLC 3.0.0-20170926(2017年9月)を使用したテストです。最新のVLCバージョンには、字幕のないビデオでもクラッシュの問題があることに注意してください。このファイルを使用してください。

youtube-dl --write-auto-sub --format 18 --output xr.mp4 kcs82HnguGc
ffmpeg -i xr.en.vtt xr.en.srt
mp4box -add xr.mp4 -add xr.en.srt:txtflags=0xC0000000 -new ya.mp4

結果:

息子

おすすめ記事