版本記錄
版本號 | 時間 |
---|---|
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上編譯框架
- 克隆http://code.videolan.org/videolan/VLCKit.git
- 打開
VLCKit.xcodeproj
- 確保
Build libvlc
target被選擇 - 編譯工程
- 選擇
VLCKit
target并編譯
這將自動獲取和構建libvlc
以及隨附的類肌稻。 另外,為了獲得更多的選擇匕荸,你可以在終端上手動運行buildVLCKit.sh
腳本爹谭。 添加-h
標志來查看所有可用的選項。
Building the framework for iOS - 在iOS平臺編譯框架
- 拷貝 http://code.videolan.org/videolan/VLCKit.git
- 打開您最喜愛的終端應用程序榛搔,如
Terminal.app
或iTerm 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.app
或iTerm 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
注意:
MobileVLCKit
Xcode項目還允許您在構建腳本成功一次后構建一個動態(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解析機制來訪問實際播放的媒體以及如何存儲它栏豺。
-
iPodConverter
:VLCKit
包括流媒體和轉碼功能彬碱,包括一些預定義的配置文件。 在這個示例中奥洼,您將看到如何使用它們巷疼。 在指定的區(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
- Amahi for iOS by Amahi
- Blackbox by Rotapp
- Dreambox-Live by Rotapp (discontinued)
- Fleex player by fleex.tv
- iMagneto
- Korri player by Korrisoft
- Lunettes by the VideoLAN team
- Ma TV Star by Korrisoft
- Movie Player 2 by Dominic Rodemer Online Media
- Player multimédia TNT by Korrisoft
- VLC for iOS by the VideoLAN team
- VLC Streamer by HobbyistSoftware
隨意按字母順序添加您的應用程序宙橱。 請注意,我們沒有列出違反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
- Introduction to The Objective-C 2.0 Programming Language
- Interface Builder
- Mobile VLCKit for Xamarin.iOS
后記
未完万细,待續(xù)~~~