您的位置:首页 > 移动开发 > Android开发

ffmpeg源码编译android版本

2017-11-21 20:22 701 查看
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 ,按上面步骤配置运行脚本即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息