MKVの一部をカットしてMP4にエンコードし、字幕も焼きたいです。
しかし、私はそれをすべて1パスで行う方法がわからないので(関連する質問)、私はそれを段階的に試しました。
最初にMKVをカットしてからMP4にエンコードしても、字幕はハードコードされません。カットされたMKVコンテナは、まだ字幕を保持していました。内部字幕と外部字幕の両方を試しました。
テスト1(失敗):MKVから直接字幕
ffmpeg -i konosuba.mkv -ss 180 -t 30 test.mkv
ffmpeg -i test.mkv -vf subtitles=test.mkv test2.mp4
テスト2(失敗):外部字幕
ffmpeg -i konosuba.mkv -ss 180 -t 30 test.mkv
ffmpeg -i test.mkv -map 0:s:0 subs.ass
ffmpeg -i test.mkv -vf subtitles=subs.ass test2.mp4
最初にMKV全体をMP4にエンコードするときに字幕をハードコードし、その後カットすることができます。しかし、これは大きなソースファイルでははるかに時間がかかります:(
- テスト3(成功)
ffmpeg -i konosuba.mkv -vf subtitles=konosuba.mkv test.mp4
ffmpeg -i test.mp4 -ss 180 -t 30 test2.mp4
- テスト3(成功)
ここで何か間違ったことをしていますか?オリジナルのMKVコンテナーを切り取らずにエンコードする場合を除き、なぜ字幕を書き込めないのか本当にわかりません。
編集:字幕を自分で焼こうとするだけではうまくいかないようです(ログ)
ffmpeg -i test2.mp4 -vf subtitles=subs.ass test3.mp4
ログ:https
:
//gist.github.com/anonymous/d2eb6f09fabba88afe86bd4607b048a4 ビルド:https
://ffmpeg.zeranoe.com/builds/ OS:Windows 10 v1607
https://trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo
https://ffmpeg.org/ffmpeg-filters.html#subtitles-1