编译ffmpeg 需要用ndk
下载ndk
https://developer.android.google.cn/ndk/downloads/older_releases
wget https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip
解压
unzip android-ndk-r14b-linux-x86_64.zip
配置环境变量
vim ~/.bashrc
export NDKROOT=/ndk/android-ndk-r14b
export PATH=$NDKROOT:$PATH
下载ffmpeg
http://www.ffmpeg.org/releases/
wget http://www.ffmpeg.org/releases/ffmpeg-2.6.9.tar.gz
tar -xzf ffmpeg-2.6.9.tar.gz
在ffmpeg目录建立一个shell脚本文件用来执行ffmpeg configure脚本 因为configure需要传的参数太多好多都是我们不需要的
bulder_android.sh 文件内容
通过我们自己写的脚本去执行它的脚本
#!/bin/bash
make clean
export NDK=/ndk_build/android-ndk-r14b
export SYSROOT=$NDK/platforms/android-9/arch-arm/
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
export CPU=arm
export PREFIX=$(pwd)/android/$CPU
export ADDI_CFLAGS="-marm"
./configure --target-os=linux \
--prefix=$PREFIX --arch=arm \
--disable-doc \
--enable-shared \
--disable-static \
--disable-yasm \
--disable-symver \
--enable-gpl \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
修改ffmpeg的 configure 大约在2779行
执行./builder_android.sh
编译时间比较久大概需要20分钟
执行完后会生成一个android目录