RTP = Real-time Transport Protocol. RFC 3550 (2003).

RTP is a protocol designed to be used over UDP to transfer media streams (video/audio). Streams are send without container.

RTP packets flow in one direction, and accompanying RTCP protocol is used for Quality of Service feedback and synchronization.

RTP is mandated transport for WebRTC.

Common fields:

  • Payload Type (PT)
    • some types are predefined, but most apps define new types dynamically (in the 96–127 range)
    • the payload type is negotiated out of band (usually using SDP)
  • Sequence number
    • starts from arbitrary number
  • Timestamp
    • not absolute, only diffs between timestamps are used
    • grows monotonically by the speed defined by clock rate
  • SSRC (Synchronization Source)
    • identifies media track