溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

搭建直播系統(tǒng),常見的網(wǎng)絡(luò)傳送協(xié)議有哪些?

發(fā)布時間:2020-08-11 08:16:52 來源:ITPUB博客 閱讀:439 作者:拓幻科技 欄目:軟件技術(shù)

直播將我們的溝通方式從傳統(tǒng)的二維空間直接進化到了現(xiàn)在的三維模式,最主要的原因就是因為直播具有很強的實時性和互動性功能。在計算機網(wǎng)絡(luò)中,信息的交換必須按照預(yù)先共同約定好的過程進行,才能實現(xiàn)實體間的交互,這就是網(wǎng)絡(luò)中的傳送協(xié)議。 如果沒有傳送協(xié)議,傳信雙方的信息交換就會出現(xiàn)問題。所以今天拓幻科技聊一下在直播系統(tǒng)搭建過程中,可以使用到的一些網(wǎng)絡(luò)傳輸協(xié)議有哪些?

1. RTMP 協(xié)議:

RTMP 是Real Time Messaging Protocol英文的縮寫,即實時消息傳輸協(xié)議。RTMP是一種設(shè)計用來進行實時數(shù)據(jù)通信的網(wǎng)絡(luò)協(xié)議,是Adobe Systems公司為Flash播放器和服務(wù)器之間音頻、視頻和數(shù)據(jù)傳輸開發(fā)的開放協(xié)議。由于其一般傳輸?shù)囊粢曨l格式是flv、f4v。web上通過flash播放器播放,pc端大多數(shù)瀏覽器基本支持,但是移動端幾乎都不支持,一般主要用來在Flash/AIR平臺和支持RTMP協(xié)議的流媒體/交互服務(wù)器之間進行音視頻和數(shù)據(jù)通信。

它具有多種變種:

1)RTMP 工作在TCP之上,默認使用端口1935;

2)RTMPE 在RTMP的基礎(chǔ)上增加了加密功能;

3)RTMPT 封裝在HTTP請求之上,可穿透防火墻;

4)RTMPS 類似RTMPT,增加了TLS/SSL的安全功能;

2. RTSP 協(xié)議:

RTSP (Real Time Streaming Protocol),即實時流傳輸協(xié)議。RTSP定義了一對多應(yīng)用程序如何有效地通過IP網(wǎng)絡(luò)傳送多媒體數(shù)據(jù),提供了一個可擴展框架,數(shù)據(jù)源可以包括實時數(shù)據(jù)與已有的存儲的數(shù)據(jù)。該協(xié)議用于控制聲音或影像多個數(shù)據(jù)的連接,服務(wù)器端可以自行選擇使用TCP或UDP來傳送串流內(nèi)容。由于RTSP不特別強調(diào)時間同步,所以可能會網(wǎng)絡(luò)延遲,但是RTSP具有重新導(dǎo)向功能,可以根據(jù)實際負載情況來切換提供服務(wù)的服務(wù)器,因此可在一定程度上可避免服務(wù)器承載過大而造成的延遲。

3.RTP 協(xié)議:

RTP (Real-time Transport Protocol),即實時傳輸協(xié)議。為數(shù)據(jù)提供了具有實時特征的端對端傳送服務(wù),如在組播或單播網(wǎng)絡(luò)服務(wù)下的交互式視頻音頻或模擬數(shù)據(jù)。RTP協(xié)議默認是基于UDP協(xié)議傳輸數(shù)據(jù)的, 延遲低可以做到毫秒級別。雖然RTP 協(xié)議不會防止無序傳送,也不確定底層網(wǎng)絡(luò)的可靠性,只管發(fā)送,不管傳輸是否丟包,也不管接收方是否有收到包,但是RTP 實行有序傳送,RTP中的序列號允許接收方重組發(fā)送方的包序列,同時序列號也能用于決定適當?shù)陌恢?,如在視頻解碼中,就不需要順序解碼?;赗TP協(xié)議的這些特性, RTP 廣泛應(yīng)用于流媒體相關(guān)的通訊和娛樂,包括電話、視頻會議、電視和基于網(wǎng)絡(luò)的一鍵通業(yè)務(wù)(類似對講機的通話)

4. RTCP 協(xié)議:

RTCP 即RTP 控制協(xié)議 (RTCP: RTP   Control Protocol ), RTCP 主要功能是為RTP所提供的服務(wù)質(zhì)量提供反饋,收集相關(guān)媒體連接的統(tǒng)計信息。 例如傳輸字節(jié)數(shù),傳輸分組數(shù),丟失分組數(shù),單向和雙向網(wǎng)絡(luò)延遲等等。網(wǎng)絡(luò)應(yīng)用程序可以利用RTCP所提供的信息來提高服務(wù)質(zhì)量,比如限制流量或改用壓縮比小的編解碼器。所以說 RTCP 是RTP的配套協(xié)議,是和RTP一起協(xié)作將多媒體數(shù)據(jù)包打包和發(fā)送,定期在多媒體流會話參與者之間傳輸控制數(shù)據(jù)。

5. HTTP-FLV 協(xié)議

HTTP 是一個簡單的請求-響應(yīng)協(xié)議,它通常運行在TCP之上。它指定了客戶端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應(yīng)。 flv 是一種音視頻視頻封裝格式,全稱是Flash Video,是一種流媒體格式,可以通過flash播放器播放。 FLV 協(xié)議由Adobe公司主推,格式極其簡單,只是在大塊的視頻幀和音視頻頭部加入一些標記頭信息,在延遲表現(xiàn)和大規(guī)模并發(fā)方面都很成熟。但是在手機瀏覽器上的支持非常有限,但是用作手機端APP直播協(xié)議卻異常合適。

6.HLS 協(xié)議

全稱HTTP Live Streaming, HLS 協(xié)議 是蘋果提出的流媒體播放協(xié)議。是 將視頻分成5-10秒的視頻小分片,然后用m3u8索引表進行管理,由于客戶端下載到的視頻都是5-10秒的完整數(shù)據(jù),故視頻的流暢性很好,但也同樣引入了很大的延遲(HLS的一般延遲在10-30s左右)。相比于FLV,HLS在iPhone和大部分android手機瀏覽器上的支持非常給力。HLS協(xié)議客戶端支持簡單, 只需要支持 HTTP 請求即可, HTTP 協(xié)議無狀態(tài), 只需要按順序下載媒體片段即可,而且網(wǎng)絡(luò)兼容性好, HTTP 數(shù)據(jù)包也可以方便地通過防火墻或者代理服務(wù)器。但是相比RTMP 這類長連接協(xié)議, 用到互動直播場景延時較高。

   以上就是我們常見的網(wǎng)絡(luò)傳輸協(xié)議。一般直播系統(tǒng)搭建中使用較多的是RTMP協(xié)議及HLS協(xié)議,基于這些協(xié)議直播系統(tǒng)得以流暢運行。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI