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

获取更多信息

技术方案与商业授权咨询:13718530929

邮件:support@easydarwin.org

WEB:www.easydarwin.org

QQ群:436297092

Copyright © EasyDarwin.org 2012-2017

EasyDarwin

posted @ 2017-07-22 08:56  Babosa|EasyDarwin  阅读(349)  评论(0编辑  收藏  举报