RTSP、RTMP、HLS
阿新 • • 發佈:2019-02-19
關鍵詞
RTSP
RTSP(Real Time Streaming Protocol),實時流傳輸協議,是TCP/IP協議體系中的一個應用層協議。
RTMP
RTMP是Real Time Messaging Protocol(實時訊息傳輸協議)的首字母縮寫,是Adobe Systems公司為Flash播放器和伺服器之間音訊、視訊和資料傳輸 開發的開放協議。該協議基於TCP,是一個協議簇,包括RTMP基本協議及RTMPT/RTMPS/RTMPE等多種變種。RTMP是一種設計用來進行實時資料通訊的網路協議,主要用來在Flash/AIR平臺和支援RTMP協議的流媒體/互動伺服器之間進行音視訊和資料通訊。支援該協議的軟體包括Adobe Media Server/Ultrant Media Server/red5等。
HLS
Apple的動態位元速率自適應技術。主要用於PC和Apple終端的音視訊服務。包括一個m3u(8)的索引檔案,TS媒體分片檔案和key加密串檔案。常用的流媒體協議主要有 HTTP 漸進下載和基於 RTSP/RTP 的實時流媒體協議,這二種基本是完全不同的東西,目前比較方便又好用的是用 HTTP 漸進下載方法。在這個中 apple 公司的 HTTP Live Streaming 是這個方面的代表。它最初是蘋果公司針對iPhone、iPod、iTouch和iPad等移動裝置而開發的流.現在見到在桌面也有很多應用了,HTML5 是直接支援這個。
橫向比較
HLS是蘋果提出和推薦的音視訊直播、點播的流媒體協議,它通過將媒體檔案切分成若干個TS片(比如每10秒鐘一片),並通過m3u列表檔案將這些TS片段集中起來供客戶端播放器接收。這樣做有如下幾個好處:- 一旦切分完成,之後的分發過程完全不需要額外的服務軟體,普通網路伺服器即可,大大降低了CDN邊緣伺服器的配置需求。
- 分發協議通常使用常見的HTTP協議,所以代理伺服器對這個協議的緩衝優化就相當成熟。相比之下,很少代理伺服器會對RTSP協議流資料進行快取優化,這對軟體播放實時視訊就有相當大的優勢,因為這樣的分發策略,對源伺服器的負載壓力小得多。
- 對於非實時視訊,同樣也有類似的好處,比如你要在一個長達一個小時的視訊中跳轉,如果使用單個MP4格式的視訊檔案,並且也是用HTTP協議,那麼需要代理伺服器支援HTTP rang request以獲取大檔案中的一部分,不是所有代理伺服器都對此有良好的支援。而HTTP Live Streaming則只需要根據列表檔案中的時間軸找出對應TS片即可完成次任務,不需要range request,對代理伺服器的要求小很多,所有代理伺服器都支援小檔案的高效快取。
- 由於不需要預先載入索引檔案,大大減少了首次載入的延遲(如果MP4的媒體檔案比較長,索引檔案很大,那麼會出現很大的延遲)。