编译环境:Ubuntu16.04
编译之前需要安装的环境:
JDK8
NDK14
AndroidSKD
ijkplayer在github上面的开源地址:https://github.com/bilibili/ijkplayer
更多详细说明请参考官方文档
以上环境搭建好之后打开终端
安装git 与 yasm
sudo apt-get install git
sudo apt-get install yasm
下载源码
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
切换到最新分支
cd ijkplayer-android
git checkout -B latest k0.8.8
初始化Android
./init-android.sh
修改配置文件
cd config
rm module.sh
这里我在module-lite.sh上面进行修改,支持rtmp需要加入如下语句
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=rtp"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=tcp"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=rtmp"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=rtp"
然后执行
ln -s module-lite.sh module.sh
source module.sh
配置好之后进行编译,编译时间会比较久
cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all #编译ffmpeg
./compile-ijk.sh all #编译ijkplayer
最后编译ijk ,带上all编译所有架构
cd ..
sh compile-ijk.sh all
编译成功后 /android/ijkplayer 就是编译完成的内容
编译好之后导入AndroidStudio 构建完之后可以装到手机上面运行demo,对应的.so文件可以拿出来使用
如果需要编译好的文件可以 点击下载
参考文章:https://blog.csdn.net/coder_pig/article/details/79134625