
我使用以下命令將每個幀保存為圖片,並在其上列印幀編號:
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
。請注意,這不適用於更改音訊串流,因為還沒有過濾器可以應對這些情況。