EasyAACEncoder海思/ARM平台优化G711、G726转AAC的CPU占用高问题
本文转自EasyDarwin开源团队成员Kim的博客:http://blog.csdn.net/jinlong0603/article/details/75645378
引言
目前EasyDarwin团队开发的开源EasyAACEncoder支持将各种音频数据(G.711A/PCMA、G.711U/PCMU、G726、PCM)转码成AAC(with adts)格式,其中aac编码部分采用的是业界公认的faac库,EasyAACEncoder支持Windows、Linux、ARM等多种平台,能够应用于各种移动终端设备、嵌入式设备和流媒体转码服务器!
测试
在实际测试中,在x86设备上效果还不错,可以满足正常音频转换的需求,但是在海思等ARM平台上,CPU消耗较高。
为了解决这个问题,EasyDarwin团队重新打造了一份高效率的适用于Linux系统(x86和ARM架构)的版本,针对算法、效率等进行了优化。目前测试在硬件设备较差的ARM9架构的hisi3518C上,调用设备SDK,并进行音频转码,CPU消耗在4%~5%左右,在其他设备上CPU的消耗会更低。非常适用于嵌入式设备内部进行音频转码。
调用示例
-
testEasyAACEncoder:通过EasyAACEncoderAPI对G711A/G711U/G726进行AAC转码;
Linux编译方法,可通过执行./Buildit不带参数查看如何编译
chmod +x ./Buildit ./Buildit hisiv100
-
ARM版本的EasyAACEncoder库可自行编译;
调用过程
如果是商业版本需要在Easy_AACEncoder_Init之前调用Easy_AACEncoder_Activate接口进行激活。
下载地址
https://github.com/EasyDarwin/EasyAACEncoder
获取更多信息
QQ群:436297092
Copyright © EasyDarwin.org 2012-2017