IJKPlayer 编译及运行Demo 教程
编译环境准备
1. Ubuntu安装
2. 工具安装
切换root 用户。注意,最好以下都以root身份去操作
sudo su
-
安装Git、Vim
apt install git apt install vim
安装JDK/SDK/NDK
1.安装JDK:
-
下载:
wget https://cdn.azul.com/zulu/bin/zulu8.60.0.21-ca-jdk8.0.322-linux_x64.tar.gz
-
解压:
tar -xvf android-sdk_r24.4.1-linux.tgz
-
把下载的文件放到 /usr/local/ 下,继续,移动到 /usr/local/java 下
mv zulu8.60.0.21-ca-jdk8.0.322-linux_x64 /usr/local/java
-
配置java 环境变量
cd ~ vim .bashrc
末尾插入:
export JAVA_HOME=/usr/local/java export PATH=$PATH:/usr/local/java/bin
-
保存+刷新
source .bashrc
java -version,查看是否安装成功:
2. 安装SDK
-
下载:
wget http://dl.google.com/android/android-sdk_r24.2-linux.tgz
-
解压:
tar -xvf android-sdk_r24.4.1-linux.tgz
-
执行SDK更新
cd ./tools/android update sdk --no-ui
-
配置环境变量
vim /etc/profile
添加:
# android-sdk export ANDROID_SDK=/home/zzy/Library/AndroidSDK/android-sdk-linux # 需要替换成自己的路径 export PATH=$ANDROID_SDK:$PATH
-
刷新环境变量
source /etc/profile
3. 安装NDK
-
下载
浏览器中输入:https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip?hl=zh-cn
-
解压
unzip android-ndk-r14b-linux-x86_64.zip
-
配置环境变量
vim /ect/profile
插入:
export ANDROID_NDK=/home/zzy/Library/android-ndk-r14b # 替换自己的路径 export PATH=$PATH:$ANDROID_NDK
-
刷新:
source /etc/profile
-
检验:
ndk-build --version
注意:这里如果 ndk-build --version 不管用,可能是刷新后关掉了终端,必须重新source 刷新一下,可能source 只针对当前终端起作用,所以不管怎样,为了保险都source 一下 -
/etc/profile
下载ijkplayer及修改其中配置
-
下载ijkplayer源码
git clone https://gitee.com/mirrors/ijkplayer.git ijkplayer-android
-
切换到稳定版本
cd ijkplayer-android/ git checkout -B latest k0.8.8
-
修改配置init-android.sh:
因为github不稳定,经常下载不下来相关依赖库,所以要修改文件中相关依赖的路径
init-android.sh的Fmpeg.git改为https://gitee.com/yuazhen/FFmpeg.gitvim ./init-android.sh
执行初始化:./init-android.sh
-
修改配置init-android-openssl.sh
修改文件init-android-openssl.sh,将对应的openssl链接改为码云链接。vim ./init-android-openssl.sh
初始化:/init-android-openssl.sh
-
设置编码器格式支持
进入config目录,在module-default.sh增加以下几行配置:export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-vda" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-ffserver" export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bzlib"
一般我们使用module-default.sh配置,执行如下指令:
//删除当前的module.sh rm module.sh //使用module-default.sh配置 ln -s module-lite.sh module.sh
编译
-
openssl:
//进入android/contrib 目录 cd android/contrib/ //清除openssl编译文件 ./compile-openssl.sh clean //编译openssl ./compile-openssl.sh all
-
编译ffmpeg
cd android/contrib/ ./compile-ffmpeg.sh clean ./compile-ffmpeg.sh all
-
编译ijkplayer
//回到android目录 cd .. ./compile-ijk.sh clean ./compile-ijk.sh all
android studio 打开ijkplayer
参考博客/资料:
https://blog.csdn.net/qq_42778001/article/details/123465865
https://blog.csdn.net/sjdjdjdjahd/article/details/125206286
https://www.bilibili.com/video/BV1Ff4y1L7MQ/?spm_id_from=333.1007.top_right_bar_window_history.content.click