ffmpeg音频编码pcm2acc

本文详细介绍了ffmpeg与fdk-aac的交叉编译过程,并提供了API应用编程示例,包括动态库与静态库的编译规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、编码库版本及下载地址:

ffmpeg:

点击打开链接

ffmpeg-2.6.1

aac: 

fdk-aac-0.1.2

点击打开链接

http://pan.baidu.com/s/1kTwympx

2、fdk-aac-0.1.2交叉编译

# ./configure --prefix=$PWD/out --host=arm-hisiv100nptl-linux

# make 

# make install

# cp ./out /opt/arm/libfdk-aac -rf


3、ffmpeg-2.6.1d交叉编译


#./configure --prefix=$PWD/out --enable-cross-compile --arch=arm --target-os=linux  --cc=arm-hisiv100nptl-linux-gcc --enable-shared --enable-libfdk-aac --extra-cflags=-I/opt/arm/libfdk-aac/include --extra-ldflags=-L/opt/arm/libfdk-aac/lib

#make 

#make install


4、API应用编程


动态库编译规则:

arm-hisiv100nptl-linux-gcc  -o audioEncoder audioEncoder.c -L ./ffmpeg/lib -L ./fdk-aac/lib -I ./ffmpeg/include/ -lavcodec -lavformat -lavutil -lswresample -lfdk-aac -pthread


静态库编译规则:

arm-hisiv100nptl-linux-gcc  -o audioEncoder audioEncoder.c -I ./ffmpeg/include/ -I ./fdk-aac/include -pthread -lm ./ffmpeg/lib/libavformat.a ./ffmpeg/lib/libavcodec.a ./ffmpeg/lib/libavutil.a ./ffmpeg/lib/libswresample.a ./fdk-aac/lib/libfdk-aac.a

备注:

静态库的链接顺序可能会导致编译报错

静态库使用了一些标准的数学函数库,编译时一定要加上-lm,否则报错

5、调试

export LD_LIBRARY_PATH=./ffmpeg/lib
./audioEncoder


备注:

ffmpeg自带的aac编码处于试验阶段,pcm2aac需要第三方库的支持(libfdk-aac 、libfaac),例程中选择的是libfdk-aac;

加入第三方库支持,在configure时,一定要指定第三方库的头文件、库文件的链接路径;

交叉编译生成文件在当前编译目录下的out, ls ./out 可以看到编译生成lib、include等目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值