1.官网下载最新的FFmpeg 源代码
donwload:https://ffmpeg.org/download.html
2.NDK 下载:
https://dl.google.com/android/repository/android-ndk-r17c-darwin-x86_64.zip?hl=zh_cn
为什么选择 NDK 呢 ,其实很简单,因为在自己用最新的22 或者其他的 编译的时候都会报错
问题:
/Users/zengliqiang/Library/Android/sdk/ndk/22.0.7026061/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-clang is unable to create an executable file.
C compiler test failed.
在NDK 下面 arm-linux-androideabi-clang 是没有的,需要手动下载,还不如直接下个有的,虽然17也没有,但是使用指令执行./configure --disable-x86asm 生成config.mak文件,再次编译就可以了
3.先解压下载后的ffmpeg代码,进入ffmpeg-4.4目录,修改configure文件(其实可改可不改,只是修改生成so的文件名而已,默认so名称是带版本号的)
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)'
4.FFmpeg根路径下创建 android_build.sh 脚本:
5.编译
5.1进入FFmpeg文件夹 执行
chmod +x build_android.sh
5.2 编译
sh build_android.sh -> /Users/zengliqiang/Documents/out/log.txt
以上内容就可以编译 Android FFmpeg
网友评论