mac 编译android版ffmpeg 4.0.2

编译环境

1、ffmpeg-4.0.2
2、android-ndk-r16b
3、macOS Mojave 10.14

文件下载

下载ffmpeg-4.0.2.tar.bz2文件 地址
下载安装NDK 地址

编译工作

1、配置ndk环境变量

打开终端输入 pico ~/.bash_profile 然后添加以下代码

export NDK_ROOT=/Users/zhaobo/Downloads/android-ndk-r16b  #这里替换成你的ndk路径

export PATH=$PATH:$NDK_ROOT

control+x保存,在~路径中运行source .bash_profile使之生效

2、修改configure文件

ffmpeg根目录中找到configure文件
将下面四行

SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'

修改为

SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'  
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'  
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'  
SLIB_INSTALL_LINKS='$(SLIBNAME)'

3、编写运行脚本

在ffmpeg 根目录下创建build.sh 脚本文件。

#!/bin/bash
ADDI_CFLAGS="-marm"
API=27
PLATFORM=arm-linux-androideabi
CPU=armv7-a
#使用自己的路径
NDK=/foxy/android/sdk/android-ndk-r16b
SYSROOT=$NDK/platforms/android-$API/arch-arm/
ISYSROOT=$NDK/sysroot
ASM=$ISYSROOT/usr/include/$PLATFORM
TOOLCHAIN=$NDK/toolchains/$PLATFORM-4.9/prebuilt/darwin-x86_64
#手动创建输出目录
OUTPUT=/foxy/ffmpeg/ffmpeg-4.0.2/ffmpegtemp
function build_one
{
./configure \
--prefix=$OUTPUT \
--enable-shared \
--disable-static \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-avdevice \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=android \
--arch=arm \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-I$ASM -isysroot $ISYSROOT -Os -fpic -marm" \
--extra-ldflags="-marm" \
$ADDITIONAL_CONFIGURE_FLAG
  #make clean
  #make -j4 
  #make install
}

build_one

4、开始编译

在终端中依次执行以下命令
sudo chmod+x build.sh
./build.sh
make clean
make -j4
make install

编译完成后文件存在ffmpegtemp中

你可能感兴趣的:(mac 编译android版ffmpeg 4.0.2)