Mac下cmake编译FFmpeg-4.0

本文提供了一种在Mac环境下编译FFmpeg-4.0的具体步骤,包括所需NDK版本的选择、配置文件的编写及常见错误处理方法。作者建议保持NDK与FFmpeg版本一致以避免编译过程中出现错误。

编译FFmpeg-4.0

网上找了大多数资料Mac下编译ffmpeg,基本上都不成功,也不知道怎么的,这玩意就这么浪费时间?

官方真的该出一个教程了,免得每个开发者都得重复一次这个过程。

NDK 下载地址

FFmpeg 下载地址

ffmpeg每个版本编译方式还不一样,NDK的版本也有差异,建议保持一致,免得出错。

ffmpeg版本:4.0

ndk版本:android-ndk-r16b

可以选择去官网下载,国内的地址参考 Android NDK下载(r10d r13b r14b)

下载源码并解压后,在目录下新建文件ffmpeg_build.sh文件,内容如下:

#!/bin/bash
ADDI_CFLAGS="-marm"
API=27
PLATFORM=arm-linux-androideabi
CPU=armv7-a
NDK=/Users/xxx/Downloads/android-ndk-r16b # 修改自己本地的ndk路径
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/xxx/share #自己指定一个输出目录
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
}

build_one

然后执行./ffmpeg_build.sh,等待编译结果吧。

说明:ffmepg编译过程出错的地方太多,建议大家保持环境一致,如有问题,欢迎大家讨论!

我的编译结果如下:


评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值