环境:
ijkplayer 0.8.8
GSYPlayer 2020.06.26
NDK r14b
MBP2017
要重编so。拉取最新的ijkplayer仓库,检出最新分支或者用master分支也行。
git checkout -B k0.8.8
其实最新的提交就是0.8.8,ijkplayer已经2年没有更新了。
添加路径到~/.bash_profile
export ANDROID_SDK=<your sdk path>
export ANDROID_NDK=<your ndk path>
使变更生效
source ~/.bash_profile
修改 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-protocol=tcp"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=rtsp"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=sdp"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=rtp"
# 支持AMR
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=amrnb"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-decoder=amrwb"
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=amr"
下载ffmpeg,超级慢,要开全局翻墙
./init-android-openssl.sh
./init-android.sh
到android/contrib
./compile-ffmpeg.sh armv7a
到android目录
./compile-ijk.sh armv7a
如果要编译全架构,则把上两行命令的armv7a改成all。
生成的so在android/ijkplayer/ijkplayer-armv7a/src/main/libs/armeabi-v7a
测试一下,成功播放AMR音频。
源码地址
ijkplayer: 非官方镜像
https://gitee.com/obarong/ijkplayer
sdk28分支。
参考
GSYVideoPlayer/BUILD_SO.md at master · CarGuo/GSYVideoPlayer
https://github.com/CarGuo/GSYVideoPlayer/blob/master/doc/BUILD_SO.md
IJKPlayer支持amr - 简书
https://www.jianshu.com/p/9611050108cf
Android Mac下编译bilibili IjkPlayer实现播放rtsp直播视频源_crazyZhangxl的博客-CSDN博客_android ijkplayer rtsp
https://blog.csdn.net/crazyZhangxl/article/details/83341203