NDK21编译ffmpeg5.0.1

本文档详细介绍了如何使用NDK21对FFmpeg5.0.1进行交叉编译,并将其集成到Android Studio项目中。通过创建编译脚本、设置权限、运行编译、新建Native工程、拷贝动态库和头文件、修改CMakeLists.txt和build.gradle文件,以及验证集成成功的过程。
摘要由CSDN通过智能技术生成

导读

对于想要学习音视频开发的android开发者来说,使用NDK对FFmpeg进行交叉编译是一道必须迈过去的坎,网上关于使用NDK对FFmpeg进行交叉编译的教程有很多,

但是不经修改能顺利编译通过的比较少。

其实参照网上的教程不能编译通过很多时候不是人家的教程写的有问题,很多时候更多的是因为环境的差异导致了编译出错,而对于一个入门者来说编译报错了自己却不知道怎么改。

如果对交叉编译不太了解的童鞋们可以先补习下NDK交叉编译基础

NDK编译FFmpeg

今天我们来使用NDK对FFmpeg进行交叉编译并集成到Android Studio中去。

笔者的开发环境是:

电脑系统 Mac OS

NDK 21.1.6352462

FFmpeg源码5.0.1 1、编写编译脚本

首先我们需要下载好对应版本的NDK和FFmpeg源码,然后我们新建一个编译脚本文件build_ffmpeg_android.sh:

#清空上次的编译
make clean
#配置你的NDK路径
export NDK=/Users/flyer/Documents/Android/sdk/ndk/21.1.6352462
TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/darwin-x86_64
​
function build_android
{
./configure \
--prefix=$PREFIX \
--disable-postproc \
--disable-debug \
--disable-doc \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-symver \
--disable-doc \
--disable-avdevice \
--disable-static \
--enable-shared \
--enable-neon \
--enable-hwaccels \
--enable-jni \
--enable-mediacodec \
--enable-decoder=h264_mediacodec \
--enable-decoder=hevc_mediacodec \
--enable-decoder=mpeg4_mediacodec \
--enable-hwaccel=h264_mediacodec \
--cross-prefix=$CROSS_PREFIX \
--target-os=android \
--arch=$ARCH \
--cpu=$CPU \
--cc=$CC \
--cxx=$CXX \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $OPTIMIZE_CFLAGS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值