RTP payload formats
{{Short description|Multimedia information signaling}}
The Real-time Transport Protocol (RTP) specifies a general-purpose data format and network protocol for transmitting digital media streams on Internet Protocol (IP) networks. The details of media encoding, such as signal sampling rate, frame size and timing, are specified in an RTP payload format. The format parameters of the RTP payload are typically communicated between transmission endpoints with the Session Description Protocol (SDP), but other protocols, such as the Extensible Messaging and Presence Protocol (XMPP) may be used.
Payload types and formats
The technical parameters of payload formats for audio and video streams are standardised.
The standard also describes the process of registering new payload types with IANA.
- {{Sum RFC|3550|ref=yes}}
- {{Sum RFC|3551|ref=yes}}
- {{Sum RFC|3611|ref=yes}}
- {{Sum RFC|4856|ref=yes}}
Text messaging payload types
Payload formats and types for text messaging are defined in the following specifications:
- {{Sum RFC|4103|ref=yes|notes=yes}}
- {{Sum RFC|9071|ref=yes}}
MIDI payload types
Payload formats and types for MIDI are defined in the following specifications:
- {{Sum RFC|6295|ref=yes}}
- {{Sum RFC|4696|ref=yes}}
Audio and video payload types
Payload formats and types for audio and video are defined in the following specifications:
- {{Sum RFC|2029|ref=yes}}
- {{Sum RFC|2190|ref=yes}}
- {{Sum RFC|2198|ref=yes}}
- {{Sum RFC|2250|ref=yes}}
- {{Sum RFC|2343|ref=yes}}
- {{Sum RFC|2435|ref=yes}}
- {{Sum RFC|2586|ref=yes}}
- {{Sum RFC|2658|ref=yes}}
- {{Sum RFC|3190|ref=yes}}
- {{Sum RFC|3389|ref=yes}}
- {{Sum RFC|3497|ref=yes}}
- {{Sum RFC|3640|ref=yes}}
- {{Sum RFC|3952|ref=yes}}
- {{Sum RFC|4175|ref=yes}}
- {{Sum RFC|4184|ref=yes}}
- {{Sum RFC|4352|ref=yes}}
- {{Sum RFC|4587|ref=yes}}
- {{Sum RFC|4598|ref=yes}}
- {{Sum RFC|4629|ref=yes}}
- {{Sum RFC|4733|ref=yes}}
- {{Sum RFC|4749|ref=yes}}
- {{Sum RFC|4788|ref=yes}}
- {{Sum RFC|4867|ref=yes}}
- {{Sum RFC|5188|ref=yes}}
- {{Sum RFC|5215|ref=yes}}
- {{Sum RFC|5371|ref=yes}}
- {{Sum RFC|5391|ref=yes}}
- {{Sum RFC|5404|ref=yes}}
- {{Sum RFC|5574|ref=yes}}
- {{Sum RFC|5577|ref=yes}}
- {{Sum RFC|5584|ref=yes}}
- {{Sum RFC|5686|ref=yes}}
- {{Sum RFC|5993|ref=yes}}
- {{Sum RFC|6184|ref=yes}}
- {{Sum RFC|6190|ref=yes}}
- {{Sum RFC|6416|ref=yes}}
- {{Sum RFC|6469|ref=yes}}
- {{Sum RFC|7310|ref=yes}}
- {{Sum RFC|7587|ref=yes}}
- {{Sum RFC|7741|ref=yes}}
- {{Sum RFC|7798|ref=yes}}
- {{Sum RFC|9134|ref=yes}}
- {{Sum RFC|9607|ref=yes}}
- {{Sum RFC|9628|ref=yes}}
Payload identifiers 96–127 are used for payloads defined dynamically during a session. It is recommended to dynamically assign port numbers, although port numbers 5004 and 5005 have been registered for use of the profile when a dynamically assigned port is not required.
Applications should always support PCMU (payload type 0). Previously, DVI4 (payload type 5) was also recommended, but this was removed in 2013.{{Ref RFC|7007}}
class="wikitable sortable"
!Payload type (PT) !Name !Type !No. of channels !Frame size (byte) !Default packet interval (ms) !Description !References |
0
|PCMU |audio |1 |8000 |any |20 |ITU-T G.711 PCM μ-Law audio 64 kbit/s |{{IETF RFC|3551|link=no}} |
1
|reserved (previously FS-1016 CELP) |audio |1 |8000 | | |reserved, previously FS-1016 CELP audio 4.8 kbit/s |{{IETF RFC|3551|link=no}} |
2
|reserved (previously G721 or G726-32) |audio |1 |8000 | | |reserved, previously ITU-T G.721 ADPCM audio 32 kbit/s or ITU-T G.726 audio 32 kbit/s |{{IETF RFC|3551|link=no}} |
3
|GSM |audio |1 |8000 |20 |20 |European GSM Full Rate audio 13 kbit/s (GSM 06.10) |{{IETF RFC|3551|link=no}} |
4
|G723 |audio |1 |8000 |30 |30 |ITU-T G.723.1 audio |{{IETF RFC|3551|link=no}} |
5
|DVI4 |audio |1 |8000 |any |20 |{{IETF RFC|3551|link=no}} |
6
|DVI4 |audio |1 |16000 |any |20 |{{IETF RFC|3551|link=no}} |
7
|LPC |audio |1 |8000 |any |20 |Experimental Linear Predictive Coding audio 5.6 kbit/s |{{IETF RFC|3551|link=no}} |
8
|PCMA |audio |1 |8000 |any |20 |ITU-T G.711 PCM A-Law audio 64 kbit/s |{{IETF RFC|3551|link=no}} |
9
|G722 |audio |1 |8000{{refn|group=note|Although the sampling rate for G.722 is 16000, its clock rate is 8000 to remain backwards compatible with RFC 1890, which incorrectly used this value.{{Ref RFC|3551|rp=14}}}} |any |20 |ITU-T G.722 audio 64 kbit/s |{{IETF RFC|3551|link=no}} |
10
|L16 |audio |2 |44100 |any |20 |Linear PCM 16-bit Stereo audio 1411.2 kbit/s,{{Ref RFC|2586}}{{Ref RFC|3108|rp=62}}{{Ref RFC|4856|rp=18}} uncompressed |{{IETF RFC|3551|link=no}}{{Rp|p=27}} |
11
|L16 |audio |1 |44100 |any |20 |Linear PCM 16-bit audio 705.6 kbit/s, uncompressed |{{IETF RFC|3551|link=no}}{{Rp|p=27}} |
12
|QCELP |audio |1 |8000 |20 |20 |Qualcomm Code Excited Linear Prediction |{{IETF RFC|2658|link=no}}, {{IETF RFC|3551|link=no}}{{Rp|p=28}} |
13
|CN |audio |1 |8000 | | |Comfort noise. Payload type used with audio codecs that do not support comfort noise as part of the codec itself such as G.711, G.722.1, G.722, G.726, G.727, G.728, GSM 06.10, Siren, and RTAudio. |{{IETF RFC|3389|link=no}} |
14
|MPA |audio |1, 2 |90000 |8–72 | |{{IETF RFC|2250|link=no}}, {{IETF RFC|3551|link=no}} |
15
|G728 |audio |1 |8000 |2.5 |20 |ITU-T G.728 audio 16 kbit/s |{{IETF RFC|3551|link=no}} |
16
|DVI4 |audio |1 |11025 |any |20 |{{IETF RFC|3551|link=no}} |
17
|DVI4 |audio |1 |22050 |any |20 |IMA ADPCM audio 88.2 kbit/s |{{IETF RFC|3551|link=no}} |
18
|G729 |audio |1 |8000 |10 |20 |ITU-T G.729 and G.729a audio 8 kbit/s; Annex B is implied unless the |{{IETF RFC|3551|link=no}},{{Rp|p=20}} {{IETF RFC|4856|link=no}}{{Rp|p=12}} |
19
|reserved (previously CN) |audio | | | | |reserved, previously comfort noise |{{IETF RFC|3551|link=no}} |
25
|CELLB |video | |90000 | | |Sun CellB video[https://docs.oracle.com/cd/E19504-01/802-5863/802-5863.pdf XIL Programmer's Guide], Chapter 22 "CellB Codec". August 1997. Retrieved on 2014-07-19. |{{IETF RFC|2029|link=no}} |
26
|JPEG |video | |90000 | | |JPEG video |{{IETF RFC|2435|link=no}} |
28
|nv |video | |90000 | | |Xerox PARC's Network Video (nv)[https://www.cs.columbia.edu/~hgs/rtp/nv.html nv - network video on Henning Schulzrinne's website], [https://www.dgp.toronto.edu/tp/techdocs/NetVid.html Network Video on The University of Toronto's website], Retrieved on 2009-07-09.[https://github.com/ronf/nv Ron Frederick Github with source code] |{{IETF RFC|3551|link=no}}{{Rp|p=32}} |
31
|H261 |video | |90000 | | |ITU-T H.261 video |{{IETF RFC|4587|link=no}} |
32
|MPV |video | |90000 | | |MPEG-1 and MPEG-2 video |{{IETF RFC|2250|link=no}} |
33
|MP2T |audio/video | |90000 | | |MPEG-2 transport stream |{{IETF RFC|2250|link=no}} |
34
|H263 |video | |90000 | | |H.263 video, first version (1996) |{{IETF RFC|2190|link=no}}, {{IETF RFC|3551|link=no}} |
72–76
|reserved | | | | | |reserved because RTCP packet types 200–204 would otherwise be indistinguishable from RTP payload types 72–76 with the marker bit set |{{IETF RFC|3550|link=no}}, {{IETF RFC|3551|link=no}} |
77–95
|unassigned | | | | | |note that RTCP packet type 207 (XR, Extended Reports) would be indistinguishable from RTP payload types 79 with the marker bit set |{{IETF RFC|3551|link=no}}, {{IETF RFC|3611|link=no}} |
dynamic
|H263-1998 |video | |90000 | | |H.263 video, second version (1998) |{{IETF RFC|2190|link=no}}, {{IETF RFC|3551|link=no}}, {{IETF RFC|4629|link=no}} |
dynamic
|H263-2000 |video | |90000 | | |H.263 video, third version (2000) |{{IETF RFC|4629|link=no}} |
dynamic (or profile)
|H264 AVC |video | |90000 | | |H.264 video (MPEG-4 Part 10) |{{IETF RFC|6184|link=no}} |
dynamic (or profile)
|H264 SVC |video | |90000 | | |H.264 video |{{IETF RFC|6190|link=no}} |
dynamic (or profile)
|H265 |video | |90000 | | |H.265 video (HEVC) |{{IETF RFC|7798|link=no}} |
dynamic (or profile)
|theora |video | |90000 | | |Theora video |[https://tools.ietf.org/html/draft-barbato-avt-rtp-theora draft-barbato-avt-rtp-theora] |
dynamic
|iLBC |audio |1 |8000 |20, 30 |20, 30 |Internet low Bitrate Codec 13.33 or 15.2 kbit/s |{{IETF RFC|3952|link=no}} |
dynamic
|PCMA-WB |audio |1 |16000 |5 | |ITU-T G.711.1 A-law |{{IETF RFC|5391|link=no}} |
dynamic
|PCMU-WB |audio |1 |16000 |5 | |ITU-T G.711.1 μ-law |{{IETF RFC|5391|link=no}} |
dynamic
|G718 |audio | |32000 (placeholder) |20 | |ITU-T G.718 |[https://tools.ietf.org/html/draft-ietf-payload-rtp-g718 draft-ietf-payload-rtp-g718] |
dynamic
|G719 |audio |(various) |48000 |20 | |ITU-T G.719 |{{IETF RFC|5404|link=no}} |
dynamic
|G7221 |audio | |16000, 32000 |20 | |ITU-T G.722.1 and G.722.1 Annex C |{{IETF RFC|5577|link=no}} |
dynamic
|G726-16 |audio |1 |8000 |any |20 |ITU-T G.726 audio 16 kbit/s |{{IETF RFC|3551|link=no}} |
dynamic
|G726-24 |audio |1 |8000 |any |20 |ITU-T G.726 audio 24 kbit/s |{{IETF RFC|3551|link=no}} |
dynamic
|G726-32 |audio |1 |8000 |any |20 |ITU-T G.726 audio 32 kbit/s |{{IETF RFC|3551|link=no}} |
dynamic
|G726-40 |audio |1 |8000 |any |20 |ITU-T G.726 audio 40 kbit/s |{{IETF RFC|3551|link=no}} |
dynamic
|G729D |audio |1 |8000 |10 |20 |ITU-T G.729 Annex D |{{IETF RFC|3551|link=no}} |
dynamic
|G729E |audio |1 |8000 |10 |20 |ITU-T G.729 Annex E |{{IETF RFC|3551|link=no}} |
dynamic
|G7291 |audio | |16000 |20 | |ITU-T G.729.1 |{{IETF RFC|4749|link=no}} |
dynamic
|GSM-EFR |audio |1 |8000 |20 |20 |ITU-T GSM-EFR (GSM 06.60) |{{IETF RFC|3551|link=no}} |
dynamic
|GSM-HR-08 |audio |1 |8000 |20 | |ITU-T GSM-HR (GSM 06.20) |{{IETF RFC|5993|link=no}} |
dynamic (or profile)
|AMR |audio |(various) |8000 |20 | |Adaptive Multi-Rate audio |{{IETF RFC|4867|link=no}} |
dynamic (or profile)
|AMR-WB |audio |(various) |16000 |20 | |Adaptive Multi-Rate Wideband audio (ITU-T G.722.2) |{{IETF RFC|4867|link=no}} |
dynamic (or profile)
|AMR-WB+ |audio |1, 2 or omit |72000 |13.3–40 | |Extended Adaptive Multi Rate – WideBand audio |{{IETF RFC|4352|link=no}} |
dynamic (or profile)
|vorbis |audio |(various) |(various) | | |Vorbis audio |{{IETF RFC|5215|link=no}} |
dynamic (or profile)
|opus |audio |1, 2 |48000{{refn|group=note|Because Opus can change sampling rates dynamically, its clock rate is fixed at 48000, even when the codec will be operated at a lower sampling rate. The |2.5–60 |20 |Opus audio |{{IETF RFC|7587|link=no}} |
dynamic (or profile)
|speex |audio |1 |8000, 16000, 32000 |20 | |Speex audio |{{IETF RFC|5574|link=no}} |
dynamic
|mpa-robust |audio |1, 2 |90000 |24–72 | |Loss-Tolerant MP3 audio |{{IETF RFC|5219|link=no}} |
dynamic (or profile)
|MP4A-LATM |audio | |90000 or others | | |MPEG-4 Audio (includes AAC) |{{IETF RFC|6416|link=no}} |
dynamic (or profile)
|MP4V-ES |video | |90000 or others | | |{{IETF RFC|6416|link=no}} |
dynamic (or profile)
|mpeg4-generic |audio/video | |90000 or other | | |MPEG-4 Elementary Streams |{{IETF RFC|3640|link=no}} |
dynamic
|VP8 |video | |90000 | | |VP8 video |{{IETF RFC|7741|link=no}} |
dynamic
|VP9 |video | |90000 | | |VP9 video |{{IETF RFC|9628|link=no}} |
dynamic
|AV1 |video | |90000 | | |AV1 video |[https://aomediacodec.github.io/av1-rtp-spec/ av1-rtp-spec] |
dynamic
|L8 |audio |(various) |(various) |any |20 |Linear PCM 8-bit audio with 128 offset |{{IETF RFC|3551|link=no}}{{Rp|§ 4.5.10}}{{Rp|Table 5}} |
dynamic
|DAT12 |audio |(various) |(various) |any |20 (by analogy with L16) |IEC 61119 12-bit nonlinear audio |{{IETF RFC|3190|link=no}}{{Rp|§3}} |
dynamic
|L16 |audio |(various) |(various) |any |20 |Linear PCM 16-bit audio |{{IETF RFC|3551|link=no}},{{Rp|§ 4.5.11}} {{IETF RFC|2586|link=no}} |
dynamic
|L20 |audio |(various) |(various) |any |20 (by analogy with L16) |Linear PCM 20-bit audio |{{IETF RFC|3190|link=no}}{{Rp|§ 4}} |
dynamic
|L24 |audio |(various) |(various) |any |20 (by analogy with L16) |Linear PCM 24-bit audio |{{IETF RFC|3190|link=no}}{{Rp|§ 4}} |
dynamic
|raw |video | |90000 | | |Uncompressed Video |{{IETF RFC|4175|link=no}} |
dynamic
|ac3 |audio |(various) |32000, 44100, 48000 | | |Dolby AC-3 audio |{{IETF RFC|4184|link=no}} |
dynamic
|eac3 |audio |(various) |32000, 44100, 48000 | | |Enhanced AC-3 audio |{{IETF RFC|4598|link=no}} |
dynamic
|t140 |text | |1000 | | |{{IETF RFC|4103|link=no}} |
dynamic
|EVRC |audio | |8000 | | |EVRC audio |{{IETF RFC|4788|link=no}} |
dynamic
|EVRCB |audio | |8000 | | |EVRC-B audio |{{IETF RFC|4788|link=no}} |
dynamic
|EVRCWB |audio | |16000 | | |EVRC-WB audio |{{IETF RFC|5188|link=no}} |
dynamic
|jpeg2000 |video | |90000 | | |JPEG 2000 video |{{IETF RFC|5371|link=no}} |
dynamic
|UEMCLIP |audio | |8000, 16000 | | |UEMCLIP audio |{{IETF RFC|5686|link=no}} |
dynamic
|ATRAC3 |audio | |44100 | | |ATRAC3 audio |{{IETF RFC|5584|link=no}} |
dynamic
|ATRAC-X |audio | |44100, 48000 | | |ATRAC3+ audio |{{IETF RFC|5584|link=no}} |
dynamic
|ATRAC-ADVANCED-LOSSLESS |audio | |(various) | | |ATRAC Advanced Lossless audio |{{IETF RFC|5584|link=no}} |
dynamic
|DV |video | |90000 | | |DV video |{{IETF RFC|6469|link=no}} |
dynamic
|BT656 |video | | | | |ITU-R BT.656 video |{{IETF RFC|3555|link=no}} |
dynamic
|BMPEG |video | | | | |Bundled MPEG-2 video |{{IETF RFC|2343|link=no}} |
dynamic
|SMPTE292M |video | | | | |SMPTE 292M video |{{IETF RFC|3497|link=no}} |
dynamic
|RED |audio | | | | |Redundant Audio Data |{{IETF RFC|2198|link=no}} |
dynamic
|VDVI |audio | | | | |Variable-rate DVI4 audio |{{IETF RFC|3551|link=no}} |
dynamic
|MP1S |video | | | | |MPEG-1 Systems Streams video |{{IETF RFC|2250|link=no}} |
dynamic
|MP2P |video | | | | |MPEG-2 Program Streams video |{{IETF RFC|2250|link=no}} |
dynamic
|tone |audio | |8000 (default) | | |tone |{{IETF RFC|4733|link=no}} |
dynamic
|telephone-event |audio | |8000 (default) | | |DTMF tone |{{IETF RFC|4733|link=no}} |
dynamic
|aptx |audio |2 – 6 |(equal to sampling rate) |4000 ÷ sample rate |aptX audio |{{IETF RFC|7310|link=no}} |
dynamic
|jxsv |video | |90000 | | |JPEG XS video |{{IETF RFC|9134|link=no}} |
dynamic
|scip |audio/video | |8000 or 90000 | | |SCIP |{{IETF RFC|9607|link=no}} |
{{reflist|group=note}}
See also
References
{{reflist}}
External links
- [https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml IANA assignments of Real-Time Transport Protocol (RTP) Parameters]