直播賣貨系統,全面的流媒體傳輸協議介紹
直播賣貨系統的搭建,離不開流媒體傳輸,那麼都有哪些流媒體傳輸協議,和我一起看看吧。
RTP
參考文件 RFC3550/RFC3551
Real-time Transport Protocol)是用於Internet上針對多媒體資料流的一種傳輸層協議。RTP協議詳細說明了在網際網路上傳遞音訊和影片的標準資料包格式。RTP協議常用於流媒體系統(配合RTCP協議),視訊會議和一鍵通(Push to Talk)系統(配合H.323或SIP),使它成為IP電話產業的技術基礎。RTP協議和RTP控制協議RTCP一起使用,而且它是建立在UDP協議上的。
RTP 本身並沒有提供按時傳送機制或其它服務質量(QoS)保證,它依賴於低層服務去實現這一過程。 RTP 並不保證傳送或防止無序傳送,也不確定底層網路的可靠性。 RTP 實行有序傳送, RTP 中的序列號允許接收方重組傳送方的包序列,同時序列號也能用於決定適當的包位置,例如:在影片解碼中,就不需要順序解碼。
RTP 由兩個緊密連結部分組成: RTP ― 傳送具有實時屬性的資料;RTP 控制協議(RTCP) ― 監控服務質量並傳送正在進行的會話參與者的相關資訊。
RTCP
實時傳輸控制協議(Real-time Transport Control Protocol或RTP Control Protocol或簡寫RTCP)是實時傳輸協議(RTP)的一個姐妹協議。RTCP為RTP媒體流提供通道外(out-of-band)控制。RTCP本身並不傳輸資料,但和RTP一起協作將多媒體資料打包和傳送。RTCP定期在流多媒體會話參加者之間傳輸控制資料。RTCP的主要功能是為RTP所提供的服務質量(Quality of Service)提供反饋。
RTCP收集相關媒體連線的統計資訊,例如:傳輸位元組數,傳輸分組數,丟失分組數,jitter,單向和雙向網路延遲等等。網路應用程式可以利用RTCP所提供的資訊試圖提高服務質量,比如限制資訊流量或改用壓縮比較小的編解碼器。RTCP本身不提供資料加密或身份認證。SRTCP可以用於此類用途。
SRTP & SRTCP
參考文件 RFC3711
安全實時傳輸協議(Secure Real-time Transport Protocol或SRTP)是在實時傳輸協議(Real-time Transport Protocol或RTP)基礎上所定義的一個協議,旨在為單播和多播應用程式中的實時傳輸協議的資料提供加密、訊息認證、完整性保證和重放保護。它是由David Oran(思科)和Rolf Blom(愛立信)開發的,並最早由IETF於2004年3月作為RFC3711釋出。
由於實時傳輸協議和可以被用來控制實時傳輸協議的會話的實時傳輸控制協議(RTP Control Protocol或RTCP)有著緊密的聯絡,安全實時傳輸協議同樣也有一個伴生協議,它被稱為安全實時傳輸控制協議(Secure RTCP或SRTCP);安全實時傳輸控制協議為實時傳輸控制協議提供類似的與安全有關的特性,就像安全實時傳輸協議為實時傳輸協議提供的那些一樣。
在使用實時傳輸協議或實時傳輸控制協議時,使不使用安全實時傳輸協議或安全實時傳輸控制協議是可選的;但即使使用了安全實時傳輸協議或安全實時傳輸控制協議,所有它們提供的特性(如加密和認證)也都是可選的,這些特性可以被獨立地使用或禁用。唯一的例外是在使用安全實時傳輸控制協議時,必須要用到其訊息認證特性。
RTSP
參考文件 RFC2326
是由Real Networks和Netscape共同提出的。該協議定義了一對多應用程式如何有效地透過IP網路傳送多媒體資料。RTSP提供了一個可擴充套件框架,使實時資料,如音訊與影片的受控、直播賣貨系統點播成為可能。資料來源包括現場資料與儲存在剪輯中的資料。該協議目的在於控制多個資料傳送連線,為選擇傳送通道,如UDP、多播UDP與TCP提供途徑,併為選擇基於RTP上傳送機制提供方法。
RTSP(Real Time Streaming Protocol)是用來控制聲音或影像的多媒體串流協議,並允許同時多個串流需求控制,傳輸時所用的網路通訊協定並不在其定義的範圍內,伺服器端可以自行選擇使用TCP或UDP來傳送串流內容,它的語法和運作跟HTTP 1.1類似,但並不特別強調時間同步,所以比較能容忍網路延遲。而前面提到的允許同時多個串流需求控制(Multicast),除了可以降低伺服器端的網路用量,更進而支援多方視訊會議(Video Conference)。 因為與HTTP1.1的運作方式相似,所以代理伺服器《Proxy》的快取功能《Cache》也同樣適用於RTSP,並因RTSP具有重新導向功能,可視實際負載情況來轉換提供服務的伺服器,以避免過大的負載集中於同一伺服器而造成延遲。
RTSP 和RTP的關係
RTP不象http和ftp可完整的下載整個影視檔案,它是以固定的資料率在網路上傳送資料,客戶端也是按照這種速度觀看影視檔案,當影視畫面播放過後,就不可以再重複播放,除非重新向伺服器端要求資料。
RTSP與RTP最大的區別在於:RTSP是一種雙向實時資料傳輸協議,它允許直播賣貨系統向伺服器端傳送請求,如回放、快進、倒退等操作。當然,RTSP可基於RTP來傳送資料,還可以選擇TCP、UDP、組播UDP等通道來傳送資料,具有很好的擴充套件性。它時一種類似與http協議的網路應用層協議。目前碰到的一個應用:伺服器端實時採集、編碼併傳送兩路影片,客戶端接收並顯示兩路影片。由於客戶端不必對影片資料做任何回放、倒退等操作,可直接採用UDP+RTP+組播實現。
RTP:實時傳輸協議(Real-time Transport Protocol)
RTP/RTCP是實際傳輸資料的協議
RTP傳輸音訊/影片資料,如果是PLAY,Server傳送到Client端,如果是RECORD,可以由Client傳送到Server
整個RTP協議由兩個密切相關的部分組成:RTP資料協議和RTP控制協議(即RTCP)
RTSP:實時流協議(Real Time Streaming Protocol,RTSP)
RTSP的請求主要有DESCRIBE,SETUP,PLAY,PAUSE,TEARDOWN,OPTIONS等,顧名思義可以知道起對話和控制作用
RTSP的對話過程中SETUP可以確定RTP/RTCP使用的埠,PLAY/PAUSE/TEARDOWN可以開始或者停止RTP的傳送,等等
RTCP:
RTP/RTCP是實際傳輸資料的協議
RTCP包括Sender Report和Receiver Report,用來進行音訊/影片的同步以及其他用途,是一種控制協議
SDP
會話描述協議(SDP)為會話通知、會話邀請和其它形式的多媒體會話初始化等目的提供了多媒體會話描述。
會話目錄用於協助多媒體會議的通告,併為會話參與者傳送相關設定資訊。SDP 即用於將這種資訊傳輸到接收端。SDP 完全是一種會話描述格式 ― 它不屬於傳輸協議 ― 它只使用不同的適當的傳輸協議,包括會話通知協議(SAP)、會話初始協議(SIP)、實時流協議(RTSP)、MIME 擴充套件協議的電子郵件以及超文字傳輸協議(HTTP)。
SDP 的設計宗旨是通用性,它可以應用於大範圍的網路環境和應用程式,而不僅僅侷限於組播會話目錄,但 SDP 不支援會話內容或媒體編碼的協商。
在因特網組播骨幹網(Mbone)中,會話目錄工具被用於通告多媒體會議,併為參與者傳送會議地址和參與者所需的會議特定工具資訊,這由 SDP 完成。SDP 連線好會話後,傳送足夠的資訊給會話參與者。SDP 資訊傳送利用了會話通知協議(SAP),它週期性地組播通知資料包到已知組播地址和埠處。這些資訊是 UDP 資料包,其中包含 SAP 協議頭和文字有效載荷(text payload)。這裡文字有效載荷指的是 SDP 會話描述。此外資訊也可以透過電子郵件或 WWW (World Wide Web) 進行傳送。
SDP 文字資訊包括:
會話名稱和意圖;
會話持續時間;
構成會話的媒體;
有關接收媒體的資訊(地址等)。
協議結構
SDP 資訊是文字資訊,採用 UTF-8 編 碼中的 ISO 10646 字符集。SDP 會話描述如下:(標註 * 符號的表示可選欄位):
v = (協議版本)
o = (所有者/建立者和會話識別符號)
s = (會話名稱)
i = * (會話資訊)
u = * (URI 描述)
e = * (Email 地址)
p = * (電話號碼)
c = * (連線資訊 ― 如果包含在所有媒體中,則不需要該欄位)
b = * (頻寬資訊)
一個或更多時間描述(如下所示):
z = * (時間區域調整)
k = * (加密金鑰)
a = * (0 個或多個會話屬性行)
0個或多個媒體描述(如下所示)
時間描述
t = (會話活動時間)
r = * (0或多次重複次數)
媒體描述
m = (媒體名稱和傳輸地址)
i = * (媒體標題)
c = * (連線資訊 — 如果包含在會話層則該欄位可選)
b = * (頻寬資訊)
k = * (加密金鑰)
a = * (0 個或多個會話屬性行)
還有幾個可用於直播賣貨系統搭建的流媒體傳輸協議沒有介紹,我們下篇接著再說。
————————————————
宣告:本文由雲豹科技轉發自
雪影
部落格,如有侵權請聯絡作者刪除
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69982461/viewspace-2781112/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 直播搭建中的流媒體傳輸系統的核心乾貨
- 流媒體傳輸協議之 RTP (上篇)協議
- 流媒體傳輸協議之 RTP(下篇)協議
- 直播帶貨app原始碼,不得不瞭解的流媒體傳輸協議APP原始碼協議
- 檔案傳輸協議介紹協議
- 伺服器傳輸協議介紹伺服器協議
- 廣電教育融媒體/影片流媒體系統方案(影片直播、傳輸、回放、錄製)
- 影片直播原始碼開發中的流媒體協議:rtmp協議原始碼協議
- 視訊直播技術乾貨:一文讀懂主流視訊直播系統的推拉流架構、傳輸協議等架構協議
- 淺析 HLS 流媒體協議協議
- 一篇文章讀懂流媒體傳輸協議RTP、RTCP、RTSP、SRTP&SRTCP協議TCP
- 認識流媒體協議,從 RTSP 協議解析開始!協議
- 分散式日誌傳輸系統Databus(一)--系統介紹分散式
- 通過 wireshark 抓包瞭解直播流媒體 RTMP 協議基本過程協議
- 傳輸層協議協議
- WebRTC:資料傳輸相關協議簡介Web協議
- 關於直播平臺開發中流媒體傳輸,重點乾貨分享
- Android 輸入系統介紹Android
- 四點總結直播賣貨系統的賣貨方式有哪些
- 直播系統定製開發中流媒體傳輸最重要的三個重點
- 超文字傳輸協議協議
- 開源軟體許可協議介紹協議
- 4種傳輸協議設定,檔案傳輸協議如何選擇?協議
- 06、HSMS協議介紹協議
- 搭建直播系統,常見的網路傳送協議有哪些?協議
- 直播賣貨系統的火爆源於帶貨直播原始碼的特色原始碼
- HTTP超文字傳輸協議HTTP協議
- TCP傳輸協議詳解TCP協議
- 【傳輸協議】HttpClient基本使用協議HTTPclient
- 馮迅:YY多媒體實時傳輸系統演進
- 全民直播時代,直播賣貨系統的合作模式如何收益?模式
- 19_MQTT協議介紹MQQT協議
- WebSocket協議入門介紹Web協議
- 深入理解 web 協議(一)- http 包體傳輸Web協議HTTP
- 快手科技音視訊技術亮相ChinaMM 首次公開多媒體傳輸協議KTP協議
- 智慧家居系統的匯流排系統和無線系統的具體介紹
- 如何看待鐳速傳輸的Raysync高速傳輸協議?協議
- 傳輸層協議 TCP 和 UDP協議TCPUDP