如何设置在 ffmpeg 中覆盖视频背景的幻灯片过渡的开始时间

如何设置在 ffmpeg 中覆盖视频背景的幻灯片过渡的开始时间

下面是我的代码,它运行正常,但当背景视频启动时立即开始幻灯片转换。

ffmpeg -i 背景.avi -i IMG005.png -filter_complex
“[1:v]sscale=530x680,setsar=1/1[v1];[0:v][v1]overlay=x='if(lte(-w+(t)*100,20),-w+(t)*100,20)':y=20”
-c:v libx264 输出.avi

我希望幻灯片切换在特定时间开始,而不是立即开始。
即 6 秒后。我尝试过设置setpts=PTS+6/TB,也尝试过,enable='between(t,6,10)'但图像在 6 秒后出现,并且从未进行任何滑动动作。

答案1

覆盖表达式必须根据开始时间进行调整。

ffmpeg -i background.avi -i IMG005.png
  -filter_complex
     "[1:v]scale=530x680,setsar=1,setpts=PTS+6/TB[v1];
      [0:v][v1]overlay=x='min(-w+(t-6)*100,20)':y=20"
  -c:v libx264 output.avi

(我简化了x表达)。

相关内容