RTP-實時傳輸協定

RTP-實時傳輸協定

實時傳輸協定RTP(Real-time Transport Protocol)是一個網路傳輸協定,它是由IETF的多媒體傳輸工作小組1996年在RFC 1889中公布的,後在RFC3550中進行更新。RTP協定詳細說明了在網際網路上傳遞音頻和視頻的標準數據包格式。它一開始被設計為一個多播協定,但後來被用在很多單播套用中。RTP協定常用於流媒體系統(配合RTSP協定),視頻會議和一鍵通(Push to Talk)系統(配合H.323或SIP),使它成為IP電話產業的技術基礎。RTP協定和RTP控制協定RTCP一起使用,而且它是建立在用戶數據報協定上的。RTP廣泛套用於流媒體相關的通訊和娛樂,包括電話、視頻會議、電視和基於網路的一鍵通業務(類似對講機的通話)。

RTP定義

實時傳輸協定(RTP)為數據提供了具有實時特徵的端對端傳送服務,如在組播或單播網路服務下的互動式視頻音頻或模擬數據。應用程式通常在UDP上運行 RTP 以便使用其多路結點和校驗服務;這兩種協定都提供了傳輸層協定的功能。但是 RTP 可以與其它適合的底層網路或傳輸協定一起使用。如果底層網路提供組播方式,那么 RTP 可以使用該組播表傳輸數據到多個目的地。

RTP 本身並沒有提供按時傳送機制或其它服務質量(QoS)保證,它依賴於低層服務去實現這一過程。 RTP 並不保證傳送或防止無序傳送,也不確定底層網路的可靠性。 RTP 實行有序傳送, RTP 中的序列號允許接收方重組傳送方的包序列,同時序列號也能用於決定適當的包位置,例如:在視頻解碼中,就不需要順序解碼。

RTP組成

RTP 由兩個緊密連結部分組成:

  • RTP ― 傳送具有實時屬性的數據;
  • RTP 控制協定(RTCP) ― 監控服務質量並傳送正在進行的會話參與者的相關信息。RTCP 第二方面的功能對於“鬆散受控”會話是足夠的,也就是說,在沒有明確的成員控制和組織的情況下,它並不非得用來支持一個應用程式的所有控制通信請求。

RTP協定結構

1238916bit
VPXCSRC CountMPayload Type
Sequence numberTimestamp
SSRCCSRC (variable 0 – 15 items 32bits each)

  • V ― 版本。識別 RTP 版本。
  • P ― 間隙(Padding)。設定時,數據包包含一個或多個附加間隙位組,其中這部分不屬於有效載荷。
  • X ― 擴展位。設定時,在固定頭後面,根據指定格式設定一個擴展頭。
  • CSRC Count ― 包含 CSRC 標識符(在固定頭後)的編號。
  • M ― 標記。標記由 Profile 檔案定義。允許重要事件如幀邊界在數據包流中進行標記。
  • Payload Type ― 識別 RTP 有效載荷的格式,並通過應用程式決定其解釋。Profile 檔案規定了從 Payload 編碼到 Payload 格式的預設靜態映射。另外的 Payload Type 編碼可能通過非 RTP 方法實現動態定義。
  • Sequence Number ― 每傳送一個 RTP 數據包,序列號增加1。接收方可以依次檢測數據包的丟失並恢複數據包序列。
  • Timestamp ― 反映 RTP 數據包中的第一個八位組的採樣時間。採樣時間必須通過時鐘及時提供線性無變化增量獲取,以支持同步和抖動計算。
  • SSRC ― 同步源。該標識符隨機選擇,旨在確保在同一個 RTP 會話中不存在兩個同步源具有相同的 SSRC 標識符。
  • CSRC ― 貢獻源標識符。識別該數據包中的有效載荷的貢獻源。

相關詞條

相關搜尋

熱門詞條

聯絡我們