ffmpeg が drawtext 出力で間違ったフレーム番号を表示する

ffmpeg が drawtext 出力で間違ったフレーム番号を表示する

次のコマンドを使用して、各フレームをフレーム番号が印刷された画像として保存します。

ffmpeg -i input.mp4 -vf "drawtext=text='%{n}':fontsize=72:fontcolor=white:borderw=3:bordercolor=black" -fps_mode vfr "pics\%5d.jpg"

うまくいったようですが、フレーム 930 あたりで画像を確認すると、フレーム カウントが 0 に戻って再びカウントを続けます。pts オプション -fflags +genpts を再生成しようとしましたが、効果がありません。何かアイデアはありますか?

答え1

ストリームの途中で解像度やピクセル形式などのフレーム属性が変更されない場合、ほとんどのフィルターは変化する属性に対応できないため、ffmpeg はフィルターグラフを再初期化します。再初期化により、既存のフィルター状態は失われ、フレーム カウントがリセットされます。 を追加することでこれを抑制できます-reinit_filter 0。ただし、まだフィルターが対応していないため、オーディオ ストリームの変更には機能しません。

関連情報