【问题标题】:ffmpeg moving text drawtextffmpeg 移动文本 drawtext
【发布时间】:2016-07-29 13:19:28
【问题描述】:

我正在使用 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 drawtext


    【解决方案1】:

    使用

    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 秒保持。启用的t2 也发生了变化。

    【讨论】:

    • 谢谢它对我来说很好,但我还有一个问题,如果你能回答它,在结束时间后文本消失,我可以让它保持可见 1 秒,不动然后消失跨度>
    • 朋友你好,我想了解更多关于使用 ffmpeg 移动文本的信息,我可以控制移动文本的速度吗?因为我想加快速度,我正在尝试用谷歌搜索,但我可以找到解决方案,所以如果你有任何想法,请帮助 Thansk
    • 更改逗留值1 例如如果您希望从 12 到 13 发生运动,则将 1s 更改为 2s,以便 lt(t-t2+1\,0) 变为 lt(t-t2+2\,0)。命令中的所有其他表达式都相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    • 2012-05-30
    • 1970-01-01
    相关资源
    最近更新 更多