流媒體直播協(xié)議詳解
2024-4-30 22:06:46
用HTTP方式:
先通過服務(wù)器將FLV下載到本地緩存,然后再通過NetConnection的本地連接來播放這個FLV,這種方法是播放本地的視頻,并不是播放服務(wù)器的視頻。因此在本地緩存里可以找到這個FLV。其優(yōu)點就是服務(wù)器下載完這個FLV,服務(wù)器就沒有消耗了,節(jié)省服務(wù)器消耗。其缺點就是FLV會緩存在客戶端,對FLV的保密性不好。是一種將直播流模擬成FLV文件,通過HTTP協(xié)議進(jìn)行下載的模式來實現(xiàn)流媒體傳輸?shù)膮f(xié)議,端口號80。一般建議使用HTTP FLV,實時性和RTMP相等。
優(yōu)點:HTTP相比于RTMP省去了一些協(xié)議交互時間,首屏?xí)r間更短。HTTP可拓展的功能更多。
用RTMP方式:
通過NetConnection連接到FMS(Flash Media Server)或Red5服務(wù)器,并實時播放服務(wù)器的FLV文件,這種方式可以任意選擇視頻播放點,并不象HTTP方式需要緩存完整個FLV文件到本地才可以任意選擇播放點,其優(yōu)點就是在本地緩存里是找不到這個FLV文件的。其優(yōu)點就是FLV不會緩存在客戶端,F(xiàn)LV的保密性好,其缺點就是消耗服務(wù)器資源,連接始終是實時的。
由以上分析可知,Http方式是本地播放,而RTMP方式是服務(wù)器實時播放。Adobe公司的流媒體傳輸協(xié)議,端口號1935。普通網(wǎng)絡(luò)用戶均可使用,包括非IOS平臺用戶,對非80端口(如1935)無限制的網(wǎng)絡(luò)環(huán)境用戶。
優(yōu)點:防HTTP下載,延時短。
RTSP方式:
RTSP 1.0標(biāo)準(zhǔn)的制訂者沒有充分預(yù)測到互聯(lián)網(wǎng)帶寬的快速增長,以及由于IPv4地址短缺導(dǎo)致的NAT技術(shù)的廣泛使用,還有代理服務(wù)器的大量存在,它在傳輸可靠性和易用性上都存在一定的缺陷。雖然各家廠商都做了一定程度的修補,比如支持RTSP over HTTP,支持NAT穿透等,但仍然于事無補。在2005之后網(wǎng)絡(luò)視頻大爆炸的幾年中,RTSP 1.0并沒有得到y(tǒng)outube, hulu, 土豆,優(yōu)酷等視頻服務(wù)提供商的青睞,相反,Adobe公司開發(fā)的私有流媒體技術(shù)RTMP以其優(yōu)秀的易用性和富媒體的一體化集成,得到了多數(shù)視頻服務(wù)提供商的追捧,成為了事實上的標(biāo)準(zhǔn).
缺點:web端播放rtsp流的話,需要寫插件,而且對瀏覽器也很挑剔,flash不支持rtsp,需要做activeX插件,目前的CDN都是基于RTMP的。
HLS(Http Living Streaming)方式:
從2010年起,蘋果開始在iOS設(shè)備上支持一種叫做”Live HTTP”的流媒體技術(shù),并宣布在iOS上不會支持RTSP和Flash技術(shù)。Live HTTP本質(zhì)上跟基于HTTP的文件分段下載很接近。在帶寬充裕的前提下,live HTTP能夠?qū)崿F(xiàn)跟RTSP和RTMP同樣的流媒體播放效果,同時得到了更好的易用性,更簡單的控制。在最新一代的超文本標(biāo)識語言HTML5中,視頻文件的點播,同樣也采用了HTTP作為其承載協(xié)議。
HLS是IOS平臺下的流媒體傳輸協(xié)議 ,端口號80。
優(yōu)點:H5瀏覽器支持比較好,IOS,安卓原生支持。
缺點:延遲性比較大。樓上說的切片,關(guān)鍵幀改變后切片時間可以縮短,而且可以自己設(shè)定首次產(chǎn)生多少分片。
RTMP(Real Time Messaging Protocol)是基于TCP的,由Adobe公司為Flash播放器和服務(wù)器之間音頻、視頻傳輸開發(fā)的開放協(xié)議。
HLS(HTTP Live Streaming)是基于HTTP的,是Apple公司開放的音視頻傳輸協(xié)議。
HTTP FLV則是將RTMP封裝在HTTP協(xié)議之上的,可以更好的穿透防火墻等。