跨平臺ffmpeg播放器開發(fā)(六)編譯SDL2到項目中

前言

由于實在是SDL在iOS上用得比較少,尤其是在iOS平臺上,蘋果對自己的播放框架封裝的比較好,再加上有B站的IJKPlayer這樣的跨移動端框架就導(dǎo)致自己造車輪子這件吃力又不討好的事在iOS上做的人就比較少了,導(dǎo)致遇見一些坑沒辦法通過查閱大量資料和詢問他人來解決,畢竟開發(fā)時間和成本都是一個很重要的因素.我因為公司的需求,所以現(xiàn)在去寫這方面的東西,本來Opengl ES已經(jīng)出效果了,但可惜被否決掉了,我個人來講還是比較傾向于在項目中去使用相應(yīng)的框架的,一方面現(xiàn)在音視頻資歷尚淺,另一方面不可否認音視頻開發(fā)的難度還是相對來說比較大的.

使用框架其實也有很多不確定性,例如剛剛舉例的IJKPlayer,他確實是挺有名的,我也十分欽佩他的作者,一個人負責(zé)主要維護著這么大的項目,加之去B站工作也算是一個小夢想吧.但這個框架其實是把雙刃劍,看了下他的代碼,SDL,FFplay他都有在使用,比較取巧吧,因為有些事SDL不太好做,所以就導(dǎo)致了B站的這個框架結(jié)構(gòu)比較亂吧,但一個人去維護這也無可厚非,這也導(dǎo)致了你是用這個框架可能有70%都是不確定因素,出了問題到時也不知道該如何下手,反正先研究著對以后解決BUG總是有好處的.

在這里要特別鳴謝github的manifest前輩,是他解決了我前后四天無法搞定的環(huán)境配置問題.

編譯SDL2

  • 首先利用git下載manifest前輩的編譯腳本

  • 事先安裝好hg,svn,git這些工具

  • 安裝rubygems(這個mac一般是裝好了的),colorize(終端執(zhí)行sudo gem install colorize)

  • 終端下進入git下載好的腳本目錄,cd進入dl-ios-framework目錄,執(zhí)行rake就可以自動編譯SDL2.framework了,目前支持架構(gòu):armv7 armv7s i386 x86_64 arm64,基本上使用與目前市面上所有流通的iOS平臺.接下來只要慢慢等就好了.

編譯好的百度云盤地址

  鏈接: https://pan.baidu.com/s/1jIRoxYQ 密碼: ymb6

SDL2導(dǎo)入項目

這里推薦manifest前輩寫的一個Xcode模板,目前支持Xcode8和iOS10.0,這個是今天我剛剛和前輩溝通解決的哈哈.

github上的模板地址

在終端執(zhí)行下面兩句

$ mkdir -p ~/Library/Developer/Xcode/Templates
//將git上的內(nèi)容直接拉到你的xcode模板目錄
$ git clone https://github.com/manifest/sdl-ios-templates ~/Library/Developer/Xcode/Templates/SDL

執(zhí)行完之后,你打開Xcode,新建項目就可以看到SDL模板了,點擊新建并將上一步編譯好的SDL2框架直接導(dǎo)入到項目里,然后就可以直接運行了,這跟以往那種AppDelegate稍有不同,整個頁面感覺就這一個界面,如果想回到以往那種熟悉的傳統(tǒng)AppDelegate開發(fā),只需要將main.c更改后綴名,更改相關(guān)導(dǎo)入庫,并新建delegate文件就可以了.

屏幕若上下有黑邊只需要新建Launch Screen SB即可.

至于原項目導(dǎo)入,需要注意framework search path設(shè)置,這里由于我的項目比較亂一直環(huán)境配不好,所以便沒有在嘗試,原理上是正確的.

最后編輯于
?著作權(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)容