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


猜你喜欢
- 前言:本文介绍Java中数组转为List三种情况的优劣对比,以及应用场景的对比,以及程序员常犯的类型转换错误原因解析。一.最常见方式(未必最
- 本文介绍了android视频截屏&手机录屏实现代码,分享给大家,希望对大家有帮助问题在android中有时候我们需要对屏幕进行截屏操
- 短网址(Short URL) ,顾名思义就是看起来很短的网址。自从twitter推出短网址服务以后,各大互联网公司都推出了自己的短网址服务。
- 本文实例讲述了WPF中的ListBox实现按块显示元素的方法。分享给大家供大家参考,具体如下:注意:需要设置ListBox的属性 Scrol
- maven导入依赖<dependencies> <dependency> &
- 以一个web项目为例,代码是可以移植的首先要导入mail.jar包,然后创建自己的类1:HTMLSender类package com.txq
- 一、关键字关键字:被Java语言赋予特定含义的单词。组成关键字的字母全部小写。注:goto和const作为保留字存在,目前并不使用。main
- 前言:我们都知道Android开发者的必备工具:AndroidStudio。是开发人员用来编译、测试的专用工具。今天在使用And
- 文档中的设置有序或无序列表是一种反应内容上下级关系或者内容相同属性的方式,与单纯的文字叙述相比,它能有效增强文档内容的条理性,突出重点。因此
- 先看MVC模式流程图(其实MVC设计模式就是java中的model2。): &nb
- 将Object类转换为实体类问题描述在用SpringBoot写controller的时候,需要接受一个map的Object,之后要把Obje
- 有时候我们需要判断栈顶的应用是否是我们的应用,于是获取栈顶的应用包名的需求就出现了。在android5.0之前,系统提供了一套API可以实现
- 前言回老家,实在太无聊,于是乎给自己整了一套台式机配置,总价 1W+,本以为机器到位后可以打打游戏,学学技术打发无聊的时光。但是我早已不是从
- FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写FreeMarker被设计用来生成HTML Web
- 本文实例讲述了winform绑定快捷键的方法。分享给大家供大家参考。具体分析如下:第一种:Alt + *(按钮快捷键)在大家给button、
- 一、新时间日期API常用、重要对象介绍ZoneId: 时区ID,用来确定Instant和LocalDateTime互相转换的规则Instan
- 如果一个项目内有很多个界面,那么在layout下会有太多的activity***.xml文件,这个时候就需要使用文件夹对这些分别存放了。当然
- 一、概述有不少人问我intellij idea的mybatis-plus自动生成插件使用出现各种各样的问题,所以我在这边博客的基础上添加一些
- Assets文件介绍assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件。 1. 先在A
- 一、 搭建struts2环境在myeclipse下,右击项目->MyEclipse->Project Facets->in