在视频流上绘制动态文本

时间:2017-10-13 14:33:48

标签: ffmpeg

我正在尝试在我的直播视频流上每5分钟动态更改一次文字 这是我使用的参数:

-vf "drawtext=fontsize=40:fontfile=FreeSerif.ttf:text='hello world':x=(w-text_w)/2:y=(h-text_h)/2"

我在FFMPEG控制台窗口中尝试了'c'但是我无法正确使用它,我总是得到一个解析错误。 有一个如何使用这个选项的例子吗?

感谢。

1 个答案:

答案 0 :(得分:1)

执行重新加载你还需要以原子方式写入文件。首先将文本更新为临时文件,然后重命名。如果没有,在某些时候,FFMpeg将读取空数据,并在创建文件时没有写入任何文本。

  • 使用接下来5分钟的文本创建livetext.txt.tmp。
  • 将livetext.txt.tmp重命名为livetext.txt。

每5分钟重复一次这个过程。

-vf "drawtext=fontsize=40:fontfile=FreeSerif.ttf:textfile=/path/livetext.txt:x=(w-text_w)/2:y=(h-text_h)/2:reload=1"

通过重新加载,Ffmpeg每帧都会读取文本,因此更新几乎是即时的。有关详细信息,请参阅Drawtext filter