Udp、Rtp協議頭配圖解析


文章轉載自:夜與晝

Udp、Rtp協議頭配圖解析

文檔名詞解析參考文(http://blog.csdn.net/bripengandre/article/details/2238818)
(http://www.cnblogs.com/qingquan/archive/2011/07/28/2120440.html)

標准來說,udp去8個字節的頭為rtp數據,rtp去12個字節的頭為流數據,udp 8個字節分別為端口號兩個,長度一個。端口號長度為2個字節,有效范圍是0到65536。
分析:
如圖,取過濾出的流進行分析
這里寫圖片描述

首先,看udp頭分析:
Udp的八個長度分別為,udp的源數據端口,占2個字節,數據皆為16進制,也就是換成2進制后16個長度的數據,如圖中7546轉換為10進制后為30022,轉換為2進制后為
111010101000110 。目的端口也占2個字節,長度也占2個字節,checksum 校檢和也占2個字節長度,所以udp頭共占8個字節長度。

這里寫圖片描述

再看rtp頭分析:
Rtp頭標准長度為12個字節。
其中,rtp協議版本號V占2位,填充標准P占1位,擴展標准X占1位,CSRC計數器CC占4位,這四個共占8位,一個字節。
M標記占1位,有效載荷占7位,共占用1個字節。
序列化占16位,占用2個字節。
時間戳(Timestamp)占32位,占用4個字節。
同步信源(SSRC)占32位,共占用4個字節。
特約信源(CSRC),每個特約信源占32位,可以有0到15個。

如圖,協議版本號占2位,當前協議版本號為2,

這里寫圖片描述

填充標志位P占1位,如果P=1,則在該報文的尾部填充一個或多個額外的八位組,它們不是有效載荷的一部分,當前P=0,

這里寫圖片描述

X:擴展標志,占1位,如果X=1,則在RTP報頭后跟有一個擴展報頭。當前x = 0,無擴展

這里寫圖片描述

CC:CSRC計數器,占4位,指示CSRC 標識符的個數。

這里寫圖片描述

此處,一個8位結束,共占用一個字節。

接下來,第二個字節:
M標記,占1位,不同的有效載荷有不同的意義,對於視頻,標志一幀的結束,對於音頻,標志一幀的開始。

這里寫圖片描述

PT,有效載荷類型,占7位,用於說明rtp報文中有效載荷的類型,如GSM音頻,jpeg圖像等,在流媒體中大部分是用來區分音頻和視頻的,這樣便於客戶端進行解析。

這里寫圖片描述

序列號(SN):占16位,用於標識發送者所發送的RTP報文的序列號,每發送一個報文,序列號加1。這個字段可用於udp傳輸時網絡狀況不好的情況下的丟包檢測。序列號的初始值是隨機的。

這里寫圖片描述

時間戳(Timestamp):32比特,記錄了該包中數據的第一個字節的采樣時刻。在一次會話開始的時候,時間戳初始化成一個初始值。即使沒有發送信號,時間戳的數據也要不斷增加(時間在流逝),時間戳是去除抖動必不可少的。

這里寫圖片描述

同步信源(SSRC):占32位,用於標識同步信源,該標識符是隨機選擇的,參加同一視頻會議的兩個同步信源不能有相同的SSRC。該標識符是隨機選取的 RFC1889推薦了MD5隨機算法。

這里寫圖片描述

貢獻源列表(CSRC List):0~15項,每項32比特,用來標志對一個RTP混合器產生的新包有貢獻的所有RTP包的源。由混合器將這些有貢獻的SSRC標識符插入表中。SSRC標識符都被列出來,以便接收端能正確指出交談雙方的身份。

以下部分則為有效載荷(payload) ,為主要數據。

這里寫圖片描述

當前載荷為109,轉行成264數據,如下

這里寫圖片描述

簡單分析下,一個mark標志位間是一幀數據,分成一個一個的NAL,當前幀為非關鍵幀,第一個字節為21,也就是100001,后5位對應的值是1,即非關鍵幀。

這里寫圖片描述

一幀的開始第一個數據為SPS,當前為27,轉換二進制為100111,取后5位即當前type類型,為7,SPS

這里寫圖片描述

第二個為PPS , 當前為28,轉換二進制為101000,取后5位即當前type,為8

這里寫圖片描述

下面為關鍵幀,IDR,當前為25,轉換二進制為100101,取后5位即當前type,為5

這里寫圖片描述

至此,udp頭和rtp頭已全部分析完。如需相關名詞解析無圖版,可去鏈接地址查看前人分析的。
學習就和寫字一樣,不寫下來容易忘記。這次自己把對udp,rtp頭的理解記錄了下來,並配上圖片,希望給入門級的人提供幫助,也方便自己以后查閱,久了,不用就忘了~如果理解錯誤的地方還望大家提出來,不能誤導他人。學術淺陋,望能理解~

--------------------- 本文來自 夜與晝 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/nihenbuhao/article/details/60585079?utm_source=copy 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM