您好,登錄后才能下訂單哦!
直播將我們的溝通方式從傳統的二維空間直接進化到了現在的三維模式,最主要的原因就是因為直播具有很強的實時性和互動性功能。在計算機網絡中,信息的交換必須按照預先共同約定好的過程進行,才能實現實體間的交互,這就是網絡中的傳送協議。 如果沒有傳送協議,傳信雙方的信息交換就會出現問題。所以今天拓幻科技聊一下在直播系統搭建過程中,可以使用到的一些網絡傳輸協議有哪些?
1. RTMP 協議:
RTMP 是Real Time Messaging Protocol英文的縮寫,即實時消息傳輸協議。RTMP是一種設計用來進行實時數據通信的網絡協議,是Adobe Systems公司為Flash播放器和服務器之間音頻、視頻和數據傳輸開發的開放協議。由于其一般傳輸的音視頻格式是flv、f4v。web上通過flash播放器播放,pc端大多數瀏覽器基本支持,但是移動端幾乎都不支持,一般主要用來在Flash/AIR平臺和支持RTMP協議的流媒體/交互服務器之間進行音視頻和數據通信。
它具有多種變種:
1)RTMP 工作在TCP之上,默認使用端口1935;
2)RTMPE 在RTMP的基礎上增加了加密功能;
3)RTMPT 封裝在HTTP請求之上,可穿透防火墻;
4)RTMPS 類似RTMPT,增加了TLS/SSL的安全功能;
2. RTSP 協議:
RTSP (Real Time Streaming Protocol),即實時流傳輸協議。RTSP定義了一對多應用程序如何有效地通過IP網絡傳送多媒體數據,提供了一個可擴展框架,數據源可以包括實時數據與已有的存儲的數據。該協議用于控制聲音或影像多個數據的連接,服務器端可以自行選擇使用TCP或UDP來傳送串流內容。由于RTSP不特別強調時間同步,所以可能會網絡延遲,但是RTSP具有重新導向功能,可以根據實際負載情況來切換提供服務的服務器,因此可在一定程度上可避免服務器承載過大而造成的延遲。
3.RTP 協議:
RTP (Real-time Transport Protocol),即實時傳輸協議。為數據提供了具有實時特征的端對端傳送服務,如在組播或單播網絡服務下的交互式視頻音頻或模擬數據。RTP協議默認是基于UDP協議傳輸數據的, 延遲低可以做到毫秒級別。雖然RTP 協議不會防止無序傳送,也不確定底層網絡的可靠性,只管發送,不管傳輸是否丟包,也不管接收方是否有收到包,但是RTP 實行有序傳送,RTP中的序列號允許接收方重組發送方的包序列,同時序列號也能用于決定適當的包位置,如在視頻解碼中,就不需要順序解碼。基于RTP協議的這些特性, RTP 廣泛應用于流媒體相關的通訊和娛樂,包括電話、視頻會議、電視和基于網絡的一鍵通業務(類似對講機的通話)
4. RTCP 協議:
RTCP 即RTP 控制協議 (RTCP: RTP Control Protocol ), RTCP 主要功能是為RTP所提供的服務質量提供反饋,收集相關媒體連接的統計信息。 例如傳輸字節數,傳輸分組數,丟失分組數,單向和雙向網絡延遲等等。網絡應用程序可以利用RTCP所提供的信息來提高服務質量,比如限制流量或改用壓縮比小的編解碼器。所以說 RTCP 是RTP的配套協議,是和RTP一起協作將多媒體數據包打包和發送,定期在多媒體流會話參與者之間傳輸控制數據。
5. HTTP-FLV 協議
HTTP 是一個簡單的請求-響應協議,它通常運行在TCP之上。它指定了客戶端可能發送給服務器什么樣的消息以及得到什么樣的響應。 flv 是一種音視頻視頻封裝格式,全稱是Flash Video,是一種流媒體格式,可以通過flash播放器播放。 FLV 協議由Adobe公司主推,格式極其簡單,只是在大塊的視頻幀和音視頻頭部加入一些標記頭信息,在延遲表現和大規模并發方面都很成熟。但是在手機瀏覽器上的支持非常有限,但是用作手機端APP直播協議卻異常合適。
6.HLS 協議
全稱HTTP Live Streaming, HLS 協議 是蘋果提出的流媒體播放協議。是 將視頻分成5-10秒的視頻小分片,然后用m3u8索引表進行管理,由于客戶端下載到的視頻都是5-10秒的完整數據,故視頻的流暢性很好,但也同樣引入了很大的延遲(HLS的一般延遲在10-30s左右)。相比于FLV,HLS在iPhone和大部分android手機瀏覽器上的支持非常給力。HLS協議客戶端支持簡單, 只需要支持 HTTP 請求即可, HTTP 協議無狀態, 只需要按順序下載媒體片段即可,而且網絡兼容性好, HTTP 數據包也可以方便地通過防火墻或者代理服務器。但是相比RTMP 這類長連接協議, 用到互動直播場景延時較高。
以上就是我們常見的網絡傳輸協議。一般直播系統搭建中使用較多的是RTMP協議及HLS協議,基于這些協議直播系統得以流暢運行。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。