你好,這里是網(wǎng)絡(luò)技術(shù)聯(lián)盟站。
RTMP 與 RTSP 是比較常見的兩種流媒體協(xié)議,那么什么是RTMP?什么是RTSP?它們兩之間有什么區(qū)別?使用的時候應(yīng)該如何選擇?
今天瑞哥就用人話好好和大家聊聊,如果覺得對您有幫助,可以收藏。
什么是流媒體協(xié)議?
TCP 和 UDP
TCP
UDP
TCP 與 UDP 區(qū)別
RTMP
RTMP 工作原理 ?
RTSP
RTSP 工作原理 ?
RTMP 與 RTSP 區(qū)別
1、延遲
2、音頻編解碼器
3、視頻編解碼器
4、優(yōu)點
5、缺點
RTMP 與 RTSP 該如何選擇?
總結(jié)
流媒體協(xié)議,英文學(xué)名Streaming Protocol,用一句人話來解釋:流媒體協(xié)議是一種用于通過 Web 傳遞多媒體的協(xié)議。
每次觀看直播或點播視頻時,背后的技術(shù)就是流媒體協(xié)議。
流媒體協(xié)議有很多,主要分為三大類:
傳統(tǒng)視頻流協(xié)議主要有:
基于 HTTP 的自適應(yīng)協(xié)議主要有:
新技術(shù)主要有:
而我們今天著重要介紹和比較的就是傳統(tǒng)視頻流協(xié)議:RTMP和RTSP
在探討RTMP和RTSP前,我們有必要先了解一下TCP 和 UDP,因為 RTMP 是基于 TCP 開發(fā)的,那么 RTSP 使用到了 UDP 。
TCP 英文全稱:Transmission Control Protocol
,中文意思:傳輸控制協(xié)議。
TCP協(xié)議是位于應(yīng)用層和網(wǎng)絡(luò)層之間的傳輸控制協(xié)議,用于提供可靠的流傳輸服務(wù),即以字節(jié)流的形式傳輸數(shù)據(jù)和以字節(jié)流的形式接收數(shù)據(jù)。TCP 使用確認(rèn)機(jī)制來檢查數(shù)據(jù)是否安全可靠地到達(dá),在發(fā)送端進(jìn)行復(fù)用,在接收端進(jìn)行解復(fù)用。TCP 使用三個階段來實現(xiàn)連接定向功能,如連接建立、數(shù)據(jù)傳輸和連接終止。
UDP 英文全稱:User Datagram Protocol
,中文意思:用戶數(shù)據(jù)報協(xié)議。
UDP是一種無連接協(xié)議,即將數(shù)據(jù)從一端傳輸?shù)搅硪欢耍粺o需建立連接。UDP 也位于應(yīng)用層和網(wǎng)絡(luò)層之間。它還以數(shù)據(jù)包的形式傳遞數(shù)據(jù)或信息;這些數(shù)據(jù)包稱為用戶數(shù)據(jù)報。UDP 使用多路復(fù)用來處理來自多個進(jìn)程的傳出用戶數(shù)據(jù)報,并使用解復(fù)用來處理進(jìn)入同一主機(jī)上不同進(jìn)程的傳入用戶數(shù)據(jù)報。
以上就是最基礎(chǔ)的部分,下面我切入今天的主題:RTMP 和 RTSP 協(xié)議。
Real Time Messaging Protocol
RTMP 2005 年誕生,由 Macromedia 開發(fā),后來被 Adobe 收購,在流媒體市場上有著悠久的歷史。最初用于在 RTMP 服務(wù)器和用戶設(shè)備上的 Flash 播放器之間傳輸數(shù)據(jù),不過Flash 于 2020 年正式結(jié)束了。
RTMP 的最大優(yōu)點是可以在服務(wù)器和客戶端服務(wù)器之間保持穩(wěn)定的連接,無論用戶的互聯(lián)網(wǎng)連接質(zhì)量如何,它都可以無縫低延遲進(jìn)行流媒體傳輸。這個技術(shù)主要通過將數(shù)據(jù)流分成相等的小部分(音頻數(shù)據(jù)默認(rèn)為 64 字節(jié),視頻數(shù)據(jù)默認(rèn)為 128 字節(jié))并將它們順序傳輸?shù)浇邮赵O(shè)備,然后將它們重新組合成視頻流來實現(xiàn)的。
一般來說視頻流是這樣工作的:
那么這個環(huán)節(jié)中RTMP就起到了非常重要的作用,在視頻從攝像頭到服務(wù)器的過程中,RTMP將大量數(shù)據(jù)分割成小塊并跨多個虛擬通道傳輸,在視頻源和 RTMP 服務(wù)器之間提供了穩(wěn)定和流暢的視頻流。
RTMP 最大的缺點是它與 HTML5 播放器不兼容,這樣的話必須使用另一種協(xié)議,例如 HLS來傳輸視頻文件到達(dá)用戶的設(shè)備,此外,RTMP 容易受到帶寬問題的影響。
Real Time Streaming Protocol
RTSP 1996年誕生,由 RealNetworks、Netscape 和哥倫比亞大學(xué)的專家聯(lián)合開發(fā),用于控制 VHS 式視頻流的娛樂和通信系統(tǒng),RTSP 使用高效的 RTP 協(xié)議,將流數(shù)據(jù)分解成更小的塊,這樣可以更快地傳遞。
RTSP 支持可靠的分段流,這意味著用戶可以在仍在下載流的同時繼續(xù)觀看流。
Android 和 iOS 設(shè)備沒有開箱即用的 RTSP 兼容播放器,所以普及度并不高,但 RTSP 在許多監(jiān)控 和閉路電視 (CCTV) 應(yīng)用非常廣泛,遠(yuǎn)程攝像頭、在線教育和互聯(lián)網(wǎng)直播等,都用的比較頻繁。
上面提到RTSP使用RTP協(xié)議進(jìn)行分解視頻塊的,這里我們來講一下RTP協(xié)議。
RTP協(xié)議,英文全稱:Real-time Transport Protocol
,中文就是實時傳輸協(xié)議,它的底層其實就是UDP,這樣一來就可以實現(xiàn)低延遲。
除了RTP協(xié)議,為確保流暢和一致的流傳輸,RTSP 還使用另外兩種網(wǎng)絡(luò)通信協(xié)議:
這個怎么理解呢?
TCP可靠傳輸,比如用戶按下播放或者停止播放的時候,這個是個準(zhǔn)確的請求,這個需要保證可靠性,這個時候TCP作用就體現(xiàn)了。
UDP是低延遲的協(xié)議,那么用于傳送音頻、視頻和數(shù)據(jù)可以達(dá)到非常高效的效果。
由于 RTSP 依賴于專用服務(wù)器,并且依賴于 RTP,因此該協(xié)議不支持加密視頻內(nèi)容或重傳丟失的數(shù)據(jù)包。
其實看完RTMP 與 RTSP 區(qū)別,應(yīng)該對于使用場景有見解式的認(rèn)識了。
本文主要介紹了流媒體協(xié)議、TCP與UDP協(xié)議、RTMP與RTSP協(xié)議,RTMP 和 RTSP 流媒體協(xié)議都有各自的優(yōu)勢。
RTMP 提供與不同攝取設(shè)備的兼容性和低延遲流媒體的穩(wěn)定性,但是,您需要一個特定的 Flash Media Server 來使用 RTMP 分發(fā)您的內(nèi)容,所以RTMP 適用于主要的第三方流應(yīng)用程序和較舊的硬件編碼器;
RTSP 最適用于 IP 攝像機(jī)和運(yùn)行 IP 攝像機(jī)的設(shè)備,例如無人機(jī)。
朋友們,你們明白了嗎?
聯(lián)系客服