RTP Streaming ExplainedAugust 29, 2022
The Real-Time Transport Protocol (often referred to as RTP streaming) no longer dominates the video world when it comes to entertainment and VOD, but it’s still a prominent transport protocol that facilitates swift and easy transmission on some of the most popular communication platforms we use today.
Often confused with the Real-Time Streaming Protocol (RTSP) and other cousins like the Real-Time Transport Control Protocol (RTCP), RTP is an unsung hero for hyper low-latency streaming, even when data is missing or out of order. Let’s dive into the basics of RTP streaming and what makes it unique.
Table of Contents
What Is RTP Streaming?
The Internet Engineering Task Force (IETF) standardized the Real-Time Transport Protocol as a network-level protocol that transmits video and audio data when timeliness is essential.
Think of it this way: All streaming technology delivers video and audio data as “packets.” Due to factors like poor internet connectivity, traffic volume, etc., it’s possible for these packets to arrive at an end user’s device in the wrong order, with improper spacing between them — known as jitter — or to not arrive at all. Some protocols are designed to ensure one or more of these mistakes don’t happen, but RTP is designed to accommodate for them when they do.
For example, let’s say you’re on an important conference call with a customer. This kind of communication depends on real-time video and audio, so it’s imperative that the data packets arrive as quickly and efficiently as possible. It’s feasible to avoid errors like jitter if your video calling platform used a different protocol like HTTP, but the system would accomplish this by requesting the data packets again so it can arrange them correctly, resulting in lags and buffering.
Your video platform would be better off using RTP. RTP streaming timestamps packets so they arrive in the correct order even if some are missing, which ensures whatever is there arrives promptly. This process results in audio and video skips that are (hopefully) unnoticeable to either you or your customer. The stream flows constantly this way, facilitating your conversation’s momentum instead of making you endure frustrating playback stalls and glitches.
RTP Streaming: A Snapshot
Audio and Video Codecs: RTP is considered codec “agnostic,” meaning it can carry a wide variety of codec types. Applications primarily use it to stream MPEG-4, H.264, but it is compatible with many others, including MP3 and G.711.
Benefits: Hyper low latency of less than 300 milliseconds, as well as the ability to compensate for jitter and other data packet inaccuracies.
Drawbacks: RTP does not guarantee quality of service (QoS), nor does it offer playback controls.
Variant Formats: RTP is part of the RTSP, RTSPS, RTCP, and SRTP protocol family.
What Is RTP Streaming Used For?
Because RTP streaming prioritizes speed instead of accuracy, it’s best applied to use cases like telecommunications to achieve as close to real-time transmission as possible, or for streaming to sizable audiences. Voice over IP (VoIP) applications frequently leverage RTP, as do major communications platforms like FaceTime, WhatsApp, Zoom, and Microsoft Teams (at least, their own unique versions of RTP). RTP serves as the foundational transmission method while each company adds its own playback features on a different protocol layer.
RTP isn’t strictly for audio-visual data, either. It’s applicable to many kinds of data streaming, including status updates, control information transport, active badges, and more.
It’s also important to note what RTP streaming is not for. RTP isn’t designed to allocate computational resources, nor does it offer quality-of-service (QoS) features. Though labeled a “real-time” protocol, no existing end-to-end protocol can deliver data in true real time — it still depends on lower-layer protocols that govern switch and router resources.
Essentially, RTP is fit for delivering content attached to data packets that bring it closer to real time, such as:
- Time stamps
- Controls for synchronizing multiple streams
- Sequence numbers (for detecting lost packets)
- Payload identification
- Beginning and end of frame indications
- Intramedia synchronization (using timestamps to identify jitter)
Does RTP Use UDP or TCP?
The transport layer protocol RTP streaming works best with is UDP (you can check out this article if you need a quick refresher on UDP vs. TCP). Because UDP doesn’t require recipient devices to let the sender know all data packets have arrived — it uses checksums instead of handshakes to validate data integrity — it’s convenient for swift transmission instead of complete delivery. As such, RTP and UDP make an excellent pair; they both prioritize speed over accuracy, reducing latency at the expense of reliability. However, whatever packets are missing are likely unnoticeable to the human eye or ear.
RTP vs. RTSP
RTP and RTSP are often used interchangeably, so it’s understandable if you confuse them. They work closely together, but there is a distinct difference: RTP is the transport protocol that moves data from one endpoint to another, but RTSP — Real-Time Streaming Protocol — is the presentation-layer protocol that enables users to control the media server to play and pause video.
Think of it this way: RTP streaming is a TV broadcast itself, while RTSP is the remote control. RTSP doesn’t deliver packets of streaming data, but as a shorthand term it often encompasses itself, RTP, RTCP, and RTSPS.
Understanding RTCP and SRTP
Bear with us — there are a lot of Rs, Ts, Ps, and other letters in is protocol stack, and they all do different things! They work in conjunction with one another, so it’s important to understand their unique roles.
RTCP is Real Time Control Protocol, which works alongside RTP to send media stream information back to the sender. RTCP does send quality of service data (including packet loss and RTT, or round-trip time), allowing the sender to monitor stream health and make necessary adjustments that improve the user experience. RTCP can also share participant data, enabling multi-user communications without restrictions. RTCP and RTP are so closely linked that the IETF defines them in the same RFC.
RTP also does not automatically provide encryption, which is where SRTP comes in. Secure Real-Time Transport Protocol bolsters media stream security, reducing the likelihood of successful cyber attacks.
As an end-to-end transport protocol, RTP’s job is to carry data from a sender to a recipient under whatever conditions exist. What makes RTP streaming special is its ability to adapt to those conditions: packets may be lost or rearranged along the journey, but it delivers whatever it has in such a way human users are unlikely to notice a difference.