天天看點

RTSP和RTMP的差別是什麼?

RTSP和RTMP的差別是什麼?

RTMP和RTSP協定是流媒體協定。

RTSP (Real-Time Stream Protocol)由Real Networks 和 Netscape共同提出的,基于文本的多媒體播放控制協定。RTSP定義流格式,流資料經由RTP傳輸;RTSP實時效果非常好,适合視訊聊天,視訊監控等方向。

RTMP(Real Time Message Protocol) 有 Adobe 公司提出,用來解決多媒體資料傳輸流的多路複用(Multiplexing)和分包(packetizing)的問題,優勢在于低延遲,穩定性高,支援所有攝像頭格式,浏覽器加載 flash插件就可以直接播放。

RTSP和RTMP的差別:

RTSP雖然實時性最好,但是實作複雜,适合視訊聊天和視訊監控;

RTMP強在浏覽器支援好,加載flash插件後就能直接播放,是以非常火,相反在浏覽器裡播放rtsp就很困難了。

直播的協定有:rtmp,http,rtsp等等。

最常用的有二種:http,rtmp,當使用http協定的時候視訊格式需要是m3u8或flv,下面作詳細說明各種環境的優缺點。

首先,rtsp不能使用于網頁環境(包含PC端和移動端)。

那麼直播隻能選擇rtmp或http

rtmp協定隻支援flashplayer,也就是隻能在PC端(或安卓環境中安裝了flashplayer元件,這種環境比較少)安裝了flashplayer的情況下使用。按現在的趨勢,flashplayer是要逐漸被淘汰掉的。當然,在中國還會存在相對長時間。

http協定的直播分二種格式,m3u8和flv。flv是一種即将被淘汰的直播格式。用來做直播已顯的力不從心了。是以綜合考慮,m3u8相對的比較好點,優點是支援移動端,并且支援PC端上安裝了flashplayer的環境。缺點就如同rtmp一樣。flashplayer并不是未來的發展趨勢。另外一個缺點就是m3u8是有延遲的。并不能實時,實時傳輸方面不如rtmp協定。因為m3u8的直播原理是将直播源不停的壓縮成指定時長的ts檔案(比如9秒,10秒一個ts檔案)并同時實時更新m3u8檔案裡的清單以達到直播的效果。這樣就會有一個至少9,10秒的時間延遲。如果壓縮的過小,可能導緻用戶端網絡原因緻視訊變卡。

考慮到以上原因。現在并沒有一種可以相容性很好的視訊格式或協定來做直播。目前最理想的環境就是pc端使用rtmp已達到減少延時的效果。而移動端隻能使用m3u8格式直播,如果要求不是太高,建議直接使用m3u8做直播。