ijkplayer定制化编译

目录

一,背景介绍

1.1  编译环境

1.2  工具安装

2,编译定制

2.1 代码下载

2.2 初始化

2.3 编译openssl

2.4 编译ffmpeg

2.5 编译 ijkplayer


一,背景介绍

        ijkplayer是一款由哔哩哔哩公司开发的基于FFmpeg的播放器SDK开源架构,是值得音视频开发人员进行研究和使用的。上手ijkplayer第一步就是要学会编译。这里记录一下编译相关过程。本文是在安卓平台上开发的,所以主要记录的也是ijkplayer-android的编译过程,环境是在Ubuntu下编译的。

1.1  编译环境

1、系统:Ubuntu 20.04.6
2、jdk:1.8.0_161
3、ndk:android-ndk-r10e


1.2  工具安装

# install homebrew, git, yasm
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
brew install yasm

# add these lines to your ~/.bash_profile or ~/.profile
# export ANDROID_SDK=<your sdk path>
# export ANDROID_NDK=<your ndk path>

# on Cygwin (unmaintained)
# install git, make, yasm        

2,编译定制

2.1 代码下载

git clone https://github.com/bilibili/ijkplayer.git 

2.2 初始化

运行初始化脚本:

$ cd ijkplayer/

$ ./init-android.sh

2.3 编译openssl

默认配置是不支持https的,如需支持,配置如下: 

$ ./init-android-openssl.sh

$ cd android/contrib/

$ ./compile-openssl.sh clean

$ ./compile-openssl.sh all

2.4 编译ffmpeg

$ cd ../.. 

$ cd android/contrib/

$ ./compile-ffmpeg.sh clean

$ ./compile-ffmpeg.sh all

2.5 编译 ijkplayer

$ cd ../..

$ ./compile-ijk.sh

在目录 ijkplayer/android/ijkplayer下,生成文件如下,按照不同平台取对应so文件,

 

如取arm64,ijkplayer/android/ijkplayer/ijkplayer-arm64/src/main/libs/arm64-v8a下的文件,

 

取对应的so文件到自己的工程目录下,

 

  • 25
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ijkplayer 是一款开源Android 视频播放器框架,支持多种视频格式的播放。若要进行全格式编译,首先需要准备好编译环境,包括 Android NDK 和编译工具链。 接下来,我们需要进行如下步骤来进行全格式编译: 1. 下载 ijkplayer 的源代码,并解压到本地目录。 2. 进入到 ijkplayer 源代码的目录下,找到 `android` 目录,该目录下存放了所有的编译脚本和配置文件。 3. 使用 `cd` 命令进入 `android` 目录,然后执行 `./init-android.sh` 初始编译环境,该脚本会自动下载和配置一些必要的依赖工具。 4. 执行 `./compile-ffmpeg.sh` 命令来编译 FFmpeg,这是 ijkplayer 的核心组件,支持多种视频格式的解码和播放。该脚本会自动下载 FFmpeg 的源代码,并进行编译。 5. 编译完成后,可以根据需要执行 `./compile-ijk.sh` 和 `./compile-ijkplayer.sh` 命令来分别编译 ijkplayer 的其他组件和最终的播放器库。 6. 编译完成后,在 `android` 目录下会生成 `ijkplayer-armv7a`、`ijkplayer-arm64`、`ijkplayer-x86` 等目录,分别对应不同的 CPU 架构和 ABI 类型。 7. 在项目中,可以将编译生成的库文件和相关的头文件导入到自己的工程中,然后按照 ijkplayer 的 API 来进行视频播放的开发。 需要注意的是,全格式编译可能会占用较长的时间和一定的存储空间。编译过程中如果遇到问题,可以查看编译日志和相关文档,或者参考 ijkplayer 官方的社区和论坛来寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佳哥的技术分享

创作不易,谢谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值