ijkplayer 项目教程
1. 项目的目录结构及介绍
ijkplayer 是一个基于 FFmpeg 和 MediaCodec 开发的开源播放器框架,由 Bilibili 网站工程师开发。以下是其主要目录结构及其说明:
- tool: 初始化项目工程脚本。
- config: 编译 FFmpeg 使用的配置文件。
- extra: 存放编译 ijkplayer 所需的依赖源文件,如 FFmpeg、OpenSSL 等。
- ijkmedia: 核心代码。
- ijkplayer: 播放器数据下载及解码相关。
- ijksdl: 音视频数据渲染相关。
- ios: iOS 平台上的上层接口封装以及平台相关方法。
- android: Android 平台上的上层接口封装以及平台相关方法。
- ijkplayer-arm64: arm64 下编译出来的 so 文件。
- ijkplayer-armv5: armv5 编译出来的 so 文件。
- ijkplayer-armv7a: armv7a 编译出来的 so 文件。
- ijkplayer-x86: x86 编译出来的 so 文件。
- ijkplayer-x86_64: x86_64 编译出来的 so 文件。
2. 项目的启动文件介绍
在 ijkplayer 项目中,启动文件主要是用于初始化和编译项目的脚本。以下是一些关键的启动文件:
- init-android.sh: 用于初始化 Android 项目的脚本。
- init-android-openssl.sh: 用于支持 HTTPS 的初始化脚本。
- compile-openssl.sh: 用于编译 OpenSSL 的脚本。
- compile-ffmpeg.sh: 用于编译 FFmpeg 的脚本。
- compile-ijk.sh: 用于编译 ijkplayer 的脚本。
这些脚本主要用于配置和编译项目所需的依赖库和核心组件。
3. 项目的配置文件介绍
在 ijkplayer 项目中,配置文件主要用于定义编译 FFmpeg 和其他组件时的参数和选项。以下是一些关键的配置文件:
- config/module-lite.sh: 用于减少二进制大小的配置文件,移除了一些不常用的 FFmpeg 组件。
- config/module-default.sh: 默认的配置文件,包含所有 FFmpeg 组件。
这些配置文件定义了编译过程中所需的模块和选项,可以根据需要进行裁剪和定制。
以上是 ijkplayer 项目的基本教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望这些信息能帮助你更好地理解和使用 ijkplayer 项目。