参考 https://github.com/bilibili/ijkplayer 项目的编译过程 ;
执行
sudo apt-get install make
命令 , 安装 make 软件 , 安装过程 :
root@octopus:~/ndk/android-ndk-r10e# sudo apt-get install make
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
建议安装:
make-doc
下列【新】软件包将被安装:
make
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 466 个软件包未被升级。
需要下载 154 kB 的归档。
解压缩后会消耗 381 kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu bionic/main amd64 make amd64 4.1-9.1ubuntu1 [154 kB]
已下载 154 kB,耗时 2秒 (93.0 kB/s)
正在选中未选择的软件包 make。
(正在读取数据库 ... 系统当前共安装有 129713 个文件和目录。)
正准备解包 .../make_4.1-9.1ubuntu1_amd64.deb ...
正在解包 make (4.1-9.1ubuntu1) ...
正在设置 make (4.1-9.1ubuntu1) ...
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...
root@octopus:~/ndk/android-ndk-r10e#
root@octopus:~/ndk/android-ndk-r10e#
执行
sudo apt-get install yasm
命令 , 安装 yasm 汇编编译器 ;
完整执行过程 ;
root@octopus:~# sudo apt-get install yasm
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列【新】软件包将被安装:
yasm
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 466 个软件包未被升级。
需要下载 406 kB 的归档。
解压缩后会消耗 2,164 kB 的额外空间。
获取:1 http://cn.archive.ubuntu.com/ubuntu bionic/universe amd64 yasm amd64 1.3.0-2build1 [406 kB]
已下载 406 kB,耗时 3秒 (149 kB/s)
正在选中未选择的软件包 yasm。
(正在读取数据库 ... 系统当前共安装有 129729 个文件和目录。)
正准备解包 .../yasm_1.3.0-2build1_amd64.deb ...
正在解包 yasm (1.3.0-2build1) ...
正在设置 yasm (1.3.0-2build1) ...
正在处理用于 man-db (2.8.3-2ubuntu0.1) 的触发器 ...
root@octopus:~#
修改 compile-ffmpeg.sh 脚本 , Android 中只有
种 CPU 架构 , “armeabi-v7a” , “arm64-v8a”, “x86”, “x86_64” ,
在该 compile-ffmpeg.sh 脚本中 , 配置如下 :
FF_ACT_ARCHS_32="armv5 armv7a x86"
FF_ACT_ARCHS_64="armv5 armv7a arm64 x86 x86_64"
将其修改为 :
FF_ACT_ARCHS_32="armv7a x86"
FF_ACT_ARCHS_64="armv7a arm64 x86 x86_64"
修改后效果 :
执行
./compile-ffmpeg.sh all
命令 , 开始编译 ;
注意 : 下面
个必须都满足才可以完成后续编译 ;
export ANDROID_NDK=/root/ndk/android-ndk-r10e
配置 ndk 环境变量 ;编译 ffmpeg 过程 :
完成编译后的输出 :