FFMPEG中Doby-AC3 的处理流程

53 篇文章 1 订阅
12 篇文章 0 订阅

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限制的是你用处理器解码的能力,至于你用哪种库(官方库,开源库)实现这种能力,它不管。


结束!

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

papaofdoudou

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

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

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

打赏作者

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

抵扣说明:

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

余额充值