IJKPlayerFramework集成

一、環(huán)境準(zhǔn)備

brew -v (檢查homebrew版本)

安裝homebrew:?/usr/bin/ruby -e "$(curl -fsSL?https://raw.githubusercontent.com/Homebrew/install/master/install)"

卸載homebrew:?/usr/bin/ruby -e "$(curl -fsSL?https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"?

homebrew安裝軟件,如:brew install oclint

homebrew卸載軟件,如:brew uninstall oclint

homebrew搜索軟件,如:brew search oclint

homebrew更新軟件,如:brew upgrade oclint

homebrew安裝列表:brew list

更新homebrew:brew update

git --version (檢查git版本)

安裝git:brew install git

yams --version (檢查yams版本)

安裝yams:brew install yams

pkg-config --version (檢查pkg-config版本)

安裝pkg-config:brew install pkg-config

二、使用git 克隆倉庫到本地

1、git clone https://github.com/Bilibili/ijkplayer.git?ijkplayer-ios

2、cd ijkplayer-ios?(進入文件夾)

3、git checkout -B latest k0.8.8?(新建lastst分支)

三、下載編譯FFmpeg

1、./init-ios.sh?(這里等待時間較長,假如不需要支持https,只需要順序執(zhí)行1、3、6、8步驟)

2、./init-ios-openssl.sh?(添加https支持,會生成支持https的靜態(tài)文件 libcrypto.a 和 libssl.a,如果不需要可以跳過這一步)

3、cd ios?(移動當(dāng)前目錄到ios文件夾下)

4、vim ../config/module.sh(預(yù)編譯先,先vim一下module腳本)

5、export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-openssl"(添加預(yù)編譯腳本內(nèi)容為一下內(nèi)容,然后點擊 esc 退出 vim編譯模式,執(zhí)行 :wq 保存)

6、./compile-ffmpeg.sh clean

7、打開compile-openssl文件,commond + F 全局搜索刪除armv7,然后執(zhí)行?./compile-openssl.sh all(這里等待時間較長,且可能出現(xiàn)執(zhí)行超時或失敗,重新執(zhí)行命令即可)

8、打開compile-ffmpeg文件,commond + F 全局搜索刪除armv7,然后執(zhí)行./compile-ffmpeg.sh all?(這里等待時間較長,且可能出現(xiàn)執(zhí)行超時或失敗,重新執(zhí)行命令即可)

四、打包IJKMediaFramework

1、進入IJKMediaPlayer文件夾(目錄:ijkpalyer-ios/ios/IJKMediaPlayer),選中IJKMediaPlayer.xcodeproj,右鍵顯示包內(nèi)容,雙擊打開project.pbxproj,全局搜索mainGroup,復(fù)制mainGroup的值替換掉下一行productRefGroup的值(這一步是為了在IJKMediaPalyer項目中顯示Products文件夾)

2、用xcode打開IJKMediaPlayer項目

3、添加靜態(tài)文件libcrypto.a 和 libssl.a (不需要支持https可跳過這一步,靜態(tài)文件目錄:ijkpalyer-ios/ios/build/universal)

4、選擇iOS最低支持版本,我這里選擇的是iOS11.0,一般情況下沒特殊要求保持最新三個大版本即可,即:現(xiàn)在最新是iOS15,最低版本iOS12即可

5、選中要編譯的項目為IJKMediaFramework,點擊 Edit Scheme,將Build Configuration由Debug改為Release

6、commond + B 編譯 (真機和模擬器都需要編譯一次)

7、選擇products文件下的IJKMediaFramework,右鍵show in finder

8、cd?Release-iphonesimulator/IJKMediaFramework.framework,執(zhí)行?lipo -remove IJKMediaFramework arm64 -output?IJKMediaFramework?(這一步是因為Xcode12模擬器支持arm64,合并framework會報錯,lipo -info 命令可以查看當(dāng)前framework支持的架構(gòu)列表)

9、cd 到products目錄

10、lipo -create Release-iphoneos/IJKMediaFramework.framework/IJKMediaFramework Release-iphonesimulator/IJKMediaFramework.framework/IJKMediaFramework -output IJKMediaFramework(此時products目錄下會生成IJKMediaFramework文件)

11、將生成的IJKMediaFramework文件替換Products/Release-iphoneos/IJKMediaFramework.framework 下的IJKMediaFramework文件,此時Products/Release-iphoneos 下的IJKMediaFramework.framework就是我們生成好的支持模擬器和真機的framework

五、Demo測試

1、新建項目

2、添加依賴庫

????IJKMediaFramework.framework

????AudioToolbox.framework

????AVFundation.framework

????CoreGraphics.framework

????CoreVideo.framework

????MediaPlayer.framework

????MobileCoreServices.framework

????OpenGLES.framework

????QuarzCore.framework

????UIKit.framework

????VidelToolbox.framework

????libbz2.tbd

????libz.tbd

????libc++.tbd?

3、簡單demo使用代碼

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容