幾種播放視頻文件的方式(五) —— 基于MobileVLCKit框架的視頻播放(一)

版本記錄

版本號 時間
V1.0 2017.12.30

前言

iOS系統(tǒng)中有很多方式可以播放視頻文件旺坠,這里我們就詳細的說明下播放視頻文件的原理和實例。希望能幫助到大家扮超,大家能喜歡取刃。感興趣的可以參考上面幾篇。
1. 幾種播放視頻文件的方式(一) —— 總結播放視頻的幾種方式(一)
2. 幾種播放視頻文件的方式(二) —— 基于MediaPlayer框架的視頻播放(一)
3. 幾種播放視頻文件的方式(三) —— 基于AVFoundation框架視頻播放(一)
4. 幾種播放視頻文件的方式(四) —— 基于AVKit框架的視頻播放(一)

MobileVLCKit框架

在開始之前先給出教程出刷,也可以直接點擊MobileVLCKit靜態(tài)庫下載鏈接進行下載璧疗。GitHub上也有人基于MobileVLCKit框架封裝的一個基于VLC的播放器


Introduction - 簡介

VLCKit是在Mac OS X和iOS上的libvlc外部接口的Objective-C封裝馁龟。

它包括播放崩侠,播放列表,流媒體和轉碼的基本類坷檩。 做簡單的媒體播放器(相當于QuickTime播放器或MPlayer OS X)和做基于QuickTime的播放器難易程度一樣却音;因此,這真的很容易矢炼。 MobileVLCKit是專門針對iOS平臺的一個子集系瓢,通過播放列表,元數(shù)據(jù)處理和網(wǎng)絡流式傳輸句灌,實現(xiàn)完整的播放體驗夷陋。 如果您需要媒體數(shù)據(jù)庫,MediaLibraryKit將在很短時間內滿足你的需求涯塔。


Building the framework for macOS - 在macOS上編譯框架

這將自動獲取和構建libvlc以及隨附的類肌稻。 另外,為了獲得更多的選擇匕荸,你可以在終端上手動運行buildVLCKit.sh腳本爹谭。 添加-h標志來查看所有可用的選項。


Building the framework for iOS - 在iOS平臺編譯框架

  • 拷貝 http://code.videolan.org/videolan/VLCKit.git
  • 打開您最喜愛的終端應用程序榛搔,如Terminal.appiTerm 2诺凡,并導航到您的checkout东揣。
  • 執(zhí)行./buildMobileVLCKit.sh
  • 檢查-h獲取更多選項

這將自動獲取和構建libvlc以及它的依賴和伴隨的類。

如果你想建立一個適用于模擬器和設備的庫:

  • 執(zhí)行./buildMobileVLCKit.sh
  • 使用xcode命令行工具來構建通用庫:lipo -create Release-iphoneos/libMobileVLCKit.a Release-iphonesimulator/libMobileVLCKit.a -o libMobileVLCKit.a

或者構建支持設備和模擬器的靜態(tài)框架:

  • ./buildMobileVLCKit.sh -f

注意:MobileVLCKit Xcode項目還允許您在構建腳本成功一次后構建動態(tài)框架(需要iOS 8+)腹泌。

警告:使用靜態(tài)模式時嘶卧,當前的構建過程會生成一個非常大的庫。 初始大小的90%將在鏈接上被剝離凉袱。

依存關系警告:構建的腳本自動獲取依賴關系并在本地構建它們芥吟,請注意,通過Homebrew進行的系統(tǒng)級安裝可能會干擾本地構建腳本专甩。 如果遇到與autoconf相關的錯誤钟鸵,請嘗試從PATH中刪除/ usr / local,擦除sourceTree并開始構建涤躲。


Building the framework for tvOS - 在tvOS中構建框架

  • 克隆http://code.videolan.org/videolan/VLCKit.git
  • 打開您最喜愛的終端應用程序棺耍,如Terminal.appiTerm 2,并導航到您的checkout种樱。
  • 執(zhí)行./buildMobileVLCKit.sh -t
  • -h中獲取額外選項

這將自動獲取和構建libvlc以及它的依賴和伴隨的類蒙袍。

如果你想建立一個適用于模擬器和設備的庫:

  • 執(zhí)行./buildMobileVLCKit.sh
  • 使用xcode命令行工具來構建通用庫:lipo -create Release-appletvos/libTVVLCKit.a Release-appletvsimulator/libTVVLCKit.a -o libTVVLCKit.a

或者構建支持設備和模擬器的靜態(tài)框架:

  • ./buildMobileVLCKit.sh -t -f

注意:MobileVLCKitXcode項目還允許您在構建腳本成功一次后構建一個動態(tài)框架。

警告:使用靜態(tài)模式時嫩挤,當前的構建過程會生成一個非常大的庫害幅。 初始大小的90%將在鏈接上被剝離。

依存關系警告:構建的腳本自動獲取依賴關系并在本地構建它們俐镐;請注意矫限,通過Homebrew進行的系統(tǒng)級安裝可能會干擾本地構建腳本。 如果遇到與autoconf相關的錯誤佩抹,請嘗試從PATH中刪除/ usr / local叼风,擦除sourceTree并開始構建。


