欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

编译ijkplayer

程序员文章站 2022-07-01 20:32:28
...

ijkplayer默认编译好的so比较局限,比如不支持https、不支持rmvb等。要想兼容只能自己进行编译。

 

编译步骤:

一、准备Linux环境

需要在Linux中编译,例如我的Linux版本为Ubuntu 16.04。

 

二、安装Git和yasm

sudo apt-get install git
sudo apt-get install yasm

注意,需要连接网络,如果服务器没法访问网络,可以通过手机网络共享给服务器,进行安装。

 

三、下载和配置SDK与NDK

1、下载SDK和NDK压缩包,并放到服务器某个目录下。

官网就可以下载,例如我下载的是android-sdk_r24.4.1-linux.tgz和android-ndk-r13b-linux-x86_64.zip。

2、解压压缩包。要先cd到压缩包存放的目录下,再执行下面目录解压。

sudo tar -zxvf android-sdk_r24.4.1-linux.tgz
sudo unzip android-ndk_r13b-linux-x86_64.zip

3、配置SDK和NDK环境变量。

a、打开 /etc/profile 文件,用vim即可:

sudo vim /etc/profile

b、vim进入insert模式在文件末尾添加以下环境变量:

export ANDROID_NDK=/home/xxx/work/ldw/tools/android-ndk-r13b
export PATH=$PATH:$ANDROID_NDK
export ANDROID_SDK=/home/xxx/work/ldw/tools/android-sdk-linux
export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools

添加完保存退出vim(:wq)

c、重启服务器或者source /etc/profile 使文件修改生效。

 

四、拉取ijkplayer源码

git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.8.8

 

五、配置编译脚本

cd到ijkplayer-android\config目录下,然后

rm module.sh
ln -s module-default.sh module.sh
source module.sh

里面默认提供了三种编译脚本,需要支持更多格式则直接拷贝使用module-default.sh。

 

六、初始化openssl,支持https用

cd到ijkplayer-android目录,然后

./init-android-openssl.sh

 

七、清除

cd到android/contrib目录,然后

./compile-openssl.sh clean
./compile-ffmpeg.sh clean

 

八、编译openssl

./compile-openssl.sh all

 

九、编译ffmpeg

./compile-ffmpeg.sh all

 

十、编译ijkplayer

./compile-ijk.sh all

 

十一、生成Android和iOS工程

编译后生成一个demo工程,Android工程位置在ijkplayer-android\android\ijkplayer,里面包含各个架构的so,其中ijkplayer-java是java文件。

建议可以建立一个ijkplayer的module,把ijkplayer-java代码和各个平台so拷进去,需要使用ijkplayer则直接依赖ijkplayer该module即可。

 

 

相关标签: ijkplayer编译