網站首頁 編程語言 正文
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
相關推薦
- 2022-05-21 基于Python實現Hash算法_python
- 2022-08-27 DOS編寫腳本常用命令整理小結_DOS/BAT
- 2022-03-19 android?Service基礎(啟動服務與綁定服務)_Android
- 2023-01-06 使用find命令快速定位配置文件位置_linux shell
- 2023-04-19 C++11新特性之四種類型轉換cast說明_C 語言
- 2022-11-20 C#設計模式之裝飾器模式實例詳解_C#教程
- 2022-12-12 C++?Boost?Xpressive示例分析使用_C 語言
- 2022-03-23 C#使用表達式樹實現對象復制的示例代碼_C#教程
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支