ffmpeg源码编译android版本

ffmpeg编译android版本
去官网下载FFmpeg源码

下载2.8.3版本http://www.ffmpeg.org/releases/ffmpeg-2.8.3.tar.gz
http://www.ffmpeg.org/releases/ 所有版本
笔者下载了最新版本ffmpeg-3.4 编译 出错,换了ffmpeg-2.8.3 ok,耗费了半个下午的功夫,一直怀疑是NDK 问题,NDK几个版本都没问题

拷贝到linux环境中,我这边用的是Ubuntu挂载的Samba

解压ffmpeg-2.8.3.tar.gz
tar jxvf ffmpeg-2.8.3.tar.gz
修改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)'

下载 android-ndk-r12b.zip http://pan.baidu.com/s/1hslGSEo
拷贝到Ubuntu中,解压并move到 ~/ 当前用户目录
unzip android-ndk-r12b.rar #解压缩
sudo mv android-ndk-r12b ~/ #移动到/opt目录

新建安装目录
mkdir -P ~/ffmpeg_install
下载编译脚本build_android.sh 链接:http://pan.baidu.com/s/1o7Xr938 密码:wcoy

将一下变量路径替换为你linux系统对应的路径
NDK=/home/shz/android-ndk-r12b
SYSROOT=$NDK/platforms/android-16/arch-arm/
TOOLCHAIN=/home/shz/android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
PREFIX=/home/shz/ffmpeg-install

拷贝到Ubuntu move 到 ffmpeg-3.4
mv build_android.sh ffmpeg-3.4

添加执行权限
chmod a+x build_android.sh

执行脚本
sudo ./build_android.sh # 注意前面有个小点
3. make4. make install

休息几分钟。。。就可以看到结果了。。。
ll 查看 ffmpeg_install 目录:
这里写图片描述
将lib文件夹中的 pkgconfig 目录和so的链接文件删除,结果如下:
这里写图片描述
ok,假设你一步步走到这里了。打开你sh文件里指定的放编译结果的目录,当前用户下目录 ~/ffmpeg_install 目录下生成 include和lib两个文件夹,只保留so文件,然后include 和lib两个目录拷贝出来到AndroidStudio jni中

—————————————————–华丽的分割线————————————————–

个人配置好的文件 链接:http://pan.baidu.com/s/1nvcdozZ 密码:780i
下载后拷贝到linux ,按上面步骤配置运行脚本即可

猜你喜欢

转载自blog.csdn.net/touxiong/article/details/78596520