gpt4 book ai didi

FFmpeg drawtext 过滤器 - 是否可以将变量与 x、y 坐标的实时数据一起使用?

转载 作者:行者123 更新时间:2023-12-04 22:47:07 24 4
gpt4 key购买 nike

我想为 FFmpeg 的 drawtext 过滤器的 x,y 坐标使用变量,这样我就可以为它们提供实时数据。下面的 sendcmd 解决方案有效,但我必须在开头添加相对时间码,以便 FFmpeg 可以将坐标链接到时间位置。是否可以在没有时间码的情况下仅使用实际坐标并告诉 FFmpeg 它应该每 100 毫秒更新一次这些坐标?

在我的例子中它看起来像这样:

命令.txt

drawtext 重新初始化 'x=960:y=540'; (当实时源有新位置时,坐标会发生变化,FFmpeg 会定期通过 sendcmd 更新这些位置)。

谢谢!

最佳答案

使用 sendcmd 就可以了,这就是它的使用方式(下面的示例使用 vaapi 硬件加速和环回设备作为输入):

ffmpeg -vaapi_device /dev/dri/renderD128 -f v4l2 -i /dev/video0 -vf "sendcmd=f=cmd.txt,drawtext=fontfile=abc.ttf:fontsize=60:fontcolor=white@0.8:bordercolor=black@0.1:borderw=1:r=25:text='O',format=nv12,hwupload" -c:v h264_vaapi out.mp4

cmd.txt 的格式:

0   drawtext     reinit  'x=800:y=440';
0.1 drawtext reinit 'x=900:y=580';
0.2 drawtext reinit 'x=560:y=740';
0.3 drawtext reinit 'x=580:y=640';
0.4 drawtext reinit 'x=960:y=540';
0.5 drawtext reinit 'x=800:y=440';
0.6 drawtext reinit 'x=900:y=580';
0.7 drawtext reinit 'x=560:y=740';
0.8 drawtext reinit 'x=580:y=640';
0.9 drawtext reinit 'x=960:y=540';
1 drawtext reinit 'x=800:y=440';

关于FFmpeg drawtext 过滤器 - 是否可以将变量与 x、y 坐标的实时数据一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55877811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com