ffmpeg 移动文本 drawtext

ffmpeg moving text drawtext

我正在使用 ffmpeg 库在特定时间在视频上绘制文本并且我成功地做到了现在我需要将文本从一个位置移动到另一个位置但我不能这样做所以任何人都可以建议我该怎么做

我正在使用此命令从上到下移动文本,但我无法确定 x 和 Y 从 x,y 移动到特定的 x,y

ffmpeg -i VideoInput.mp4 -vf "drawtext=enable='between(t,12,14)':fontfile=myfont.otf:text='Test test':x=(w-text_w)/2:y=w/50\*mod(t\,2):fontsize=65" -acodec copy outputVideo.mp4

使用

ffmpeg -i VideoInput.mp4 \
       -vf "drawtext=enable='between(t,12,14)':fontfile=myfont.otf:text='Test test': \
           x='x1+(x2-x1)*(t-t1)/(t2-t1)':y='y1+(y2-y1)*(t-t1)/(t2-t1)':fontsize=65" \
       -acodec copy outputVideo.mp4

哪里

x1y1是初始坐标; x2y2 是最终坐标; t1t2 是开始和结束时间;在您给定的命令中,1214.

以上这些需要在命令中替换为它们的值。


最后多留1秒,

ffmpeg -i VideoInput.mp4 \
       -vf "drawtext=enable='between(t,12,15)':fontfile=myfont.otf:text='Test test': \
           x='if(lt(t-t2+1\,0)\,x1+(x2-x1)*(t-t1)/(t2-t1-1)\,x)': \
           y='if(lt(t-t2+1\,0)\,y1+(y2-y1)*(t-t1)/(t2-t1-1)\,y)':fontsize=65" \
       -acodec copy outputVideo.mp4

这里t2包括停留,所以从12移动到14+1秒保持。 enable 中的 t2 也发生了变化。