ijkPlayer播放器的全自动编译脚本及最终编译包
作者:如此风景 发布时间:2023-01-10 13:52:18
标签:ijkPlayer,播放器,编译
ijkPlayer 编译全格式支持 .so库基本步骤
拉取docker镜像
//命令行执行如下命令即可
docker pull adajqd/ijkplayer-buildenv:1.0
在本机docker目录下check
ijkplayer
项目,有代理的最好自己挂上代理
# 2. 执行命令clone将ijkplayer clone到本地
"克隆此仓库库不需要自己做步骤5,6,7,此仓库中我给做了"
git clone https://gitee.com/jsonzcz/ijkplayer.git ijkplayer-android
"克隆此仓库库需要自己做步骤5,6,7"
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
启动docker并挂载指定目录
# docker run -it -v 主机目录1:容器内目录1 IMAGEID
# 主机目录1 即是check工程的目录
docker run -it -v /Users/koolearn/Downloads/docker/ijkplayer-android:/opt/ijkplayer-android 776a4c5affdd
进入docker命令行(因为执行完3则命令行自动进入容器所以此处可省略)
docker exec -it 容器名 /bin/bash
创建自动化初始化脚本
init.sh
,放到/opt/ijkplayer-android下
# 1. 进入源码目录
cd /opt/ijkplayer-android
# 2. 刷新系统环境变量
source ~/.profile
# 3. 指定分支
git checkout -B latest k0.8.8
# 4. 全量编译
cd config
rm module.sh
ln -s module-default.sh module.sh
手工部分 注意如果check
gitee.com
仓库中的项目则不需要做下面的修改.因为我已经修改过了
1. 找到"do-compile-ffmpeg.sh"和"do-compile-openssl.sh"文件
将 " --toolchain=$FF_TOOLCHAIN_NAME \ 之后增加 --system=linux-x86_64 "
2. 找到"module-default.sh"文件
在文件尾最后增加 export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf"
创建自动化编译脚本
start.sh
,放到/opt/ijkplayer-android下
# 处理环境变量
source ~/.profile
# 切换到工程目录
cd /opt/ijkplayer-android
#初始化
./init-android.sh
#下载OpenSSL
./init-android-openssl.sh
#切换到android/contrib目录下,编译脚本在这个目录下
cd android/contrib
#编译OpenSSL
./compile-openssl.sh clean
./compile-openssl.sh all
#或者把all替换成 armv7a arm64,只编译这两个架构,(好像不太好使,还是用all把)
#编译FFmpeg
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all
#或者把all替换成 armv7a arm64,只编译这两个架构,(好像不太好使,还是用all把)
#返回ijkplayer/android目录,编译ijkplayer的so库
cd ..
./compile-ijk.sh all
#或者把all替换成 armv7a arm64,只编译这两个架构,(好像不太好使,还是用all把)
运行下面命令即可
cd /opt/ijkplayer-android
./init.sh
./start.sh
部分解释
在开发时总是不理解
git checkout -B latest k0.8.8
这个命令,最终百度到了:
git checkout -b tag-1.4.2 1.4.2
新建一个名称为tag-1.4.2的分支,并将远程版本的1.4.2tag check到本地
要是实在懒得编译的可以直接用我编译出来的so包也行
git clone https://gitee.com/jsonzcz/ijkplayer.git ijkplayer-android
就在工程文件夹ijkplayer-android->libs目录下 ijkPlayer支持https全量包.zip,
直接copy出来即可,支持armv7a和arm64
来源:https://juejin.cn/post/7164665077051129887
0
投稿
猜你喜欢
- 我们在写linux的服务的时候,经常会用到linux的多线程技术以提高程序性能 多线程的一些小知识:一个应用程序可以启动若干个线程
- 1、ThreadLocal 使用原理前文我们讲过ThreadLocal的主要用途是实现线程间变量的隔离,表面上他们使用的是同一个Thread
- <profiles> <profile> <
- C# 连接海康威视/// <summary> /// 海康威视SDK ///
- 引言设计: 嗯? 这个图片点击跳转进详情再返回图片怎么变白闪一下呢?产品: 是啊是啊! 一定是个bug开发: 囧囧囧在开发过程中, 也许你也
- 图片转换成字节流先要转换的IMage对象,转换之后返回字节流。字节流转换成图片,要转换的字节流,转换得到的Image对象,根据图片路径返回图
- 相信大家都遇到过,自己的Java应用运行一段时间就宕机了或者响应请求特别慢。这时候就需要我们了来找出问题所在了。绝大部分都是代码问题导致的。
- 释一:属性的访问器包含与获取(读取或计算)或设置(写)属性有关的可执行语句。访问器声明可以包含 get 访问器或 set 访问器,或者两者均
- 从Map、JSONObject取不存在键值对时异常1.在Map中取不存在的键值对时不会报异常只会返回null@Test  
- 大白话讲解:从广义上 Spring 注解可以分为两类:一类注解是用于注册 Bean假如 IoC 容器是一间空屋子,首先这间空屋子啥都没有,我
- Eclipse Che被Eclipse官方称为下一代IDE,作为老牌的IDE,被其寄予厚望的Eclipse Che到底有什么特点,在这篇文章
- 本文实例讲述了Java编程调用微信分享功能。分享给大家供大家参考,具体如下:这篇文章介绍如何使用java开发微信分享功能,因为工作,已经开发
- 这篇文章主要介绍了线程池中使用spring aop事务增强,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 最近在研究JSON,Java中有很多处理JSON的类库,lib-json、sf-json、fastjson还有Jackson Json。第一
- 本文实例讲述了C#自定义控件实现TextBox禁止粘贴的方法。分享给大家供大家参考,具体如下:开发环境:Visual Studio .net
- 写了一个人民币小写转大写的方法,Java版本,思路很简单,没有测出什么Bug,有bug欢迎反馈public class RMBChange
- 小程序获取手机号,后端JAVA解密流程代码微信官方文档获取手机号流程地址,先看下最好方便理解下面步骤实现思路,步骤如下1.前端需先调用官方w
- 标题index界面加载问题刚开始学习springBoot记录一下遇到的小问题1.index.html加载不出来的问题我习惯性的将index.
- 1.概述本篇文章仅是Android小白在写一个小程序,内容仅供参考,有很多不足之处希望各位大神指出,文章末尾有整个项目的下载,不需要币,只求
- 前言Webp是Google推出的一种新型图片格式,相比于 传统的PNG/JPG图片有着更小体积的优势,在Web中有着广泛的应用。由于Webp