rr包為接收反饋rtcp包,向服務端反饋當前接收到的rtp的情況。定義如下:
使用wireshark抓包工具,抓取了乙個rr包,如下:
解析如下:
version(v) :2bits
識別 rtp 版本,rtcp 報文也一樣、一般為2.
padding (p):1 bit
如果設定了 padding 位,這個個別的 rtcp 報文在尾部包含一些附加的padding 字段,不是控制資訊但卻包含在長度域中。padding 的最後乙個欄位是應該忽略的字段的計數,包括自己。一般為0
reception report count (rc):5 bits
本報文中包含的接收報告塊的數量、一般為1
packet type (pt):8 bits
201 是標識本報文是 rtcp rr 報文
length:16 bits
本 rtcp 報文長度(以 32-bit 形式)減一,包括頭和 padding(減一是為了零長度有效和避免無限迴圈來尋找混合的 rtcp 報文,而 32-bit 字是避免對四的倍數的有效檢查)。這裡值為7,簡單的說就是記得是頭的長度減去1的值
ssrc:32 bits
此值為乙個隨機數,但是卻要保持唯一
ssrc_n (source identifier):32 bits
源的 ssrc identifier,本報告塊的資訊所屬。說白了,就是rtp包的ssrc值。
fraction lost:8 bits
上次 sr 或 rr 傳送之後,從 ssrc_n 源的 rtp 報文丟失的部分,以定點數來表達,二進位制的點在左邊沿(相當於 loss 部分乘 256 之後取整)。這部分定義為丟失報文的數量除以期望的報文,像下段所應依的那樣。如果因為複製而使損失為負,lost 部分設定為零。注意到接收者不能辨認是否有報文丟失,如果在上次報告間隔期間的報文丟失了,不會有沒有接收報告來關注這個問題
cumulative number of packets lost:24 bits
從接收開始,ssrc_n 源的 rtp 報文丟失的數量。定義為期望的減去實際接收的,其中接收的包括遲到的和複製的,如果有複製,丟失可能為負。期望的報文定義為由上次接收的序列號延伸出的序列號,如下所定義,減去接收到的初始序列號。
extended highest sequence number received:32 bits
低 16 位包含從源 ssrc_n 接收到的 rtp 資料報文中最高的序列值、高16位表示迴圈的次數
interarrival jitter:32 bits
關於 rtp 資料報文 interarrival 時間的統計方差的估值,以 timestamp 單元來估值,表現為無符號整數。interarrival jitter j 定義為 d 的均方差,d為接收者和傳送者的間隔。像下面方程所示,等於兩個報文的「相對傳輸時間」(the relative transit time) 的差;相對傳輸時間是乙個報文的 rtp timestamp 和到達接收者的時鐘的差,在相同單元衡量。
last sr timestamp (lsr):32 bits ntp timestamp的中間 32 位作為從源 ssrc_n 來的最近的 rtcpsr。如果尚未接收到 sr,域設定為零。
delay since last sr (dlsr):32 bits延遲定義為從接收到從源 ssrc_n 來的上乙個 sr 到傳送本接收報告塊的間隔,表示為 1/65536 秒乙個單元。如果尚未收到 sr,dlsr 域設定為零
RTCP協議詳解
2.3.rtcp的封裝 rtp需要rtcp為其服務質量提供保證,因此下面介紹一下rtcp的相關知識。rtcp的主要功能是 服務質量的監視與反饋 間的同步,以及多播組中成員的標識。在rtp會話期 間,各參與者周期性地傳送rtcp包。rtcp包中含有已傳送的資料報的數量 丟失的資料報的數量等統計資料,因...
RTCP協議詳解
2.3.rtcp的封裝 rtp需要rtcp為其服務質量提供保證,因此下面介紹一下rtcp的相關知識。rtcp的主要功能是 服務質量的監視與反饋 間的同步,以及多播組中成員的標識。在rtp會話期 間,各參與者周期性地傳送rtcp包。rtcp包中含有已傳送的資料報的數量 丟失的資料報的數量等統計資料,因...
rtp協議詳解 rtcp協議詳解
2 rtp rtcp協議簡介 rtp 由 ietf 定義在 rfc 3550和3551中。rtp通常與輔助控制協議rtcp一起工作,rtp只負責實時資料的傳輸,rtcp負責對rtp的通訊和會話進行帶外管理 如流量控制 擁塞控制 會話源管理等 3 rtp rtcp協議層次和封裝 rtp分組只包含rtp...