FFmpeg 开发(09):FFmpeg、x264以及fdk-aac 编译整合

本文介绍了在Android环境下,如何使用NDK r20b和clang编译fdk-aac、x264以及FFmpeg,并链接这两个库。编译过程包括创建编译脚本、修改权限并执行,最终生成32位和64位的静态库。FFmpeg的编译需要特别注意链接数学库以避免错误,错误排查可通过查看config.log文件。
摘要由CSDN通过智能技术生成

前面系列文章已经讲过使用 FFmpeg 对音频和视频进行解码以及视频添加滤镜渲染,接下来文章将会介绍音频和视频编码相关,包括为视频添加好玩的滤镜、音频添加搞笑的变声效果。

关于 x264、fdk-aac、FFmpeg 开源库的编译介绍网上“满大街”都是的,可参考资料很多。 本文只是采用高一些的 NDK 版本,使用 clang 编译,以防止后面二次开发时出现编译问题。

编译环境

按照套路先说明编译环境:
编译环境:

编译 fdk-aac

fdk-aac 是指:Fraunhofer FDK AAC 编解码器库,是一个开源软件库,用于编码和解码高级音频编码格式 AAC 的音频。

在 fdk-aac 解压目录下创建编译脚本 build_fdk_aac_clang.sh

#!/bin/bash
NDK=/root/workspace/android-ndk-r20b # 这里需要替换成你本地的 NDK 路径,其他的不用修改
HOST_TAG=linux-x86_64
TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/$HOST_TAG
ANDROID_LIB_PATH="$(pwd)/android"

API=21

function build_android
{
echo "Build fdk-aac for android $CPU"
./configure \
--host=$HOST \
--disable-shared \
--enable-static \
--prefix="$ANDROID_LIB_PATH/$CPU" \
 CPPFLAGS="-fPIC"

make clean
make -j8
make install
echo "Build fdk-aac for android $CPU completed"
}

# armeabi-v7a
CPU=armv7-a
HOST=arm-linux-android
export AR=$TOOLCHAIN/bin/arm-linux-androideabi-ar
export AS=$TOOLCHAIN/bin/arm-linux-androideabi-as
export LD=$TOOLCHAIN/bin/arm-linux-androi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值