我使用ffmpeg库在特定时间内在视频上绘制文字,并且我成功地做到了这一点现在我需要将文本从位置移动到另一个,我不能这样做任何人都可以建议我怎么做
我使用此命令将文本从上到下移动但我无法确定x和Y从x,y移动到特定的x,y
rows
答案 0 :(得分:2)
使用
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
,其中
x1
和y1
是初始坐标;
x2
和y2
是最终的坐标;
t1
和t2
是开始和结束时间;在您的指定命令中,12
和14
。
上述内容需要替换为命令中的值。
最后停留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秒的移动保持不变。启用中的t2
也会更改。