搭建直播系統,常見的網路傳送協議有哪些?
直播將我們的溝通方式從傳統的二維空間直接進化到了現在的三維模式,最主要的原因就是因為直播具有很強的實時性和互動性功能。在計算機網路中,資訊的交換必須按照預先共同約定好的過程進行,才能實現實體間的互動,這就是網路中的傳送協議。 如果沒有傳送協議,傳信雙方的資訊交換就會出現問題。所以今天拓幻科技聊一下在直播系統搭建過程中,可以使用到的一些網路傳輸協議有哪些?
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: 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協議,基於這些協議直播系統得以流暢執行。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69958138/viewspace-2671237/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 常見的網路協議協議
- 常見的網路協議彙總協議
- 常見網路協議彙總協議
- 直播系統原始碼,常見的混音演算法有哪些?原始碼演算法
- Linux系統常見的管理皮膚有哪些?Linux
- 常見的Linux系統有哪些?你知道嗎?Linux
- 網路安全常見問題有哪些?網路安全學習
- 常見網路攻擊有哪些?如何防禦?
- 虛擬機器常見的網路型別有哪些?linux網路虛擬機型別Linux
- 網路安全中網路的五層協議包括什麼?作用有哪些?協議
- 什麼是網路攻擊?常見的網路攻擊手段有哪些?
- 什麼是Python網路爬蟲?常見的網路爬蟲有哪些?Python爬蟲
- 搭建直播系統前需要注意的細節有哪些?
- 常見的遠端管理埠有哪些?網路安全學習
- Linux系統中,常見的隱形檔案有哪些?Linux
- 2021網站常見漏洞有哪些網站
- 常見網路釣魚攻擊有哪些?如何識別?
- 搭建影片直播系統對伺服器的配置要求有哪些?伺服器
- 跨境電商ERP管理系統有哪些常見功能
- 網頁抓取常見的問題有哪些?網頁
- 常見的網路攻擊型別有哪些?主要包含什麼?型別
- 網路安全常見的威脅有哪些?應急響應教程
- 導致linux系統快取高的常見原因有哪些Linux快取
- 【Linux入門知識分享】常見的Linux系統有哪些?Linux
- 什麼是網路安全威脅?常見威脅有哪些?
- Linux驅動子系統是什麼?常見有哪些?Linux
- 什麼是魚叉式網路釣魚?常見的方式有哪些?
- 學習網路安全可以考證嗎?常見的證書有哪些?
- 【網路安全】木馬啟動方式是什麼?常見的有哪些?
- 網站被攻擊常見的形式有哪些?網站
- 常見的Linux作業系統有哪些?你都瞭解嗎?Linux作業系統
- 網路安全中有哪些常見的欺騙方式?
- 常見的http協議狀態碼HTTP協議
- TCP協議的常見面試題TCP協議面試題
- 常見的網路安全防禦體系有幾種?網路安全入門
- 網路協議之:基於UDP的高速資料傳輸協議UDT協議UDP
- Linux中如何排查網路?常見的網路排查指令都有哪些?Linux
- http協議請求方法有哪些?網路安全技術入門HTTP協議