试水Bilibili/ijkplayer-Android

ijkplayer 是Bilibili基于ffmpeg开发并开源的视频播放器,支持播放本地网络视频,也支持流媒体播放。支持Android&iOS.

系统:Mac os 10.11.1
NDK: ndk-r12b
Androd Studio 2.1.2

配置SDK/NDK

下载解压后,配置环境变量

vi ~/.bash_profile

在文件后添加:

export ANDROID_DIR=/Users/MOMO/Library/Android  
export ANDROID_SDK=$ANDROID_DIR/sdk  
export ANDROID_NDK=$ANDROID_DIR/android-ndk-r12b  
export PATH=$PATH:$ANDROID_NDK:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools  

最后可以手动使其起作用:

source ~/.bash_profile 

下载源码

下载ijkplayer源码

git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android

准备及处理源码:

cd ijkplayer-android  
git checkout -B latest k0.6.0   #切分支 在master分支有可能编译不过 
./init-android.sh  #执行初始化的shell脚本,脚本会自动下载ffmpeg的主干代码  时间有些长...

开始编译

cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all

cd ..
./compile-ijk.sh all
或者
compile-ijk.sh armv5|armv7a|x86|arm64-v8a #编译指定版本

编译完成后使用Android studio选择android/ijkplayer/ 并且import。

ijkplayer-java:ijkplayer的一些操作封装及定义
ijkplayer-exo:google开源的一个新的播放器ExoPlayer,在Demo中和ijkplayer对比用的
ijkplayer-example:测试程序
ijkplayer-{arch}:编译出来的各个版本的.so文件

运行

精简使用代码见下一篇博客:Link