RTP有效負載(載荷)類型 (RTP Payload Type)

下圖爲RTP部格式:

*****************************************************

1)        V:RTP協議的版本號,佔2位,當前協議版本號爲2

2)        P:填充標誌,佔1位,如果P=1,則在該報文的尾部填充一個或多個額外的八位組,它們不是有效載荷的一部分。

3)        X:擴展標誌,佔1位,如果X=1,則在RTP報頭後跟有一個擴展報頭

4)        CC:CSRC計數器,佔4位,指示CSRC 標識符的個數(作用信源CSRC計數器)

5)        M: 標記,佔1位,不同的有效載荷有不同的含義,對於視頻,標記一幀的結束;對於音頻,標記會話的開始。(對於分組中的重要事件可用該位標識)

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

 

7)        序列號:佔16位,用於標識發送者所發送的RTP報文的序列號,每發送一個報文,序列號增1。這個字段當下層的承載協議用UDP的時候,網絡狀況不好的時候可以用來檢查丟包。同時出現網絡抖動的情況可以用來對數據進行重新排序,序列號的初始值是隨機的,同時音頻包和視頻包的sequence是分別記數的。

8)        時戳(Timestamp):佔32位,必須使用90 kHz 時鐘頻率。時戳反映了該RTP報文的第一個八位組的採樣時刻。接收者使用時戳來計算延遲和延遲抖動,並進行同步控制。

9)        同步信源(SSRC)標識符:佔32位,用於標識同步信源。該標識符是隨機選擇的,參加同一視頻會議的兩個同步信源不能有相同的SSRC。

10)    特約信源(CSRC)標識符:每個CSRC標識符佔32位,可以有0~15個。每個CSRC標識了包含在該RTP報文有效載荷中的所有特約信源。
 

注意
RFC "RTP文件的音頻和視頻會議與最小
控件[RFC3551]指定初始集“有效負載類型”。此列表維護並擴展該列表。
可用的格式

PT Encoding Name Audio/Video (A/V) Clock Rate (Hz) Channels Reference
0 PCMU A 8000 1 [RFC3551]
1 Reserved        
2 Reserved        
3 GSM A 8000 1 [RFC3551]
4 G723 A 8000 1 [Vineet_Kumar][RFC3551]
5 DVI4 A 8000 1 [RFC3551]
6 DVI4 A 16000 1 [RFC3551]
7 LPC A 8000 1 [RFC3551]
8 PCMA A 8000 1 [RFC3551]
9 G722 A 8000 1 [RFC3551]
10 L16 A 44100 2 [RFC3551]
11 L16 A 44100 1 [RFC3551]
12 QCELP A 8000 1 [RFC3551]
13 CN A 8000 1 [RFC3389]
14 MPA A 90000   [RFC3551][RFC2250]
15 G728 A 8000 1 [RFC3551]
16 DVI4 A 11025 1 [Joseph_Di_Pol]
17 DVI4 A 22050 1 [Joseph_Di_Pol]
18 G729 A 8000 1 [RFC3551]
19 Reserved A      
20 Unassigned A      
21 Unassigned A      
22 Unassigned A      
23 Unassigned A      
24 Unassigned V      
25 CelB V 90000   [RFC2029]
26 JPEG V 90000   [RFC2435]
27 Unassigned V      
28 nv V 90000   [RFC3551]
29 Unassigned V      
30 Unassigned V      
31 H261 V 90000   [RFC4587]
32 MPV V 90000   [RFC2250]
33 MP2T AV 90000   [RFC2250]
34 H263 V 90000   [Chunrong_Zhu]
35-71 Unassigned ?      
72-76 Reserved for RTCP conflict avoidance       [RFC3551]
77-95 Unassigned ?      
96-127 dynamic ?     [RFC3551]

除了RTP中列出的RTP有效載荷格式(編碼)之外有效載荷類型表,還有其他有效載荷格式沒有是否分配了靜態RTP有效負載類型,但使用了動態有效負載型號任務。每個有效負載格式都由一個已註冊的下表中列出的媒體子類型。

作爲新的有效載荷格式指定後,應將其註冊的媒體子類型添加到其中表。

此外,對於RTP有效負載中列出的有效負載格式在上面的Types表中,“編碼名稱”也被註冊爲媒體媒體類型“音頻”或“視頻”下的子類型。時鐘頻率和這裏顯示的通道數是這些有效負載的正常值具有正常值的格式。類型名和子類型名都是RFC4288中定義的不區分大小寫。
註冊程序和註冊模板可在 [RFC4855].

除了上表中明確指定PT值的負載類型,還有些負載類型由於誕生的較晚,沒有具體的PT值,只能使用動態(dynamic)PT值,即96到127,這就是爲什麼大家普遍指定H264的PT值爲96。下表中列出了沒有具體PT值的負載類型。

