最近想仔细研究一下公司的推流以及播放器的底层代码,可是我是做Java的c不是特别的懂,没有办法,先一步步来吧。
ndk配置其实都很简单,我这里就不赘述了,网上大神的帖子也比较多,其实也就下载安装那么几步,然后这里用到的主要也就是是ndk-build这个命令,我用的是mac系统其他的环境变量的配置大同小异,windows下的可能还需要Cywing。
ffmpeg的下载地址:https://ffmpeg.org/download.html#build-mac
下载完成解压(得到如图不包括android文件夹):
配置ndk环境
open ~/.bash_profile 配置环境变量
配置ndk(添加ndk的目录位置)
执行source ~/.bash_profile(生效配置)
执行$PATH:如果得到命令行结果里已经包含你配置的ndk路径那就是成功了
编译FFMpeg
本文的第一张图里边有一个configure,使用sublime Text打开,其他编辑程序也可以,然后找到如下几行
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)'
这个主要是生成的lib包的包名规范成以libxxx.so的形式。
然后编写编译脚本 :
编写脚本的时候需要注意windows下可能会有问题:
1.在WIN底下用文本编辑工具修改过参数变量,在保存的时候没注意编码格式造成的,
2.新建一个名为build_android.sh。代码如下:
#