目录
- docker获取IJKPlayer地址
- 编译前准备
- 执行编译
- 其他辅助
docker获取IJKPlayer地址
- IJKPlayer播放器编译环境在docker仓库地址
- 拉取镜像
//命令行执行如下命令即可
docker pull adajqd/ijkplayer-buildenv:1.0
编译前准备
- 支持更多格式
cd config
rm module.sh
ln -s module-default.sh module.sh
cd android/contrib
# cd ios
sh compile-ffmpeg.sh clean
- 支持少数格式
cd config
rm module.sh
ln -s module-lite.sh module.sh
cd android/contrib
执行编译
//clone ijkplayer到本地
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
//切换到源码目录
cd ijkplayer-android
//检查版本
git checkout -B latest k0.8.4
//初始化
./init-android.sh
//下载OpenSSL
./init-android-openssl.sh
//切换到android/contrib 目录下,编译脚本在这个目录下
cd android/contrib
// 编译 OpenSSL
./compile-openssl.sh clean
./compile-openssl.sh all 或者把all替换成 armv7a,只编译这个架构
//编译FFmpeg
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all 或者把all替换成 armv7a,只编译这个架构
//返回ijkplayer/android 目录,编译ijkplayer的so库
cd ..
./compile-ijk.sh all
到此我们编译就完成了,so库已经生成,位置在src/main/libs下了,需要什么样的cpu架构去对应的文件夹下去找就可以了 编译完成后可以在 ijkplayer-android / android / ijkplayer 中查看生成的对应 so 文件。可以直接用AndroidStudio 打开。
其他辅助
- 添加环境变量,执行 source ~/.profile
// add these lines to your ~/.profile
export ANDROID_SDK=/opt/android/sdk
export PATH=$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools:$PATH
export ANDROID_NDK=/opt/android/ndk/android-ndk-r10e
export PATH=${PATH}:$ANDROID_NDK:$PATH
- 安装vim
#进入容器命令
docker exec -it 9fbe362214a6(容器Id) /bin/bash
apt-get update
apt-get install vim
- 问题解决
无法编译 找到do-compile-ffmpeg.sh 在下面指定位置 增加–system=linux-x86,即可
部分参考
无法编译
编译module-default出错。
把配置文件 用这个module-default来编译,
module.sh -> module-default.sh
提示出错。./libavutil/timer.h:38:31: fatal error: linux/perf_event.h: No such file or directory
# include <linux/perf_event.h>
找不到这个库。
解决方法:(不需要编译这个配置perf参数)
module-default.sh 加 export COMMON_FF_CFG_FLAGS=\”$COMMON_FF_CFG_FLAGS –disable-linux-perf\”
ijkPlayer 编译全格式支持 .so库
以上就是docker编译IJKPlayer播放器记录详解的详细内容,更多关于docker编译IJKPlayer播放器记录的资料请关注悠久资源网其它相关文章!