美文网首页
MacOS下编译FFmpeg android版

MacOS下编译FFmpeg android版

作者: 许方镇 | 来源:发表于2019-06-23 01:03 被阅读0次

遇到的问题

用了最新的ffmpeg和ndk进行编译,出了些问题,shell脚本对不同ffmpeg、ndk版本,不是都能成功,想要编译成功,版本最好和文中保持一致。

开始

1. 下载ffmpeg和ndk进行解压

FFmpeg下载
NDK下载
这里我使用了ffmpeg-4.0.5和android-ndk-r16b

2. 创建构建脚本

打开ffmpeg文件夹,创建build_android_fffmpeg.sh,再复制以下脚本进行保存
需要修改路径

#!/bin/bash
#修改成自己的ndk路径
NDK=/Users/xufangzhen/StudioProjects/android-ndk-r16b
ADDI_CFLAGS="-marm"
API=27
PLATFORM=arm-linux-androideabi
CPU=armv7-a
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=/Users/xufangzhen/StudioProjects/ffmpeg-4.1.3/build
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 
  make install
}
echo "开始编译ffmpeg..."
build_one
echo "完成编译..."
创建脚本.png

保存后通过chmod +x build_android_ffmpeg.sh 申请权限
再输入./build_android_ffmpeg.sh执行脚本

执行脚本.png

一杯咖啡的时间后,成功编译


编译成功.png

mac下遇到
无法打开“xxxx”,因为无法验证开发者。需要去安全和隐私里全部打开

参考:
https://www.jianshu.com/p/e8727f01cc6b

相关文章

网友评论

      本文标题:MacOS下编译FFmpeg android版

      本文链接:https://www.haomeiwen.com/subject/rambqctx.html