![使用ffmpeg在覆蓋影像上進行循環左右過渡](https://rvso.com/image/1615504/%E4%BD%BF%E7%94%A8ffmpeg%E5%9C%A8%E8%A6%86%E8%93%8B%E5%BD%B1%E5%83%8F%E4%B8%8A%E9%80%B2%E8%A1%8C%E5%BE%AA%E7%92%B0%E5%B7%A6%E5%8F%B3%E9%81%8E%E6%B8%A1.png)
我正在嘗試使用 ffmpeg 輸出影片:
- 基本影片“video.mp4”
- 靜態疊加影像“staticimage.png”
- 進行左右循環過渡的疊加圖像“movingimage.png”
這是到目前為止我能做的:
ffmpeg -i "video.mp4" -i "movingimage.png" -i "staticimage.png" -filter_complex "[0]overlay=x='if(gte(t,0), -w+(t)*100, 3)':y=0[v];[v][2]overlay=0:0[vt];[1][vt]overlay=0:0" -c:a copy -vcodec libx264 -preset superfast -f flv "output.flv"
至此該指令成功。然而,移動影像只進行一次轉換。有沒有辦法讓它循環並從初始位置(左)重新開始?
我們將不勝感激您的幫助。謝謝。
答案1
對於循環,您需要一個週期函數,通常是 mod。
在這種情況下,
x='-w+100*mod(t,(W+w)/100)'