Mac系统: 10.13.1
FFmpeg 版本 3.2
NDK版本:ndk-r10e
主要是分为4步骤:
1. 将ffmpeg根目录下面的configure文件中的 四个参数改成以下路径: SLIBNAME_WITH_VERSION='$(SLIBNAME).$(LIBVERSION)'
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'
2. 在ffmpeg根目录下新建一个build_android.sh文件,编辑里面内容为:
#!/bin/bash
# NDK的路径,根据自己的安装位置进行设置
NDK=/Users/jiuge/Downloads/android-ndk-r10e
SYSROOT=$NDK/platforms/android-21/arch-arm/
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
CPU=arm
#编译后的文件会放置在 当前路径下的android/arm/下
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
#./configure 即为ffmpeg 根目录下的可执行文件configure
#你可以在ffmpeg根目录下使用./configure --hellp 查看 ./configure后可填入的参数。
./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_CFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
其中需要注意的是前面三个参数的路径,千万不要弄错,我就弄错了,导致编译一直失败;
3. 取得权限:chmod +x build_android.sh
4运行 ./build_android.sh, 即可在ffmpeg根目录下面生成 android文件,里面就是一些你需要的文件。
其中需要注意的几个命令 git clone (ffmpeg git路径)ffmpeg;
vim configure 查看configure文件,以及编辑;touch build_android.sh, 生成sh文件。