Basic usage in your application - 在您app中的基本使用

看一下代碼

// Set up a videoView by hand. You can also do that in the nib file
   videoView = [[VLCVideoView alloc] initWithFrame:[[window contentView] bounds]];
   [[window contentView] addSubview:videoView];
   [videoView setAutoresizingMask: NSViewHeightSizable|NSViewWidthSizable];
  
   // Init the player object
   player = [[VLCMediaPlayer alloc] initWithVideoView:videoView];
 
   [player setMedia:[VLCMedia mediaWithPath:@"/to/my/movie"]];
   [player play];

Sample code - 示例代碼

我們提供適用于iOS和OS X的示例代碼棍苹。

1. Examples_OSX

Examples_OSX包含3個不同的項目无宿。

  • BasicPlayerWithPlaylist:這個相當不錯。 拖放文件枢里,點擊播放/暫停孽鸡,看他們按照你想要的順序在同一個窗口中播放。
  • FlashVideoDownloader:這個例子說明了如何部署VLC的URL解析機制來訪問實際播放的媒體以及如何存儲它栏豺。
  • iPodConverterVLCKit包括流媒體和轉碼功能彬碱,包括一些預定義的配置文件。 在這個示例中奥洼,您將看到如何使用它們巷疼。 在指定的區(qū)域放置一個文件。 點擊轉換灵奖,查看正在轉換的文件嚼沿,包括進度條估盘。

2. Examples_iOS

Examples_iOS包括兩個使用Xcode 5和iOS 7開發(fā)的不同項目。 只需稍作修改骡尽,他們也將在iOS 5和iOS 6上工作遣妥。

  • SimplePlayback:它和它的名字一樣,很簡單攀细。 啟動應用程序箫踩,觀看從我們的服務器上的實時流傳輸?shù)侥膇OS模擬器或設備的文件。
  • DropIn-Player:這是一個更高級的示例項目辨图,實現(xiàn)了一個基本的視圖控制器班套,可以嵌入到你自己的應用程序中肢藐。 它允許任何類型的媒體播放故河,字幕處理,多音軌處理吆豹,縱橫比自定義鱼的,播放位置操作和顯示,音量痘煤。 所有這些凑阶,都是在一個自包含的類和一個單獨的xib文件中實現(xiàn)的。

Are there apps actually deploying VLCKit on OS X and iOS? - 是否有應用程序實際在OS X和iOS上部署VLCKit衷快?

下面列出幾個app

隨意按字母順序添加您的應用程序宙橱。 請注意,我們沒有列出違反VLCKit許可條款的應用程序 - 遺憾的是蘸拔,有不少师郑。


Compilation tips - 編譯提示

  • 如果您不關心最新的內容,請嘗試使用stable分支调窍,例如2.1- stable宝冕。
  • 構建樹有什么可以被描述為Git子模塊,他們有時可能會失去同步邓萨。 如果MobileVLCKit / ImportedSources / vlc中的代碼不同步地梨,或者您需要強制重建,則可能需要刪除contrib / iPhoneOS-armv7 * /缔恳。
  • 在某些情況下宝剖,libtoolize可能會干擾構建工具。 您可能需要在PATH的開頭添加$ PATH / MobileVLCKit / ImportedSources / vlc / extras / tools / build / bin并使用它歉甚。

Related


External Links

后記

未完万细,待續(xù)~~~

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市铃芦,隨后出現(xiàn)的幾起案子雅镊,更是在濱河造成了極大的恐慌襟雷,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件仁烹,死亡現(xiàn)場離奇詭異耸弄,居然都是意外死亡,警方通過查閱死者的電腦和手機卓缰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門计呈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人征唬,你說我怎么就攤上這事捌显。” “怎么了总寒?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵扶歪,是天一觀的道長。 經(jīng)常有香客問我摄闸,道長善镰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任年枕,我火速辦了婚禮炫欺,結果婚禮上,老公的妹妹穿的比我還像新娘熏兄。我一直安慰自己品洛,他們只是感情好,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布摩桶。 她就那樣靜靜地躺著桥状,像睡著了一般。 火紅的嫁衣襯著肌膚如雪典格。 梳的紋絲不亂的頭發(fā)上岛宦,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機與錄音耍缴,去河邊找鬼砾肺。 笑死,一個胖子當著我的面吹牛防嗡,可吹牛的內容都是我干的变汪。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼蚁趁,長吁一口氣:“原來是場噩夢啊……” “哼裙盾!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤番官,失蹤者是張志新(化名)和其女友劉穎庐完,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體徘熔,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡门躯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了酷师。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片讶凉。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖山孔,靈堂內的尸體忽然破棺而出懂讯,到底是詐尸還是另有隱情,我是刑警寧澤台颠,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布褐望,位于F島的核電站,受9級特大地震影響蓉媳,放射性物質發(fā)生泄漏譬挚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一酪呻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧盐须,春花似錦玩荠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至塑径,卻和暖如春女坑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背统舀。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工匆骗, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人誉简。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓碉就,卻偏偏與公主長得像,于是被迫代替她去往敵國和親闷串。 傳聞我的和親對象是個殘疾皇子瓮钥,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內容