RTP有效负载(载荷)类型 (RTP Payload Type)
下圖為RTP部格式:
*****************************************************
1) ? ? ? ?V:RTP協(xié)議的版本號,占2位,當(dāng)前協(xié)議版本號為2
2) ? ? ? ?P:填充標(biāo)志,占1位,如果P=1,則在該報文的尾部填充一個或多個額外的八位組,它們不是有效載荷的一部分。
3) ? ? ? ?X:擴展標(biāo)志,占1位,如果X=1,則在RTP報頭后跟有一個擴展報頭
4) ? ? ? ?CC:CSRC計數(shù)器,占4位,指示CSRC 標(biāo)識符的個數(shù)(作用信源CSRC計數(shù)器)
5) ? ? ? ?M: 標(biāo)記,占1位,不同的有效載荷有不同的含義,對于視頻,標(biāo)記一幀的結(jié)束;對于音頻,標(biāo)記會話的開始。(對于分組中的重要事件可用該位標(biāo)識)
6) ? ? ? ?PT: 有效荷載類型,占7位,用于說明RTP報文中有效載荷的類型,如GSM音頻、JPEM圖像等,在流媒體中大部分是用來區(qū)分音頻流和視頻流的,這樣便于客戶端進(jìn)行解析。
?
7) ? ? ? ?序列號:占16位,用于標(biāo)識發(fā)送者所發(fā)送的RTP報文的序列號,每發(fā)送一個報文,序列號增1。這個字段當(dāng)下層的承載協(xié)議用UDP的時候,網(wǎng)絡(luò)狀況不好的時候可以用來檢查丟包。同時出現(xiàn)網(wǎng)絡(luò)抖動的情況可以用來對數(shù)據(jù)進(jìn)行重新排序,序列號的初始值是隨機的,同時音頻包和視頻包的sequence是分別記數(shù)的。
8) ? ? ? ?時戳(Timestamp):占32位,必須使用90 kHz 時鐘頻率。時戳反映了該RTP報文的第一個八位組的采樣時刻。接收者使用時戳來計算延遲和延遲抖動,并進(jìn)行同步控制。
9) ? ? ? ?同步信源(SSRC)標(biāo)識符:占32位,用于標(biāo)識同步信源。該標(biāo)識符是隨機選擇的,參加同一視頻會議的兩個同步信源不能有相同的SSRC。
10) ? ?特約信源(CSRC)標(biāo)識符:每個CSRC標(biāo)識符占32位,可以有0~15個。每個CSRC標(biāo)識了包含在該RTP報文有效載荷中的所有特約信源。
?
注意
RFC "RTP文件的音頻和視頻會議與最小
控件[RFC3551]指定初始集“有效負(fù)載類型”。此列表維護(hù)并擴展該列表。
可用的格式
| 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有效載荷格式(編碼)之外有效載荷類型表,還有其他有效載荷格式?jīng)]有是否分配了靜態(tài)RTP有效負(fù)載類型,但使用了動態(tài)有效負(fù)載型號任務(wù)。每個有效負(fù)載格式都由一個已注冊的下表中列出的媒體子類型。
作為新的有效載荷格式指定后,應(yīng)將其注冊的媒體子類型添加到其中表。
此外,對于RTP有效負(fù)載中列出的有效負(fù)載格式在上面的Types表中,“編碼名稱”也被注冊為媒體媒體類型“音頻”或“視頻”下的子類型。時鐘頻率和這里顯示的通道數(shù)是這些有效負(fù)載的正常值具有正常值的格式。類型名和子類型名都是RFC4288中定義的不區(qū)分大小寫。
注冊程序和注冊模板可在 [RFC4855].
除了上表中明確指定PT值的負(fù)載類型,還有些負(fù)載類型由于誕生的較晚,沒有具體的PT值,只能使用動態(tài)(dynamic)PT值,即96到127,這就是為什么大家普遍指定H264的PT值為96。下表中列出了沒有具體PT值的負(fù)載類型。
| 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
?
?
?
?
?
?
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的RTP有效负载(载荷)类型 (RTP Payload Type)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 国产FPGA市场格局及进展
- 下一篇: 图像形状特征(七)--Zernike矩