ijkplayer编译 Android 版本的 ijkplayer ④ ( 安装 make yasm 软件 | 执行 compile-ffmpeg.sh all 命令编译 ffmpeg )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ijkplayer编译 Android 版本的 ijkplayer ④ ( 安装 make yasm 软件 | 执行 compile-ffmpeg.sh all 命令编译 ffmpeg )相关的知识,希望对你有一定的参考价值。

文章目录


参考 https://github.com/bilibili/ijkplayer 项目的编译过程 ;





一、安装 make 软件



执行

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# 





二、安装 yasm 软件



执行

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 all 命令编译 ffmpeg



修改 compile-ffmpeg.sh 脚本 , Android 中只有 4 4 4 种 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

命令 , 开始编译 ;

注意 : 下面 3 3 3 个必须都满足才可以完成后续编译 ;

  • 配置 ndk : 执行前必须已经配置好了 android-ndk-r10e 版本的 ndk , 通过执行 export ANDROID_NDK=/root/ndk/android-ndk-r10e 配置 ndk 环境变量 ;
  • 安装 make : 确保 make 编译工具安装 ;
  • 安装 yasm : 确保 yasm 汇编编译器已经安装 ;

编译 ffmpeg 过程 :

  • 开始编译 :

完成编译后的输出 :

以上是关于ijkplayer编译 Android 版本的 ijkplayer ④ ( 安装 make yasm 软件 | 执行 compile-ffmpeg.sh all 命令编译 ffmpeg )的主要内容,如果未能解决你的问题,请参考以下文章

ijkplayer编译 Android 版本的 ijkplayer ⑤ ( 执行 init-android-libyuv.sh | 执行 init-android-soundtouch.sh )

错误记录编译 Android 版本的 ijkplayer 报错 ( You must define ANDROID_NDK before starting. | 下载指定版本 NDK )

ijkplayer编译 Android 版本的 ijkplayer ② ( 切换到 k0.8.8 分支 | 执行 init-android.sh 脚本进行初始化操作 )

ijkplayer编译 Android 版本的 ijkplayer ④ ( 安装 make yasm 软件 | 执行 compile-ffmpeg.sh all 命令编译 ffmpeg )

ijkplayer编译 Android 版本的 ijkplayer ③ ( 执行 compile-ffmpeg.sh clean 命令 | 下载并配置 android-ndk-r10e )

错误记录编译 Android 版本的 ijkplayer 报错 ( ./init-android.sh: 第 37 行: cd: android/contrib/: 没有那个文件或目录 )