日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

docker編譯IJKPlayer播放器記錄詳解_docker

作者:如此風景 ? 更新時間: 2022-12-10 編程語言

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庫

原文鏈接:https://juejin.cn/post/7164345399996579876

欄目分類
最近更新