由于項目中要進行加密播放HLS格式的視頻,所以就打算用B站的庫了,由于使用的是Windows平臺,不想麻煩再去編譯庫,就直接找了編譯好直接用,可是悲劇的是,大部分都是沒有編譯openssl,不支持HTTPS,坑死我,所以只好自己動手豐衣足食。
- 我在windows上編譯了下各種錯,所以就直接搭建哥虛擬機在烏班圖搞了
- 在windows行如何裝虛擬機就不說了。
虛擬機下這些需要注意,如果你想安裝烏班圖64位,那么就要開啟電腦的虛擬映射,在Bisso里面。具體谷歌。
1. 確保你的機器上已經(jīng)安裝了git和yasm,如果沒有請在終端執(zhí)行以下命令:
sudo apt-get update
sudo apt-get install git
sudo apt-get install yasm
2.編譯的具體步驟
直接拉取源代碼到本地
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
檢查更新代碼 這一步是切換到0.5.1版本,具體的你可以看自己而定
git checkout -B latest k0.5.1
初始化,會把ffmpeg的代碼拉取到本地等等操作
./init-android.sh
cd android/contrib
./compile-ffmpeg.sh clean
編譯ffmpeg軟解碼庫,這個過程會生成各種架構(gòu)的ffmpeg 這個過程比較耗時
./compile-ffmpeg.sh all
我們退到上一級目錄
cd ..
會生成各種版本的so文件
./compile-ijk.sh all
最終我們會看到

Paste_Image.png
需要注意的:
NDK要用10以上的
目錄一定不要有空格。
網(wǎng)上大多數(shù)說要配置ANDROIDSDK的環(huán)境,如果你不在烏班圖下開發(fā)完全沒必要,編譯完成之后,直接把項目拷貝到windows下編譯就行了。
接下來我們來編譯openssl
1.init openssl
$ cd .. 進入到ijkplayer的目下
$ ./init-android-openssl.sh 去遠程倉庫拉取openssl的遠程代碼
2.compile openssl
$ cd android/contrib
$ ./compile-openssl.sh clean
$ ./compile-openssl.sh all
經(jīng)過以上步驟已經(jīng)編譯好openssl了,然后我們執(zhí)行一下方法
./compile-ffmpeg.sh clean
編譯ffmpeg軟解碼庫,這個過程會生成各種架構(gòu)的ffmpeg 這個過程比較耗時
./compile-ffmpeg.sh all