我正在尝试在播放视频时在视频上实现水印。
我配置了三个过滤器,正如我在一些例子中看到的那样:
输入视频(INPUT 1)
avfilter_graph_create_filter(&filt_src,avfilter_get_by_name("buffer"),"in", buffersrc_args, NULL,graph);
Png叠加(INPUT 2)
avfilter_graph_create_filter(&bufferovrlay_ctx,bufferovrlay, "overlay", argsStrOvrlay, NULL,graph);
输出视频(输出)
avfilter_graph_create_filter(&filt_out, avfilter_get_by_name("ffbuffersink"),"out", NULL, buffersink_params, graph)
此时我不确定我是否正确设置了叠加过滤器的参数,因为我没有找到任何示例,但函数返回正常。
创建过滤器后,我调用avfilter_graph_parse2(图形,"覆盖",输入和输出) 也没有返回任何错误。
最后我打电话给avfilter_graph_config(graph, NULL);
,我收到以下错误:
-22(AVERROR_INVALIDDATA)
我发现了很多例子,但总是使用命令行。你觉得我做错了什么?有人以编程方式提供示例吗?