FFMPEG中Doby-AC3 的处理流程

本文探讨了FFMPEG中Dolby-AC3解码器的实现,说明了尽管开源代码可以解码Dolby AC3,但产品中使用仍需购买杜比的版权许可。杜比的版权主要限制在终端处理器解码能力上,而非解码库的选择。解码器可能存在兼容性问题,并且杜比有权通过测试用例来判断是否使用了官方解码器。

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

Dolby-AC3是需要Licence的,但是FFMPEG却有解码源代码,并且可以解码成功,不知道是不是这个license只限制在产品中征收版税,而不限制开源或者以研发为目的的使用。

FFMPEG中Dolby解码框架解读:

解码接口有三个,分别是init/decode/end,实现在ac3dec.c中,但ac3dec.c本身部直接参与编译,而是以头文件的形式被包含在ac3dec_float.c/ac3dec_fixed.c文件中,参与编译的是后者。

注册codec.


其中,EAC3就是DD+。

验证:

准备AC3片源:

mediainfo /media/caozilong/B0509F8C509F5844/The.Godfather.Part2.Blu-ray.720p.x264.DD51-HiS@MySiLU.mkv

可见音轨是AC3.

添加调试打印:

ac3_decode_frame函数中添加调试打印信息;

重新编译安装:

ffmpeg测试:

./ffplay /media/caozilong/B0509F8C509F5844/The.Godfather.Part2.Blu-ray.720p.x264.DD51-HiS@MySiLU.mkv

gstreamer测试:

gst-play-1.0 /media/caozilong/B0509F8C509F5844/The.Godfather.Part2.Blu-ray.720p.x264.DD51-HiS@MySiLU.mkv

可以看到,无论FFMPEG还是GST都有AC3解码入口的打印。


关于版权

产品中使用Dolby-AC3是需要购买版权的,但是在FFMPEG里面,是有AC3的解码器实现的,并且经过上面测试,它是可以正常工作的,既然开源实现可以替代杜比自己的实现,那岂不是任何人都可以不付出成本的加以使用了么? 那么Dolby赚钱的逻辑是什么?杜比的版权究竟限制的是什么呢?

经过请教,加深了对这个问题的理解,简单来说,杜比的逻辑是,能够播放杜比音频的终端,它的主控IC必须有我的授权,没有就属于非法使用,市场上发现这样的产品它就可以告你。但是如果你购买了我的授权,那么你是用我的解码器还是FFMPEG中的解码器,你随便选,但最终解释权归它所有。并且FFMPEG AC3解码器肯定比不过标准制定者杜比原厂的实现,所有肯定是有兼容性问题的,如果客户投诉杜比音质问题,上诉到杜比那里,人家拿一些特殊夹具一测就知道你是不是使用了官方解码器的实现。至于什么是夹具,就是一些测试用例,TestBench之类。

总结:Dolby License限制的是你用处理器解码的能力,至于你用哪种库(官方库,开源库)实现这种能力,它不管。


结束!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

papaofdoudou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值