目錄
- docker獲取IJKPlayer地址
- 編譯前準(zhǔn)備
- 執(zhí)行編譯
- 其他輔助
docker獲取IJKPlayer地址
- IJKPlayer播放器編譯環(huán)境在docker倉(cāng)庫(kù)地址
- 拉取鏡像
//命令行執(zhí)行如下命令即可 docker pull adajqd/ijkplayer-buildenv:1.0
編譯前準(zhǔn)備
- 支持更多格式
cd config rm module.sh ln -s module-default.sh module.sh cd android/contrib # cd ios sh compile-ffmpeg.sh clean
- 支持少數(shù)格式
cd config rm module.sh ln -s module-lite.sh module.sh cd android/contrib
執(zhí)行編譯
//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 目錄下,編譯腳本在這個(gè)目錄下 cd android/contrib // 編譯 OpenSSL ./compile-openssl.sh clean ./compile-openssl.sh all 或者把a(bǔ)ll替換成 armv7a,只編譯這個(gè)架構(gòu) //編譯FFmpeg ./compile-ffmpeg.sh clean ./compile-ffmpeg.sh all 或者把a(bǔ)ll替換成 armv7a,只編譯這個(gè)架構(gòu) //返回ijkplayer/android 目錄,編譯ijkplayer的so庫(kù) cd .. ./compile-ijk.sh all
到此我們編譯就完成了,so庫(kù)已經(jīng)生成,位置在src/main/libs下了,需要什么樣的cpu架構(gòu)去對(duì)應(yīng)的文件夾下去找就可以了 編譯完成后可以在 ijkplayer-android / android / ijkplayer 中查看生成的對(duì)應(yīng) so 文件??梢灾苯佑肁ndroidStudio 打開(kāi)。
其他輔助
- 添加環(huán)境變量,執(zhí)行
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
#進(jìn)入容器命令 docker exec -it 9fbe362214a6(容器Id) /bin/bash apt-get update apt-get install vim
- 問(wèn)題解決
無(wú)法編譯 找到do-compile-ffmpeg.sh 在下面指定位置 增加–system=linux-x86,即可
部分參考
無(wú)法編譯
編譯module-default出錯(cuò)。 把配置文件 用這個(gè)module-default來(lái)編譯, module.sh -> module-default.sh 提示出錯(cuò)。./libavutil/timer.h:38:31: fatal error: linux/perf_event.h: No such file or directory # include <linux/perf_event.h> 找不到這個(gè)庫(kù)。 解決方法:(不需要編譯這個(gè)配置perf參數(shù)) module-default.sh 加 export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf"
ijkPlayer 編譯全格式支持 .so庫(kù)
以上就是docker編譯IJKPlayer播放器記錄詳解的詳細(xì)內(nèi)容,更多關(guān)于docker編譯IJKPlayer播放器記錄的資料請(qǐng)關(guān)注其它相關(guān)文章!