如何設定在 ffmpeg 中覆蓋影片背景的 Zoompan 濾鏡的開始時間

如何設定在 ffmpeg 中覆蓋影片背景的 Zoompan 濾鏡的開始時間

下面的程式碼工作正常,但我似乎無法在特定時間成功啟動此圖像縮放。即我希望縮放 5 秒後生效,而不是在背景影片開始時立即生效。

ffmpeg  -i background.avi  -i image.png \
-filter_complex "1:v]scale=8000x4000,setsar=1/1,zoompan=z='min(zoom+0.005,10)':d=125:s=530x680,trim=duration=3[v1];[0:v][v1]overlay=20:20" \
-c:v libx264 output.avi

答案1

使用

ffmpeg  -i background.avi -loop 1 -i image.png \
  -filter_complex 
       "[1:v]scale=8000x4000,setsar=1/1,zoompan=z='if(gte(in,125),min(pzoom+0.005,10),1)':d=1:s=530x680,
            trim=duration=3[v1];[0:v][v1]overlay=20:20"
  -c:v libx264 output.avi

由於您要將其應用於視頻,因此 pzoom 是正確使用的變數。d應設為 1,因為它代表每個縮放效果間隔的持續時間個人框架。請務必使用最新的 ffmpeg 版本。早期版本中存在一個錯誤,導致 pzoom 無法正常運作。

相關內容