zoukankan      html  css  js  c++  java
  • 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

    获取更多信息

    邮件:support@easydarwin.org

    WEB:www.easydarwin.org

    QQ群:436297092

    Copyright © EasyDarwin.org 2012-2017

    EasyDarwin

  • 相关阅读:
    编写登陆认证程序
    模拟实现一个ATM + 购物商城程序
    三级菜单
    12 场景制造
    11 Unity Editor界面
    3.7练习题
    Coolite 弹窗妙用
    Nginx反向代理 实现Web负载均衡
    MySQL 架构
    Lnmmp
  • 原文地址:https://www.cnblogs.com/babosa/p/7348742.html
Copyright © 2011-2022 走看看