因为项目需要,需要加入视频相关的功能,那必然绕不开FFMpeg了,所以本文记录一下在在编译FFMpeg中的经验和教训。
本篇将介绍2种环境下的编译方式:MacOS和Windows使用NDK r16b + FFMpeg 4.0.2,下载地址可以百度一下。这里就不累赘了
先以MacOS为例(因为网上很多例子都是Mac下的,而我刚开始用的windows,导致出现了很低级的错误,但是一直找不到原因)。
1:下载NDK,然后解压 android-ndk-r16b,配置NDK环境变量
打开终端输入 pico ~/.bash_profile
然后添加以下代码
export NDK_ROOT=/Users/zhaobo/Downloads/android-ndk-r16b #这里替换成你的ndk路径
export PATH=$PATH:$NDK_ROOT
然后control+x 然后选择Y enter保存
然后需要更新环境变量 source ~/.bash_profile
验证是否配置正确,在终端里输入ndk-build,如果出现的不是command not found,说明配置成功了。
2:进入第二步,编译ffmpeg
在编译以前还需要做2件事情,1:修改configue文件;2:制作build_android.sh文件。
2.1修改configure文件,configure文件位于ffmpeg的根目录下,用文本编译器打卡,找到build settings
将下面四行
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)'
改为
S