FFmpeg Avfilter字符串解析中如何指定avfilter实例的名字

在开发过程中,通过分析Avfilter和AvfilterGraph的源码,了解到Avfilter实例的名称与其类型名通过@符号分隔。例如,在重采样配置[in0]aresample@aresample_0=48000[out0]中,[in0]和[out0]分别代表输入和输出,aresample是滤镜类型,aresample_0是实例名。这个过程涉及到对滤镜对象句柄的获取和具体配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做一个功能要设置Avfilter实例的参数,折腾了不少时间,因为要访问具体的对象,没有对象名,无法获取句柄,只能去分析Avfilter/AvfilterGraph源码

解析Avfilter实例名字的函数:filter_parse
定位到代码 inst_name = strchr(p->filter_name, ‘@’)
可以基本确定Avfilter类型名与实例对象名之间是使用@分开的

比如重采样字符串内容设置:
[in0]aresample@aresample_0=48000[out0]

[in0]表示输入 buffersrc
[out0]表示输出buffersink
aresample表示Avfilter类型滤镜
aresample_0表示滤镜对象的具体名字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值