Video technology has come a long way since the first moving picture was created back in 1888. Today, you can share a video with millions of viewers across the world with just a couple of taps on your laptop or phone. On average, each person watches around 16 hours of video every week (a 52% increase over the last two years!). But the ease with which we can now share videos belies the true complexity of streaming video. A fundamental part of being able to send and play video on your device is video streaming protocols.
Video streaming protocols make it possible to stream and deliver video on your device. They are essentially rules for sending and receiving data to enable a smooth playback experience. Understanding video streaming protocols is essential since they need to be compatible with both the input source and the endpoint.
To better understand how you can effectively use video, it’s important to understand how various protocols impact video streaming, so let’s get into it.
A streaming protocol refers to a set of rules that define how data (such as for video) should be communicated from one device or system to another across the Internet. Video streaming protocols act as a standardized method of segmenting a video stream into smaller chunks, transmitting the data across the Internet and providing playback in sequence. Protocols lie within layers to create a protocol stack. Each protocol comes with its own set of advantages and drawbacks. For example, certain protocols have the ability to provide ABR or adaptive bitrate streaming. Some protocols, however, are not as widely supported by devices or suffer from latency issues.
Now that we’ve clarified what a video streaming protocol is, we should define what it’s not. Before we get into any more details, it’s important to clarify that what a streaming protocol isn’t. It’s a common mistake to assume a video streaming protocol is the same as a codec or container format.
A codec is used to make your video files smaller. Videos can take up a lot of storage. A codec compresses video files by deleting unimportant information in order to compress the video. For example, imagine you record a video with a still, blue background that remains the same for a minute. After the first frame, there’s no need for the blue background to render again for the subsequent frames. The codec discards the redundant visual information for each individual pixel and simply keeps a reference to reduce storage instead.
People sometimes also confuse streaming protocols with container formats. However, video streaming protocols define how the data is transported while container formats define how data is stored. It generally consists of a video file, audio file and metadata. Some common container formats include MP4 and FLV.
You can learn more about codecs, containers and outputs on TechSmith’s blog here.
It’s important to consider what kind of protocol is supported by devices when choosing a video streaming protocol. Each protocol serves its purpose and varies in terms of factors, such as latency and compatibility.
Common video streaming protocols include:
Let’s take a look at each of these different video streaming protocols.
Created by Macromedia and later acquired by Adobe, this universally accepted protocol was designed for streaming live and on-demand videos using Adobe Flash applications. This universally accepted protocol is designed to maintain low latency connections by transmitting video and audio data in small packets. RTMP is a protocol based on TCP that was designed with the purpose of maintaining low-latency connections. However, this protocol was developed primarily to work with the Flash player. This video streaming protocol has various variants, such as:
Adobe’s announcement for ending support for the Flash player in 2020 has severely reduced its viability, though it is still used with an RTMP encoder; it is ingested and converted to another protocol for playback (usually HLS) for last-mile delivery or egress. It is not recommended, however, since it is rapidly becoming obsolete.
Learn more about RTMP and it's history in video streaming.
Another traditional, but lesser-known protocol, RTSP is slightly different from RTMP. A very low latency protocol, it’s mainly used as a remote control to pause, play or stop video sessions by commanding and controlling media servers. This protocol is popular for communication and entertainment systems. Its low latency also makes it popular for surveillance systems, drone streaming and other IoT devices as well. However, it’s much less popular than other protocols; while it’s still relatively prevalent among IP cameras, iOS and Android devices generally don’t offer players compatible with this protocol. It also relies on the Real-Time Transport Protocol (RTP) and Real-Time Control Protocol (RTCP) for delivering the data.
Also known as Apple HLS, this protocol was developed in 2009 by Apple original for iOS devices. It has since become, however, the most widely popular video streaming protocol. HLS video streaming is compatible with a wide majority of devices and HTML5 players. The death of Flash has made most users switch to HTML5 players, which is the primary reason for its increased popularity. Additionally, it is one of the most secure and scalable protocols out there. It also supports adaptive bitrate streaming, so it automatically optimizes the stream according to the devices’ resolution and network condition. However, unlike traditional streaming protocols, it can have relatively high latency.
One of the newer streaming protocols, MPEG-DASH is a common alternative for HLS in the industry. It was developed by the Moving Pictures Expert Group (MPEG), an international authority on digital audio and video standards, to deliver video and audio to devices over web servers using the DASH (Dynamic Adaptive Streaming over HTTP) protocol. An open-source option, it can be customized to support any audio or video codec. It also provides adaptive bitrate streaming, but isn’t supported by Apple software, since Apple prefers prioritizing its own protocol.
Developed by Microsoft, this video streaming protocol was designed for applications with the Silverlight player, but is now compatible with a wider range of devices, including iOS. Like the previously mentioned HTTP protocols, MSS also provides adaptive bitrate streaming and tools for protecting against piracy. This protocol hasn’t seen the same level of popularity as the other protocols, however.
HDS was Adobe’s answer for an adaptive bitrate streaming protocol that evolved as a successor to the RTMP protocol. Already with a low latency, adding adaptive bitrate streaming only added to Adobe’s successive protocol. However, similar to RTMP, this protocol requires a Flash player and since Adobe has retired the Flash player, this protocol is well on its way to becoming obsolete as well.
WebRTC is one of the new latest video streaming protocols with the fastest video and audio streaming capabilities of any existing protocol today. With near-instantaneous, this protocol is primarily used for peer-to-peer video and audio sharing between browsers. While considered the best video streaming protocol by some of today, this protocol is primarily designed for video conferencing and lacks scalability.
This open-source protocol is capable of providing high quality video streaming regardless of the network conditions. Created by the SRT Allliance (which includes prominent video technology experts such as Microsoft and Wowza), this video streaming protocol has been recognized as a competitive substitute to both RTMP and RTSP, SRT offers reliable live video streaming with low latency over suboptimal networks. Moreover, this video streaming protocol is also codec-agnostic, meaning it can operate with any modern audio or video codecs. However, this protocol is still not widely supported yet due to being an emerging technology.
Each protocol has something different to offer. When choosing the best video streaming protocol for your use case, it’s important to contemplate the following factors:
By keeping in mind the factors above, organizations can choose relevant video streaming protocols according to their needs. While legacy protocols (i.e., RTMP, RTSP) are still widely popular for input, most devices and players are quickly adapting to newer and more efficient protocols.
VIDIZMO is a video platform that offers live streaming, with support for a range of legacy protocols, RTMP and mordern HLS. VIDIZMO allows you to ingest RTMP streams and deliver an HLS stream due to it’s a wider range of compatibility with browsers and devices. An end-to-end solution for video streaming and content management, VIDIZMO offers a complete enterprise video platform with on-demand streaming as well, and much more. Learn more about VIDIZMO as a interactive live streaming platform here, and how VIDIZMO optimizes video for delivery and bandwidth.
Read our blog on the comparison of the top live video solutions.