大名鼎鼎的 B站使用的視頻播放框架是ijkplayer
,其實github 上的文檔已經(jīng)介紹的很清楚.但是真正集成起來卻有些問題.下面詳細說明一下.
ijkplayer
下載地址:https://github.com/Bilibili/ijkplayer
目錄結(jié)構(gòu)
下載完之后,是不是也迫不及待的去運行 demo 呢,很不湊巧的你會發(fā)現(xiàn)下面的錯誤.
- 一.下載需要的支持文件
如何去下載呢,這個腳本已經(jīng)寫好了我們直接運行就行.
在目錄結(jié)構(gòu)里,我們可以看到init-ios.sh
這個文件.在terminal(終端)里運行.
- cd 到
init-ios.sh
文件所在的文件夾下. - 執(zhí)行命令行
./init-ios.sh
命令(或者直接將init-ios.sh
文件拖到 terminal 內(nèi)就可以執(zhí)行). - 之后會有漫長的等待...進行下載所需的文件.(PS: 下載過程中需要翻墻?不確定是否是網(wǎng)絡(luò)環(huán)境問題.)
-
二.編譯文件
下載ffmpeg之后的文件目錄
完成之后我們會發(fā)現(xiàn)多處了一些文件,這就是剛才腳本執(zhí)行的下載文件.
-
cd ios
進入相應(yīng)的文件目錄下 - 在 terminal 執(zhí)行下面的語句
./compile-ffmpeg.sh clean
,./compile-ffmpeg.sh all
- 等待編譯完成...
-
三. 打包 framework 庫.
上面兩步執(zhí)行完之后demo 就可以正常運行了.但是要用到項目里我們還要打包成靜態(tài)庫才方便使用.
運行效果圖
-
選擇framework
framework -
選擇release模式.
Release -
分別在模擬器下和真機模式下進行編譯.
show in finder
- 合并framework
分別選擇兩個文件下的如下圖標紅的文件
framework
在terminal 執(zhí)行下面的語句
lipo -create 模擬器文件路徑 真機文件路徑 -output 文件路徑/IJKMediaFramework
(ps: 可以直接將文件拖到 terminal 得到路徑,最后輸出的路徑可以自己定義,輸出時,文件名IJKMediaFramework,不要忘了) - 將合并好的 framework, 替換掉剛才上圖紅框標識的文件.
-
替換后我們可以將 framework 文件拖到我們項目中使用.
至此,集成ijkplayer 完成.
當(dāng)然我們也可以直接使用如同 demo中的方式,引入整個工程.前面的一二步還是需要的.