IOS平台的MobileVLCKit的編譯和使用


接手了一個項目,里面用到的播放庫比較老並且播放效果不是很穩定,下載了最新的MobileVLCKit編譯了一把,跟大家分享一下編譯過程:

我的環境是xcode7.1 ,sdk是9.1

編譯過程:

參考 https://wiki.videolan.org/VLCKit 中的Building the framework for iOS項

在終端中執行 git Clone http://code.videolan.org/videolan/VLCKit.git,會生成目錄下生成一個VLCKit的文件夾,以后所有的操作都是在該文件夾中進行

按照說明,在終端中執行./buildMobileVLCKit.sh,總體來說,for IOS的編譯做的比較自動化,只運行此腳本即可,所有編譯所需的第三方軟件,支持庫,都會通過腳本自動下載

文件下載說明:

由於網絡問題 google,sourceforge等down不下來,最好有一個給力的VPN

有兩個路徑分別保存下載的文件

MobileVLCKit\ImportedSources\vlc\contrib\tarballs路徑下是下載各種第三方庫,例如libxml2,ffmpeg,freetype等

在MobileVLCKit\ImportedSources\vlc\contrib\src中有每一個庫對應的文件夾,文件夾下的rules.mak中會有對應的版本路徑,如果無法自動下載,可以手動下載一下,然后將包拷貝到tarballs中,需要注意的是SHA512SUMS文件中的校驗值要對應上

MobileVLCKit\ImportedSources\vlc\extras\tools\是編譯需要的工具的集合,例如automake,autoconf等

在該文件夾下有一個packages.mak的文件,里面描述的是所有的文件下載路徑,可以按照路徑手動來下載,將包拷貝到tools文件夾中,需要注意的是gas-preprocessor,protobuf,apache-ant這三個,自動下載的時候經常會遇到下載不下來,字節為0的情況

所有包下載完畢后,就開始編譯過程,過程中可能會出提示錯誤而中斷,一般來說多運行幾次腳本即可,直到編譯成功。需要注意的是-n的參數,否則vlc部分,會重新下載

編譯成功后,會在build文件夾中生成一系列的libMobileVLCKit.a文件和MobileVLCKit.framework

 

遇到的一些問題:

 libtool: compile: specify a tag with `--tag'

make[2]: *** [rijndael-arm.lo] Error 1
make[1]: *** [install-recursive] Error 1
make: *** [.gcrypt] Error 2

此處問題,需要檢查git環境(例如用戶名,郵箱的設置:git --global),以及MobileVLCKit下的patches文件夾下的patch補丁是否打上,我當時是根據編譯錯誤,一路修改到最后,最后發現是所有的patch未打導致的,patch未打會導致后面的一系列問題,建議是出現此問題,馬上檢查patch環境

 

例子程序samplePlayBack編譯錯誤

使用libMobileVLCKit.a靜態連接,例子程序中頭文件和鏈接文件路徑設置時錯誤的,需要修改正確的。

如果使用MobileVLCKit.framework的方式,將framework拖入到工程的support文件夾中,同時刪除頭文件和靜態庫的引用

 

播放HLS媒體,只有音頻沒有視頻的問題

此問題有可能是vlc的版本問題,切換到2.1-stable或者ios-2.7分支試一下,見https://code.videolan.org/videolan/VLCKit/branches

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM