
私は次のスクリプトを使用して、DVD サブ ストリームとビデオ ストリームをオーバーレイしています。
avconv -i input.mkv \
-i subtitles.sub -filter_complex "[0:v:0][1:s:0]overlay[vid]" -map "[vid]" \
-s hd720 -sws_flags lanczos \
-vcodec libx264 -crf 20 -preset medium \
~/Desktop/test.mkv
次のエラーが発生します。
Stream specifier ':s:0' in filtergraph description [0:v:0][1:s:0]overlay[vid] matches no streams.
何をやってもうまくいきません。avconv (または ffmpeg) を使用して字幕を「焼き付ける」方法を誰か教えてもらえませんか?
答え1
興味のある人のために、私はそれを理解しました... avconv ではそれができませんが、ffmpeg ではできます。私は現在 ffmpeg に切り替えており、avconv は使用しません。
最新バージョンの ffmpeg (v 2.3.3) をコンパイルしました。 'sup' 形式の字幕を 'sub/idx' 形式に変換し、'.idx' ファイルを字幕ファイルとして指定すると、オーバーレイ プロセスがうまく機能しました。
最後のコマンドは、
ffmpeg -i input.mkv -i subtitles.idx -filter_complex '[0:v][1:s]overlay[vid]' -map '[vid]' -s hd720 -sws_flags lanczos -vcodec libx264 -crf 20 -preset medium ~/Desktop/test.mkv
もちろん、x264 設定は必要に応じて構成できます。