![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISM9AnYldnJwAzN9c3Pn5GcuQ0MlQ0MlcnW1JkbMFTU61EeFpnT6FERNhHMp1UNBR1T4dmeNdXRE90dZRUT3lERNlHMD9UNZRkT4lFVNZXWE10dJRUT5hzQPVTWE5EeZRVT2NmMiNnSywEd5ITW110MaZHetlVdO1GT3lERNl3YXJGc5kHT20ESjBjUIF2Lc12bj5SYphXa5VWen5WY35iclN3Ztl2Lc9CX6MHc0RHaiojIsJye.png)
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做直播。