ExoPlayer as IMediaPlayer: optional, experimental
compile ‘tv.danmaku.ijk.media:ijkplayer-exo:0.8.1.2’
}
编译
如果我们需要获取更多的视频格式支持(比如mkv,rmvb等),需要自己进行编译。我这里有个成品,包括一个小的demo,不想编译的同学可以自提。github地址。
我是在Ubuntu下编译的。具体的方法官方的GitHub有,我总结一下,基本就是对着终端输入指令:
-
自行在ubuntu下配置好Android的sdk和ndk。
-
安装git和yasm。打开终端,依次输入如下指令:
sudo apt-get update
sudo apt-get install git
sudo apt-get install yasm
- 从github中拉取代码,并且cd到代码的目录下
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
- 把代码更新到最新的版本。最新的版本号可以看GitHub。输入指令:
git checkout -B latest k0.8.1.2
- 初始化,包括了把ffmpeg的代码拉取到本地等操作,输入指令:
./init-android.sh
- clean一下,输入指令:
cd android/contrib
./compile-ffmpeg.sh clean
- 编译ffmpeg软解码库,输入指令:
./compile-ffmpeg.sh all
- cd到上一级目录,输入指令:
cd …
- 得到ijkplayer的项目,输入指令:
./compile-ijk.sh all
其实就是跟着步骤在命令行中敲指令。看清楚指令,不要敲错,应该很快就可以得到我们ijkplayer的项目了。这个项目已经可以支持所有的视频格式了。
在这个项目中,有好多好多个module,有exmaple,ijkplayer-java,ijkplayer-armv5等。分别是例子,ijkplayer java层的代码,适配不同cpu的native层代码等。