编译faac音频编码库

13 篇文章 2 订阅
9 篇文章 1 订阅

        faac是MPEG-4和MPEG-2的AAC编码器,我们将使用它作为音频的软编码库。

一、下载

faac官网:http://faac.sourceforge.net

这里使用ubuntu命令行下载,这里下载可能稍慢,耐心等待下载完成

sudo wget https://nchc.dl.sourceforge.net/project/faac/faac-src/faac-1.29/faac-1.29.9.2.tar.gz

下载完成,使用以下指令解压

tar zxvf  faac-1.29.9.2.tar.gz

 

二、编译

1.执行cd faac-1.29.9.2打开文件夹

2.执行sudo vim generate.sh创建编辑脚本文件,并编辑如下内容,编辑完成保存(注:文件中换行前需使用\转义,否则命令行会当作回车执行命令)

如果还没有下载NDK,请参考配置交叉编译环境变量,否则无法使用

#!/bin/bash
#NDK目录,使用之前环境变量中配置的NDK
NDK=$NDK

#编译工具链目录
TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
#目标平台版本,我们将兼容到android-21
API=21


function build
{
./configure --prefix=$PREFIX \
--enable-static=no \
--enable-shared=yes \
--host=arm-linux

make clean
make install
}

#armeabi-v7a
#编译后安装位置 pwd表示当前目录
PREFIX=`pwd`/android/armeabi-v7a
export TARGET=armv7a-linux-androideabi


#一般的库都会使用$CC 变量来保存编译器,设置CC变量的值为clang。
#ndk19之前可以使用 /NDK/arm-linux-androideabi-gcc 来编译, 然而ndk19开始gcc被移除,由clang替代。
export CC=$TOOLCHAIN/bin/$TARGET$API-clang
export CXX=$TOOLCHAIN/bin/$TARGET$API-clang++

FLAGS="--target=$TARGET$API --gcc-toolchain=$TOOLCHAIN -g -DANDROID -fdatasections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -Oz -DNDEBUG -fPIC "
build

3.如果要编译为arm64-v8a,则只需替换以下代码即可

#arm64-v8a
PREFIX=`pwd`/android/arm64-v8a
export TARGET=aarch64-linux-android

3.执行./generate.sh命令,如果执行成功,会在目录下生成android目录,打开android目录即可查看到对应prefix的目录,如:armeabi-v7a目录

 

注:这里要注意两点:

_1.确保NDK路径已经配置环境变量和已经重载配置的环境变量,且路径地址准确

_2.确保脚本中API=xx的值与所下载的NDK版本对应

 

5.打开armeabi-v7a目录,里面会出现include和lib目录,include文件夹中存放生成的faac的头文件,lib文件夹中存放faac的.a或.so文件,到此,faac视频编码库编码完成,在安卓中使用时,直接拷贝armeabi-v7a即可

 

本章内容介绍结束。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值