<!-- go/cmark -->

<!--* freshness: {owner: 'perkj' reviewed: '2026-06-17'} *-->

# RTP in WebRTC

WebRTC uses the RTP protocol described in
[RFC3550](https://datatracker.ietf.org/doc/html/rfc3550) for transporting audio
and video. Media is encrypted using [SRTP](./srtp.md).

## Allocation of payload types

RTP packets have a payload type field that describes which media codec can be
used to handle a packet. For some (older) codecs like PCMU the payload type is
assigned statically as described in
[RFC3551](https://datatracker.ietf.org/doc/html/rfc3551). For others, it is
assigned dynamically through the SDP. **Note:** there are no guarantees on the
stability of a payload type assignment.

For this allocation, the range from 96 to 127 is used. When this range is
exhausted, the allocation falls back to the range from 35 to 63 as permitted by
[section 5.1 of RFC3550][1]. Note that older versions of WebRTC failed to
recognize payload types in the lower range. Newer codecs (such as flexfec-03 and
AV1) will by default be allocated in that range.

Payload types in the range 64 to 95 are not used to avoid confusion with RTCP as
described in [RFC5761](https://datatracker.ietf.org/doc/html/rfc5761).

## Allocation of audio payload types

Audio payload types are assigned from a table by the [PayloadTypePicker][2]
class. Audio codecs generally prefer the upper dynamic range [96,127] to
maintain compatibility with older WebRTC versions. Redundancy formats like RED
are allocated in the lower dynamic range [35,63], starting at 63, to reduce
collisions with video payload types.

## Allocation of video payload types

Video payload types are allocated by the
[GetPayloadTypesAndDefaultCodecs method][3]. The set of codecs depends on the
platform, in particular for H264 codecs and their different profiles. Payload
numbers are assigned ascending from 96 for video codecs and their
[associated retransmission format](https://datatracker.ietf.org/doc/html/rfc4588).
Some codecs like flexfec-03 and AV1 are assigned to the lower range [35,63] for
reasons explained above. When the upper range [96,127] is exhausted, payload
types are assigned to the lower range [35,63], starting at 35.

## Handling of payload type collisions

Due to the requirement that payload types must be uniquely identifiable when
using [BUNDLE](https://datatracker.ietf.org/doc/html/rfc8829) collisions between
the assignments of the audio and video payload types may arise. These are
resolved by the [PayloadTypeSuggester][4] interface which will reassign payload
type numbers descending from 127.

# Bitrate probing

Bandwidth estimation sometimes requires sending RTP packets to ramp up the
estimate above a certain treshold. WebRTC uses two techniques for that:

- Packets that only consist of RTP padding
- RTX packets

At the receiving end, both types of probing packets do not interfere with media
processing. After being taken into account for bandwidth estimation, probing
packets only consisting of padding can be dropped and RTX packets act as
redundancy.

Using RTX for probing is generally preferred as padding probes are limited to
256 bytes of RTP payload which results in a larger number of packets being used
for probing which is a disadvantage from a congestion control point of view.

## Padding probes

Padding probes consist of RTP packets with header extensions (either abs-send
time or the transport-wide-cc sequence number) and set the RTP "P" bit. The last
byte of the RTP payload which specifies the amount of padding is set to 255 and
preceeded by 255 bytes of all zeroes. See [section 5.1 of RFC3550][1]. Padding
probes use the RTX RTP stream (i.e. payload type, sequence number and timestamp)
when RTX is negotiated or share the same RTP stream as the media packets
otherwise.

Padding probes are used either when

- RTX is not negotiated (such as for audio, less commonly for video) or
- no suitable original packet is found for RTX probing.

Padding probes should not be interleaved with packets of a video frame.

## RTX probes

RTX probes are resends of previous packets that use RTX retransmissions
specified in [RFC4588](https://www.rfc-editor.org/rfc/rfc4588) as payload format
when negotiated with the peer. These packets will have a different abs-send-time
or transport-wide-cc sequence number and use the RTX RTP stream (i.e. RTX
payload type, sequence number and timestamp) associated with the media RTP
stream.

RTX probing uses recently sent RTP packets that have not yet been acknowledged
by the remote side. Sending these packets again has a small chance of being
useful when the original packet is lost and will not affect RTP processing at
the receiver otherwise.

[1]: https://datatracker.ietf.org/doc/html/rfc3550#section-5.1
[2]: https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/call/payload_type_picker.h;l=35;drc=031d798a20cc5d9c867598a38632accb20c6effe
[3]: https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/media/engine/webrtc_video_engine.cc;l=206;drc=031d798a20cc5d9c867598a38632accb20c6effe
[4]: https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/call/payload_type.h;l=26;drc=031d798a20cc5d9c867598a38632accb20c6effe
