文章目录

  • 一、安装 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 中只有 444 种 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

命令 , 开始编译 ;

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

  • 配置 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 )相关推荐

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

    文章目录 一.进入 ijkplayer-android 目录 二.切换到 k0.8.8 分支 三.执行 init-android.sh 脚本进行初始化操作 参考 https://github.com/ ...

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

    文章目录 一.报错信息 二.解决方案 一.报错信息 编译 Android 版本的 ijkplayer 时 , 执行 init-android.sh 脚本 , 报如下错误 ; root@octopus: ...

  3. 【ijkplayer】编译 Android 版本的 ijkplayer ① ( Ubuntu 安装 Git 软件 | 下载 ijkplayer 代码 )

    文章目录 一.安装 Git 软件 二.下载 ijkplayer 代码 参考 https://github.com/bilibili/ijkplayer 项目的编译过程 ; 一.安装 Git 软件 执行 ...

  4. 【ijkplayer】编译 Android 版本的 ijkplayer ⑥ ( 进入 ijkplayer-android/android 目录 | 执行 compile-ijk.sh 脚本完成编译 )

    文章目录 一.进入 ijkplayer-android/android 目录 二.执行 compile-ijk.sh 脚本 参考 https://github.com/bilibili/ijkplay ...

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

    文章目录 一.报错信息 二.解决方案 一.报错信息 在编译 ijkplayer 的过程中 , 出现 root@octopus:~/ijkplayer/ijkplayer-android/android ...

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

    文章目录 一.进入 ijkplayer-android 目录 二.执行 init-android-libyuv.sh 脚本 三.执行 init-android-soundtouch.sh 脚本 参考 ...

  7. 编译android版本binutils工具

    编译android版本binutils工具 准备 编译环境:ubuntu 20.04.2 编译器版本:ndk-24.0.8215888 binutils版本: 2.33.1 1. 生成android ...

  8. 编译Android版本的Poco库

    编译Android版本的Poco库 项目需要在android平台使用Poco库,花了些时间成功编译,记录下来以备后用. 编译库总是跟版本有关:编译主机系统为Ubuntu16.04 64位,Poco的版 ...

  9. 编译Android版本TensorFlow

    在Ubuntu 18.04 LTS 下编译Tensorflow的Android库的步骤: 安装Android Studio/Android sdk 安装Android NDK(Android NDK可 ...

最新文章

  1. 【HTML/XML 11】XML和HTML的混合使用
  2. 在CentOS上安装Java环境—openjdk1.7 解决https配置问题
  3. 韶音耳机连不上电脑_运动耳机什么牌子音质好,运动耳机品牌排行榜
  4. Software Testing Homework03:
  5. TensorFlow 合并与分割
  6. 自动化运维-云装机实践
  7. Mysql在离线安装时启动失败:mysql服务无法启动,服务没有报告任何错误
  8. Vue.js入门教程-组件注册
  9. Callable创建多线程
  10. 关于科技创新,2021年政府工作报告这样说
  11. 原创-linux下编译器vi、vim的使用技巧
  12. 吴恩达深度学习4.1练习_Convolutional Neural Networks_Convolution_model_StepByStep_1
  13. Windows Server 2008 Active Directory的安装
  14. Nature:读博不该有害身体健康
  15. php列表顺序,保存列表的顺序(php / zend / jquery)
  16. dedecms织梦让channelartlist标签支持currentstyle属性
  17. Dubbo源码解析-Dubbo架构的实现
  18. Sails框架知识点
  19. 谷歌Chrome浏览器就能远程控制安卓手机,电脑远程控制手机的快捷方法get!
  20. 计算机通信网自学笔记(1)

热门文章

  1. Ubuntu系统如何卸载并安装新版本的jdk(permission denied问题)
  2. 历时八年 HTML5标准终于制定完成
  3. redhat6.4中手动创建oracle11g数据库
  4. JS闭包的理解及常见应用场景
  5. legend3---用Homestead配置后报错“No input file specified.”
  6. TypeScript基础学习 —— 基础类型
  7. Windows下的命令神器Cmder
  8. 表单的增 删 改 查
  9. [java][ide][sts] 使用配置
  10. Jmeter教程索引贴