音视频开发(一)FFmpeg 编译安卓需要的SO动态库

音视频开发(一)编译安卓需要的SO动态库


1、下载FFmpeg(3.3.9)

http://www.ffmpeg.org/download.html#releases

音视频开发(一)FFmpeg 编译安卓需要的SO动态库

2、下载NDK(R13b)

https://developer.android.google.cn/ndk/downloads/index.html

音视频开发(一)FFmpeg 编译安卓需要的SO动态库

3、解压FFmpeg和NDK

解压Ffmpeg(tar -zxvf ffmpeg-3.3.6.tar.gz)
解压NDK(unzip android-ndk-r14b-linux-x86_64.zip)


Android编译脚本

  • 1、修改FFmpeg的configure文件
  • 2、编写Android编译脚本

脚本如下:

NDK_HOME=/urs/work/ndk/android-ndk-r14b这行脚本根据你的NDK路径修改
音视频开发(一)FFmpeg 编译安卓需要的SO动态库
音视频开发(一)FFmpeg 编译安卓需要的SO动态库
脚本下载地址:
链接:https://pan.baidu.com/s/1t4XF88-qlqWyC_jEj7ZC-g
提取码:ch37

由于configure脚本需要修改成安卓能识别的,所以我这里已经将修改好的configure脚本放在百度云,下载替换原来的就可以编译了

  • 1、执行configure文件生成makefile文件
    ./configure(执行脚本)
  • 执行android编译脚本
    ./build_android.sh(执行脚本) (复制到FFmpeg根目录执行)

编译结果

音视频开发(一)FFmpeg 编译安卓需要的SO动态库
音视频开发(一)FFmpeg 编译安卓需要的SO动态库
x86平台
音视频开发(一)FFmpeg 编译安卓需要的SO动态库
arm平台
音视频开发(一)FFmpeg 编译安卓需要的SO动态库

需要的动态库

把带有数字的8个.so文件提取出来以及arm或x86的include文件
音视频开发(一)FFmpeg 编译安卓需要的SO动态库
音视频开发(一)FFmpeg 编译安卓需要的SO动态库