編譯ijkplayer

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即可。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章