WebRTC接入AAC
2023-06-19 本文已影响0人
BryanHong
WebRTC源码默认不支持AAC,若要在源码里面支持AAC,需要改到以下的源码,目前接入的编码库为faac,解码库为faad2。
1、faac(Android&&iOS)编译,faad2(Android&&iOS)编译
2、在api/audio_codecs添加aac模块,该模块主要是工厂方法,生成aac的sdp,采样率,创建aac编解码器,如下图所示:
![](https://img.haomeiwen.com/i4994949/0968b1dad0f94960.png)
2、在api/audio_codecs下的BUILD.gn添加AAC模块,如下图所示:
![](https://img.haomeiwen.com/i4994949/12f3bcbaa717e4e2.png)
3、在解码工厂和编码工厂添加AAC编解码,如下图所示:
![](https://img.haomeiwen.com/i4994949/aed8652b6ce32c19.png)
![](https://img.haomeiwen.com/i4994949/c55f669507352bec.png)
4、编解码模块实现。
modules/audio_coding/BUILD.gn添加编译源码,如下图所示:
![](https://img.haomeiwen.com/i4994949/ecdfdbff979e5e1f.png)
在modules/audio_coding/codecs添加编解码实现代码,如下图所示:
![](https://img.haomeiwen.com/i4994949/e0068e38064af319.png)
以上为WebRTC添加AAC主要的流程。具体源码后续抽时间贴出。在实现过程中还遇到不少问题,比如时间戳、长度等问题,后续统一整理下。