音视频(4) - FFmpeg编译集成libx264+fdk_aac库

230 阅读1分钟

ndk版本:r20b
编译环境:mac

#!/bin/bash
export NDK_HOME=/Users/z1zzhyluojin/Library/Android/sdk/ndk/android-ndk-r20b
export PLATFORM_VERSION=android-21
function build
{
echo "start build ffmpeg for $ARCH $LIBX264_INCLUDE"
./configure \
--target-os=android \
--prefix=$PREFIX \
--arch=$ARCH \
--disable-doc \
--enable-shared \
--disable-static \
--enable-libx264 \
--enable-libfdk-aac \
--disable-yasm \
--disable-symver \
--enable-gpl \
--enable-nonfree \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--enable-decoder=aac \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--cc=$TOOLCHAIN/bin/$ARCH-linux-androideabi21-clang \
--cxx=$TOOLCHAIN/bin/$ARCH-linux-androideabi21-clang++ \
--enable-cross-compile \
--sysroot=$SYSROOT \
--enable-small \
--extra-cflags="-Os -fpic -I${LIBX264_INCLUDE}/include -I${LIBFDK_AAC_INCLUDE}/include $ADDI_CFLAGS" \
--extra-ldflags="-L${LIBX264_INCLUDE}/lib -L${LIBFDK_AAC_INCLUDE}/lib $ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
echo "build ffmpeg for $ARCH finished"
}
#arm
ARCH=armv7a
CPU=armv7a
ARCH_NAME=armeabi-v7a
export PREFIX=$(pwd)/android-libx264-fdkaac/$ARCH
TOOLCHAIN=$NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64
CROSS_COMPILE=$TOOLCHAIN/bin/$ARCH-linux-androideabi21-
ADDI_CFLAGS="-marm"
#SYSROOT=$NDK_HOME/platforms/$PLATFORM_VERSION/arch-arm/
SYSROOT=$TOOLCHAIN/sysroot
LIBX264_INCLUDE=/Users/z1zzhyluojin/git-libx264/x264/android/${ARCH_NAME} #x264编译后的目录
LIBFDK_AAC_INCLUDE=/Users/z1zzhyluojin/fdk-aac-2.0.2/android/${ARCH_NAME} #fdkaac库编译后的目录
build