iOS 系統(tǒng)支持流媒體開發(fā)的框架有MediaPlayer、AVKit,但是這兩個(gè)框架都有缺點(diǎn);
MediaPlayer
針對某些需求支持力度不是很好(eg:播放視頻&不要視頻的聲音;開啟錄音&需要另一首音樂做背景);
AVKit
介于MediaPlayer的缺陷,蘋果肯定不能坐視不管,所以推出了AVKit,AVKit是建立在AVFoundation上的,但是AVKit支持視頻格式不是很多(eg:RMVB就不支持);
MobileVLCKit
然后出現(xiàn)了第三方MobileVLCKit,前身ffmpeg,支持的視頻文件格式如下
*.rmvb *.asf *.avi *.divx *.dv *.flv *.gxf *.m1v *.m2v *.m2ts *.m4v *.mkv *.mov *.mp2 *.mp4 *.mpeg *.mpeg1 *.mpeg2 *.mpeg4 *.mpg *.mts *.mxf *.ogg *.ogm *.ps *.ts *.vob *.wmv *.a52 *.aac *.ac3 *.dts *.flac *.m4a *.m4p *.mka *.mod *.mp1 *.mp2 *.mp3 *.ogg.
使用步驟:
VLCMediaPlayer * player = [[VLCMediaPlayer alloc] initWithOptions:nil];
//設(shè)置承載播放視頻的view
UIView *playView= =[[UIView alloc]initWithFrame:self.view.frame];
[self.view addSubview:playView];
//設(shè)置播放地址
player.media=[VLCMedia mediaWithURL:[NSURL URLWithString:@"http://edge.ivideo.sina.com.cn/6265508.flv?KID=sina,viask&Expires=1497283200&ssig=Fm93rOHyRd"]];
//播放
[self.player play];
下面是主流流媒體介紹:
| 庫名 | 簡介 | 需要的能力 | 官網(wǎng)鏈接 |
|---|---|---|---|
ffmpeg |
FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序。采用LGPL或GPL許可證。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。它包含了非常先進(jìn)的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質(zhì)量,libavcodec里很多codec都是從頭開發(fā)的。 | 了解視頻編解碼原理和流程、了解圖像壓縮技術(shù)、音頻壓縮技術(shù)等 | http://ffmpeg.org |
live555 |
Live555實(shí)現(xiàn)了對多種音視頻編碼格式的音視頻數(shù)據(jù)的流化、接收和處理等支持,包括MPEG、H.263+、DV、JPEG視頻和多種音頻編碼。同時(shí)由于良好的設(shè)計(jì),Live555非常容易擴(kuò)展對其他格式的支持。 | 了解視頻編解碼原理和流程、了解圖像壓縮技術(shù)、音頻壓縮技術(shù)等 | http://www.live555.com |
MobileVLCKit |
鼎鼎大名的播放器VLC,優(yōu)秀的封裝,源碼中最核心的部分,被封裝成了獨(dú)立的庫,基于ffmpeg,live555提供完整的媒體播放庫,你只需要定制自己的界面,支持CocoaPods導(dǎo)入庫,開發(fā)一個(gè)簡單界面的播放器,你只需要幾行代碼,幾乎覆蓋所有媒體格式! |
你只需要定制好自己的界面,它的API看起來就是一個(gè)播放器 | http://www.videolan.org |
了解人物
雷霄驊
FFMpeg集成
參考