ffmpeg音频编码pcm2acc

来源:互联网 发布:微信群淘宝客有危险吗 编辑:程序博客网 时间:2024/06/15 00:34

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等目录。

0 0
原创粉丝点击