如何解决有多个drawtext目标时,如何编写函数“ avfilter_graph_send_command”ffmpeg的* args?
我在ffmpeg drawtext过滤器上添加了2个drawtext,我的过滤器descr像这样 “ drawtext = fontfile = simhei.ttf:fontcolor=#ff00ff@%1.0:fontsize = 20:box = 1.0:boxcolor=#00ff00@%1.0:x = 0:y = 0:text ='123', drawtext = fontfile = simhei.ttf:fontcolor=#ff00ff@%1.0:fontsize = 20:box = 1.0:boxcolor=#00ff00@%1.0:x = 0:y = 200:text ='456'“ ,因此视频上有两个字符水印。 而且此过滤器支持通过命令更改参数:reinit,所以我使用函数:avfilter_graph_send_command(m_filter_graph,“ drawtext”,“ reinit”,m_filters_args,NULL,0,0)实时修改水印。(m_filters_args是我的* arg变量) 我尝试将snprintf m_filters_args作为 “ fontfile = simhei.ttf:fontcolor=#ff00ff@%1.0:fontsize = 20:box = 1.0:boxcolor=#00ff00@%1.0:x = 0:y = 10:text ='112233',fontfile = simhei.ttf:fontcolor=#ff00ff@%1.0:fontsize = 20:box = 1.0:boxcolor=#00ff00@%1.0:x = 0:y = 200:text ='445566'”,但它没有不能按我希望的那样工作,它只能修改一个drawtext,我希望它们都可以修改,我尝试了其他方法,但都失败了。 您能告诉我如何编写* arg还是有其他方法可以解决问题。
任何帮助将不胜感激!
解决方法
您可以将ID附加到过滤器上,例如drawtext@abc=fontfile=...
。然后,将命令目标设置为drawtext@abc
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。