1. 程式人生 > >RTMP和Http優劣

RTMP和Http優劣

用HTTP方式: 

先通過IIS 將FLV下載到本地快取,然後再通過NetConnection的本地連線來播放這個FLV,這種方法是播放本地的視訊,並不是播放伺服器的視訊。因此在本地快取裡可以找到這個FLV。

其優點就是伺服器下載完這個FLV,伺服器就沒有消耗了,節省伺服器消耗。其缺點就是FLV會快取在客戶端,對FLV的保密性不好。

用RTMP方式: 

通過NetConnection連線到FMS/Red5伺服器,並實時播放(直播)伺服器的FLV檔案。對於點播,這種方式可以任意選擇視訊播放點(SEEK())。不象HTTP方式需要快取完整個FLV檔案到本地才可以任意選擇播放點,其優點就是在本地快取裡是找不到這個FLV檔案的,就是FLV不會快取在客戶端,FLV的保密性好,其缺點就是消耗伺服器資源,連線始終是實時的。一句話,一個是本地播放,一個是伺服器實時播放,因需而定。

HTTP現在應用的比較多,因為這個完全不需要RED5或者FMS的伺服器端的支援,普通的WEB伺服器都可以實現(虛擬主機)後面一個就必須有伺服器了,不過保密性會強一些。只所以大多數站點都用HTTP模式,一個是因為對伺服器來說壓力小一些,另外一種對FLASH來講,播放器的引數更容易設定一些,因為只要修改xxx.swf?file=xxx就可以了。

HHTP也可以支援直播

HTTP Live Streaming(HLS),於HTTP的流媒體網路傳輸協議。它的工作原理是把整個流分成一個個小的基於HTTP的檔案來下載,每次只下載一些。當媒體流正在播放時,客戶端可以選擇從許多不同的備用源中以不同的速率下載同樣的資源,   允許流媒體會話適應不同的資料速率。

在開始一個流媒體會話時,客戶端會下載一個包含元資料的extended M3U (m3u8) playlist檔案,用於尋找可用的媒體流。HLS只請求基本的HTTP報文,與實時傳輸協議(RTP)不同,HLS可以穿過任何允許HTTP資料通過的防火牆或者代理伺服器。它也很容易使用內容分發網路來傳輸媒體流。蘋果公司把HLS協議作為一個網際網路草案(逐步提交),在第一階段中已作為一個非正式的標準提交到IETF。但是,即使蘋果偶爾地提交一些小的更新,IETF卻沒有關於制定此標準的有關進一步的動作。