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做直播。
轉自:https://www.cnblogs.com/biao-wu/articles/13064243.html