一、编译前准备工作
- 1、安装VMware即Ubuntu虚拟机并配置好SDK、NDK
- 2、虚拟机内安装ruby、git、yasm、
3、终端输入 git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
详述
以下动作、命令均是在linux虚拟器也就是Ubuntu终端环境内执行
在terminal里输入
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
如果提示ruby 不存在则安装ruby输入
sudo apt-get install ruby
装完继续上面步骤
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
终端输入git可查看本机有没有安装git,若没有
#安装git
sudo apt instasll git
#安装yasm
sudo apt install yasm
以下为执行完clone ijkplayer到本地之后的操作
cd ijkplayer-android
#检查更新代码
git checkoput -B latest k0.7.1
#初始化,把ffmpeg代码拉取到本地(需要较长较长较长。。。。。时间)
./init-android.sh
注意:按照默认的配置编译出的so文件不支持rtsp流的播放,也可能不支持avi、rmvb等格式的视频。需要按照官方提示配置more format再进行编译
二、ijkplayer项目代码结构说明
官方给出的ijkplayer-android内有例子,代码也可直接参考使用,这里提供一个我参考、借鉴之后写成的demo,playermanger即简单封装的开始播放、结束播放、接受回调等代码。
强烈建议依赖libijkplayer module,支持的视频格式更多,也不会有明显的黑屏白屏问题,调用方法参考app中的调用示例。VideoIjkplayer有较明显的启动或者切换fragment出现2秒至3秒的白屏问题。