ijkplayer直播框架基于ffmpeg, 同時(shí)支持 Android 和 iOS,集成過(guò)程中遇到很多坑,網(wǎng)上也有各種資料,教程詳細(xì)記錄下集成過(guò)程。
一、ijkPlayer下載地址
ijkPlayer: ?https://github.com/Bilibili/ijkplayer
ijkPlayer目錄文件結(jié)構(gòu)如圖:

打開(kāi)工程編譯報(bào)錯(cuò)錯(cuò)誤信息如下:

因?yàn)閘ibavformat是ffmpeg庫(kù)中的文件,所以需要導(dǎo)入ffmpeg庫(kù)
二:編譯ijkPlayer
如何導(dǎo)入ffmpeg庫(kù)可以查看ijkPlayer文件目錄結(jié)構(gòu)總的README.md文件中有詳細(xì)步驟
大致就是需要執(zhí)行init-ios.sh腳本來(lái)下載ffmpeg源碼

ffmpeg下載時(shí)間比較長(zhǎng)耐心等待,執(zhí)行完腳本后,就會(huì)發(fā)現(xiàn)ijkplayer中有ffmpeg了
再次編譯Demo依然報(bào)相同的錯(cuò)誤,原因是剛剛僅僅是下載源碼,但是源碼并沒(méi)有參與編譯,需要將源碼編譯成可執(zhí)行文件。

執(zhí)行后效果圖:

編譯后生成.a文件
三:打包IJKMediaFramework.framework框架
集成有兩種方法
1:按照IJKMediaDemo工程中那樣, 直接導(dǎo)入工程IJKMediaPlayer.xcodeproj

2:打包IJKMediaFramework.framework框架
方法:把IJKMediaPlayer打包成靜態(tài)庫(kù),在導(dǎo)入到自己的項(xiàng)目中。
首先打開(kāi)工程IJKMediaPlayer.xcodeproj

打包靜態(tài)庫(kù)文件方法可參考:www.code4app.com/blog-721976-522.html
選擇device真機(jī)和模擬器下分別編譯項(xiàng)目IJKMediaPlayer庫(kù)


lipo -create "真機(jī)版本路徑" "模擬器版本路徑" -output "合并后的文件路徑"
注意:一定要給合并后的文件起名字,不然會(huì)報(bào)錯(cuò)?。?!
四:集成ijkplayer到項(xiàng)目中
新建工程, 導(dǎo)入合并后的IJKMediaFramework.framework以及相關(guān)依賴框架以及相關(guān)依賴框架