rtp擴展頭的使用

rtp確定頭(rtp fixed header field)

通常情況下是12字節,如下圖
在這裏插入圖片描述

  • 版本(V):2bits。當前版本是2。
  • 填充(P):1bit。一般沒有填充,是0。
  • 擴展位(X):1bit。如果有擴展,會在rtp頭之後,payload之前增加rtp擴展頭。
  • CSRC count(CC):4bits。一般爲0。所以rtp固定頭一般是12字節。
  • 上面是1byte
  • 標誌位(M):1bit。The interpretation of the marker is defined by a profile.不太好翻譯,先用原文。在打包h264數據時,表示一個frame的結束。
  • 負載類型(PT):7bits。範圍是96-127。
  • 上面是1byte
  • 序列號(sequence number):16bits。一般是從0開始,但是沒有強制要求。每發一個包,加一。
  • 上面是2bytes
  • 時間戳(timestamp):32bits。如果是視頻,就是視頻幀時間戳(單位秒)值乘以90000;如果是音頻,就是音頻幀時間戳(單位秒)乘以採樣率,比如48k、16k。
  • 上面是4bytes
  • 同步源(SSRC):32bits。是一個隨機值,用於區分每一路流。
rfc3550鏈接

https://tools.ietf.org/html/rfc3550#section-5.1

抓包舉例(marker位)

在這裏插入圖片描述

rtp擴展頭

當確定頭的擴展位是1的時候,就會有擴展頭。

  • 擴展頭是跟在確定頭後的。
  • 如果有CSRC,就跟在CSRC後。
    在這裏插入圖片描述
rtp擴展頭格式
擴展頭長度 擴展頭內容
16bits 自定義
假設爲L(rfc文檔沒有定義) 長度32bits*L(其中,L可以爲0)
rfc3550鏈接

https://tools.ietf.org/html/rfc3550#section-5.3.1

抓包舉例

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章