In the digital world, streaming media is essential to our daily lives, whether for entertainment or education. Delivering high-quality video content requires the use of the proper streaming protocol. But with so many options available, knowing which one will work best for your needs can take time and effort.
In this post, we will break down the differences between popular streaming protocols — including RTMP, HLS, DASH and more —and provide tips on choosing the right one for your needs. Whether you’re a video creator, broadcaster or streaming service provider, this guide will help you decide which protocol to use and when. Let’s dive in and explore the world of streaming protocols!
Contents
What is a Streaming Protocol?
At the most basic level, a streaming protocol is a set of rules determining how multimedia data is transmitted over the internet. Video streaming protocols enable efficient and reliable transmission of video content, providing a standardized way to deliver multimedia content in real time — and a seamless viewing experience.
How Do Streaming Protocols Work?
Here’s how streaming protocols work:
- Video content is broken down into smaller “chunks” or segments, which are sent to the viewer’s device in a specific order.
- The protocol determines how often these segments are sent, how quickly the viewer’s device requests new segments and how video quality is adjusted in response to changes in the viewer’s internet connection speed.
- Codecs, like H.264 and H.265, compress and decompress video content carried by streaming protocols.
In short, streaming protocols determine how multimedia content is transmitted, not how it’s stored. By understanding how streaming protocols work, you can decide which protocol makes the most sense for your use case.
For a deeper understanding of streaming media, check out our blogs on streaming media encoding formats to learn how different encoding formats and codecs are used to package media, explore best practices for using WebRTC for interactive video streaming, and considerations for scaling streaming apps.
Most Common Video Streaming Protocols
Different protocols have different strengths and weaknesses, depending on the use case. Streaming protocols can be divided into two main types: low-latency streaming protocols and adaptive streaming protocols. The main difference between the two? How they deliver video content to viewers.
Also known as real-time streaming protocols (RTSPs), low-latency streaming protocols process high volumes of data with minimal delay and are consequently ideal for live events like sports or news broadcasts. On the other hand, adaptive streaming protocols like HTTP Live Streaming (HLS) adjust the quality of the stream based on the viewer’s internet connection speed, providing a smoother content viewing experience.
Choosing the wrong protocol can result in a poor user experience and may end up costing a lot more. If you use a low latency protocol for on-demand content, for example, viewers may experience buffering or poor video quality if their internet connection isn’t fast enough. If you use an adaptive streaming protocol for live events, however, viewers may experience a delay — and consequently a less engaging viewing experience. Last, different protocols have different technical requirements.
Understanding the difference between different types of streaming protocols can help you select the correct streaming protocol for your specific use case.
Low-Latency Streaming Protocols
Real-Time Messaging Protocol (RTMP)
Originally developed by Macromedia (now Adobe), RTMP is a streaming protocol designed for real-time communication, including streaming audio, video and data over the internet. Commonly used to deliver live video content, RTMP breaks up video content into small chunks or packets and sends them in real time from a streaming server to a viewer’s device.
Including mechanisms for error correction, retransmission of lost packets, custom metadata, and flow control, the streaming protocol ensures reliable and efficient data transmission. As a proprietary protocol, RTMP has certain technical limitations (lack of support across devices and platforms, special software requirements, etc.) and has been largely superseded by HTTP-based adaptive streaming protocols. But RTMP is still used for live streaming on gaming platforms like Twitch and for streaming to legacy devices that don’t support newer protocols. Plus, Wowza’s 2021 Video Streaming Latency Report found that nearly 80% of content distributors use RTMP for ingest.
Real-Time Streaming Protocol (RTSP)
Designed to control streaming media servers, the RTSP is a streaming protocol known for its extremely low latency. RTSP is an open standard protocol that allows clients to request video and audio streams from the server and control the playback of those streams.
Despite its flexibility and the ability to be used by anyone without license restrictions, RTSP is rather complicated and not as compatible, adaptable or scalable as other choices. Android and iOS devices are not immediately RTSP-compatible out of the box, but RTSP support remains ubiquitous in IP cameras, so the protocol is an industry standard across surveillance and closed-circuit television (CCTV) architectures.
Adaptive Streaming Protocols
HTTP Live Streaming (HLS)
Commonly referred to as HLS, HTTP Live Streaming (HLS) is an adaptive bitrate streaming protocol developed by Apple to deliver the best video quality and viewer experience possible. Initially limited to iOS devices, HLS is now supported by most modern devices and accessible to a massive global audience.
How does the HLS protocol work? HLS breaks down a media file into smaller chunks (typically 10 seconds or so) and then serves those chunks as individual files over HTTP. The client — whether a web browser or mobile application — requests the chunks sequentially, and the server responds with the appropriate file, adjusting as network conditions change to ensure a smooth playback experience.
The step-by-step process of how HLS works:
- Media Encoding
- Playlist Generation
- Chunking
- Index File Segmentation
- Server Hosting
- Client Request
- Playlist Selection
- Chunk Request
- Playback
HLS has evolved into a popular streaming protocol due to its ease of use, compatibility with a wide range of devices and platforms and support for adaptive bitrate streaming. HLS is also much more cost effective than RTMP or RTSP making it ideally suited for on-demand applications and broadcast of live events when low latency is not required. HLS achieves this by separating the stream media from the information about how to assemble the stream media. By separating the media it can be placed on a content distribution network (CDN) which costs significantly less and is faster and more robust than hosting streams directly via traditional cloud servers.
HLS can serve both live and on-demand events but for live streaming, HLS ends up time-shifted with some latency. Streaming viewers are not really watching at the “live” point (i.e., the live event in person would be several seconds ahead of the stream). A more recent development, low-latency HLS (LL-HLS) brings its latency down to sub three seconds, close to two.
Dynamic Adaptive Streaming over HTTP (DASH)
Also known as just DASH, Dynamic Adaptive Streaming over HTTP is another popular adaptive bitrate streaming protocol used to deliver audio and video content over the internet. DASH is an international standard for streaming media developed by the MPEG organization.
More or less a vendor-independent alternative to HLS, DASH works — much like HLS — by breaking down a media file into small, equally sized segments (generally two to 10 seconds long) and serving those segments as individual files over HTTP. First, a media file is encoded into multiple versions with different bitrates and resolutions. Then a manifest file is created listing all available versions. From there, each version of the media file is split into small, equally sized segments, saved and hosted on a web server that supports HTTP. When a client requests the manifest file from the server, it parses that file and selects the appropriate version of the media file based on the device’s capabilities and network conditions. Finally, the client decodes and plays back the segments as they are received from the server, requesting lower bitrate versions in real time to streamline the viewer’s experience. DASH enjoys the same CDN cost savings as HLS.
Low Latency Dash also known as LL-DASH is a more recent modification, allowing it to operate with about two seconds of latency.
Latency of Common Streaming Protocols
Choosing the Right Streaming Protocol for Your Project
When selecting a streaming protocol for your project, the decision can critically impact the quality and reliability of your streaming media product. Streaming protocols differ in several areas — from device compatibility and playback/encoder support to scalability, latency, security and the viewing experience — and understanding the differences between low-latency streaming media protocols and HTTP-based adaptive streaming protocols can help you make the most informed decision.
From lower latency to more control, low-latency streaming protocols like RTMP and RTSP offer several advantages over HTTP-based adaptive streaming protocols. Ultimately, the application’s needs and trade-offs between latency, control and ease of use will combine to shape the final choice.
Note that if you choose to use a CDN friendly protocol such as HLS or DASH, it’s equally important to ensure that your CDN provider supports media. Generally speaking this means that on a CDN cache miss the CDN server begins returning bytes as soon as it receives them from the origin server. This helps keep latency down and ensure timely delivery. CDN providers often provide additional media targeted options for cache control that may apply to your specific use case.
Overall, HTTP-based adaptive streaming protocols like HLS and DASH offer a more practical and flexible solution for delivering audio and video content over the internet than their low-latency counterparts. However, low-latency protocols like RTSP are better suited for real-time communication and interactive applications.
Streaming Protocols — Advantages and Trade-Offs
Streaming Protocol | Advantages | Trade-Offs |
---|---|---|
Real-Time Messaging Protocol (RTMP) |
|
|
Real-Time Streaming Protocol (RTSP) |
|
|
HTTP Live Streaming (HLS) |
|
|
Dynamic Adaptive Streaming over HTTP (DASH) |
|
|
Reach Out to Our Experts on Streaming Media Protocols
If you’re looking for a trustworthy development partner to help launch your next video product design or streaming media project, Cardinal Peak has extensive experience developing custom streaming solutions for various industries and use cases. Let us know how we can help you evaluate your options and select the best streaming protocol for your needs.