之所以要在linux下编译ffmpeg,是因为在windows下的坑很多,而且在linux下编译方便快捷。
安装
现在大部分的电脑都是windows,所以我们可以先装个虚拟机,装个linux系统,这里不详细说了,网上教程很多,这里我用的虚拟机是Oracle VM VirtualBox,系统则用的是Ubuntu,只要网速快,都不是问题。。。
配置
ffmpeg源码:https://ffmpeg.org/
ndk下载:http://www.androiddevtools.cn/
以上源码解压到你新建的目录下就可以了
去版本后缀
FFMPEG默认编译出来的库后缀是有加版本号的,这种Android上似乎是加载不了哇!别着急,稍微改改就成。将configure文件中的下面四行:
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)'
新建脚本
在你解压后的ffmpeg源码的根目录下新建一个build.sh文件(记住这是个脚本文件),脚本代码如下,你只需复制进你新建的build.sh文件了,旨在将ffmpeg编译成单个类库(参照http://blog.csdn.net/leixiaohua1020/article/details/470110