Media Type Subtype Clock Rate (Hz) Channels (audio) Reference
application 1d-interleaved-parityfec     [RFC6015]
application h224 4800   [RFC4573]
application parityfec     [RFC3009]
application raptorfec     [RFC6682]
application rtx     [RFC4588]
application smpte336m     [RFC6597]
application ulpfec     [RFC5109]
audio 1d-interleaved-parityfec     [RFC6015]
audio 32kadpcm 8000   [RFC3802][RFC2421]
audio ac3     [RFC4184]
audio AMR 8000   [RFC4867][RFC3267]
audio AMR-WB 16000   [RFC4867][RFC3267]
audio amr-wb+ 72000   [RFC4352]
audio ATRAC-ADVANCED-LOSSLESS     [RFC5584]
audio atrac-x     [RFC5584]
audio atrac3 44100   [RFC5584]
audio BV16 8000   [RFC4298]
audio BV32 16000   [RFC4298]
audio clearmode 8000 1 [RFC4040]
audio CN     [RFC3389]
audio DAT12     [RFC3190]
audio dsr-es201108     [RFC3557]
audio dsr-es202050 8000   [RFC4060]
audio dsr-es202211 8000   [RFC4060]
audio dsr-es202212 8000   [RFC4060]
audio DV     [RFC6469]
audio DVI4     [RFC4856]
audio eac3     [RFC4598]
audio EVRC 8000 1 [RFC4788]
audio EVRC0 8000 1 [RFC4788]
audio EVRC1 8000 1 [RFC4788]
audio EVRCB 8000 1 [RFC4788]
audio EVRCB0 8000 1 [RFC4788]
audio EVRCB1 8000 1 [RFC4788]
audio EVRCWB     [RFC5188]
audio EVRCWB0     [RFC5188]
audio EVRCWB1     [RFC5188]
audio fwdred     [RFC6354]
audio g719 48000   [RFC5404]
audio G722     [RFC4856]
audio G7221 16000 1 [RFC5577]
audio G723     [RFC4856]
audio G726-16 8000 1 [RFC3551][RFC4856]
audio G726-24 8000 1 [RFC3551][RFC4856]
audio G726-32 8000 1 [RFC3551][RFC4856]
audio G726-40 8000 1 [RFC3551][RFC4856]
audio G728     [RFC4856]
audio G729     [RFC4856]
audio G7291 16000   [RFC4749][RFC5459]
audio G729D 8000 1 [RFC3551][RFC4856]
audio G729E 8000 1 [RFC3551][RFC4856]
audio GSM     [RFC4856]
audio GSM-EFR 8000 1 [RFC3551][RFC4856]
audio GSM-HR-08 8000   [RFC5993]
audio iLBC 8000   [RFC3952]
audio ip-mr_v2.5 16000   [RFC6262]
audio L8     [RFC3551][RFC4856]
audio L16     [RFC4856]
audio L20     [RFC3190]
audio L24     [RFC3190]
audio LPC     [RFC4856]
audio MELP 8000 1 [RFC8130]
audio MELP600 8000 1 [RFC8130]
audio MELP1200 8000 1 [RFC8130]
audio MELP2400 8000 1 [RFC8130]
audio MP4A-LATM     [RFC3016]
audio MPA 90000   [RFC3555]
audio mpa-robust 90000   [RFC5219]
audio mpeg4-generic     [RFC3640][RFC5691][RFC6295]
audio parityfec     [RFC5109]
audio PCMA     [RFC4856]
audio PCMA-WB 16000   [RFC5391]
audio PCMU     [RFC4856]
audio PCMU-WB 16000   [RFC5391]
audio QCELP     [RFC3555]
audio raptorfec     [RFC6682]
audio RED     [RFC2198][RFC3555]
audio rtp-midi     [RFC6295]
audio rtx     [RFC4588]
audio SMV 8000 1 [RFC3558]
audio SMV0 8000 1 [RFC3558]
audio speex     [RFC5574]
audio t140c     [RFC4351]
audio t38     [RFC4612]
audio telephone-event     [RFC4733]
audio tone     [RFC4733]
audio uemclip     [RFC5686]
audio ulpfec     [RFC5109]
audio VDVI   1 [RFC3551][RFC4856]
audio VMR-WB 16000   [RFC4348][RFC4424]
audio vorbis     [RFC5215]
audio vorbis-config     [RFC5215]
text 1d-interleaved-parityfec     [RFC6015]
text fwdred     [RFC6354]
text parityfec     [RFC3009]
text raptorfec     [RFC6682]
text red 1000   [RFC4102]
text rtx     [RFC4588]
text t140 1000   [RFC4103]
text ulpfec     [RFC5109]
video BMPEG 90000   [RFC2343][RFC3555]
video 1d-interleaved-parityfec     [RFC6015]
video 3gpp-tt     [RFC4396]
video BT656 90000   [RFC2431][RFC3555]
video celB     [RFC3555]
video DV 90000   [RFC6469]
video H261     [RFC4587]
video H263 90000   [RFC4628]
video H263-1998 90000   [RFC4629]
video H263-2000 90000   [RFC4629]
video H264     [RFC6184]
video H264-RCDO 90000   [RFC6185]
video H264-SVC     [RFC6190]
video JPEG     [RFC3555]
video JPEG2000     [RFC5371]
video MP1S 90000   [RFC2250][RFC3555]
video MP2P 90000   [RFC2250][RFC3555]
video MP2T     [RFC3555]
video MP4V-ES 90000   [RFC3016]
video mpeg4-generic     [RFC3640]
video MPV     [RFC3555]
video nv     [RFC4856]
video parityfec     [RFC5109]
video pointer 90000   [RFC2862]
video raptorfec     [RFC6682]
video raw 90000   [RFC4175]
video rtx     [RFC4588]
video SMPTE292M     [RFC3497]
video ulpfec     [RFC5109]
video vc1 90000   [RFC4425]
video vc2 90000   [RFC8450]

詳情請參考官方文檔:https://www.ietf.org/assignments/rtp-parameters/rtp-parameters.xml

 

 

 

 

 

 

 

 

 

 

 

 

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