官方:https://github.com/Bilibili/ijkplayer
环境准备:
1.安装git 和 yasm
sudo apt-get install git
sudo apt-get install yasm
2.配置sdk和ndk环境变量
注意:ndk使用最新r23b版本后期编译报错,建议直接下载r10e版本https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip
打开.bashrc文件,配置环境
验证ndk配置是否成功:ndk-build -v
3.获取ijkplayer源码
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.8.8
4. 初始化
./init-android.sh
5.修改module-lite.sh支持rtsp
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-protocol=rtp"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=rtsp"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=mjpeg"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=mjpeg"
cd config
rm module.sh
ln -s module-lite.sh module.sh
source module.sh
6.参照修改源码支持录制和截图功能(无此需求跳过)
https://github.com/fly7632785/ijkplayer/commit/fdd7c3347bbfafb3bae7b36add2d768e0beafe1b
7.支持Https
cd ..
./init-android-openssl.sh
8.清除
cd android/contrib
./compile-openssl.sh clean
./compile-ffmpeg.sh clean
9.编译openssl
./compile-openssl.sh all
10.编译ffmpeg
./compile-ffmpeg.sh all
11.编译ijkplayer
cd ..
./compile-ijk.sh all
编译成功后会在android目录下生成一个ijkplayer的工程,导入AS
-
右键项目 Open Module Settings,点击减号移除ijkplayer-example和ijkplayer-java以外的依赖
-
打开ijkplayer-java/src/main/,新建一个libs文件夹,同时打开ijkplayer-armv7a/main/libs,把里面的armeabi-v7a文件夹整个拷到ijkplayer-java的libs文件夹下
-
修改下ijkplayer-java的build.gradle文件,编译arr
gradle -- ijkplayer-java – Tasks – build -- assemble