FFMpeg - 将叠加从 a 点移动到 b 点,从 c 点移动到 d

  • 本文关键字:移动 FFMpeg 叠加 ffmpeg
  • 更新时间 :
  • 英文 :


我在这里使用了LordNeckbeard发布的其他人的代码:FFmpeg将叠加层从一个像素坐标移动到另一个像素坐标

我把它修改了一下:

ffmpeg -i 4632.mpg -i 4632.bmp -filter_complex "[0]scale=320:240[over];
[1][over]overlay=enable='between=(t,0,50)':x=20+t*30:y=20+t*20" -s 
1280:720 -c:a copy -y output.mpg

我希望能够限制移动,以便叠加层不会离开屏幕。 如何在四个方向上移动缩放的剪辑叠加层,X 和 Y 从起始位置开始并返回?

这个逐步的运动必须使用条件表达式的联合来构造。每个单元的基本语法是

(origin + (destination - origin)*(t - start time)/duration) * between(t,start time,end time)

然后将所有单位相加,如下例所示。

假设您要将剪辑从(ax,ay)移动到(bx,by)再到(cx,cy),然后再移回(ax,ay)。让我们将每条腿保持在 10 秒。

语法overlay=x='(ax+(bx-ax)*(t-0)/10)*between(t,0,10)+(bx+(cx-bx)*(t-10)/10)*between(t,10,20)+(cx+(ax-cx)*(t-20)/10)*between(t,20,30)':y='(ay+(by-ay)*(t-0)/10)*between(t,0,10)+(by+(cy-by)*(t-10)/10)*between(t,10,20)+(cy+(ay-cy)*(t-20)/10)*between(t,20,30)'

最新更新