ijkplayer 是 bilibili 开源的一款优秀的播放器, 基于 FFmpeg, 支持 iOS/Android, 点播/直播, 以及多种编码. 官方并不直接提供 framework 框架包, 这样大家可以根据需要选择配置, 自己编译并打包. 但是也让很多第一次使用的小伙伴一脸懵逼, 并且默认配置只支持 http, 如果想播放 https 链接的视频, 那么需要做额外的配置
本文为 iOS 的编译打包过程, 环境为 Mac + Xcode
1、准备工作
安装 homebrew, git, yasm. (如果已经安装好可以跳过, 不清楚的再来一遍也无妨)
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew install git brew install yasm
2、获取 ijkplayer 源码
在一个合适的位置新建一个文件夹, 假设为桌面, 文件夹名为 ijkplayer
.
打开终端, 输入下面的指令
# 进入到刚刚新建的文件夹内 cd ~/Desktop/ijkplayer/ # 获取ijkplayer源码 git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios # 进入源码目录 cd ijkplayer-ios # 切换分支 (目前为k0.8.8, 可以自行去GitHub查看最新版本号) git checkout -B latest k0.8.8
3、配置编解码器格式支持
默认为最少支持, 如果足够你使用, 可以跳过这一步. 否则可以改为以下配置:
-
module-default.sh
更多的编解码器/格式 -
module-lite-hevc.sh
较少的编解码器/格式(包括hevc) -
module-lite.sh
较少的编解码器/格式(默认情况)
# 进入 config 目录 cd config # 删除当前的 module.sh 文件 rm module.sh # 可根据需要替换为`module-default.sh`, `module-lite-hevc.sh`, `module-lite.sh` # 创建软链接 module.sh 指向 module-lite-hevc.sh ln -s module-lite-hevc.sh module.sh cd .. cd ios sh compile-ffmpeg.sh clean
4、获取 ffmpeg 并初始化
cd