It is safe to say that most of us hardly go a day without streaming a video. While we take this technology for granted today it has not always been so easy. A big part of the rise in popularity of this particular content consumption behaviour has to do with the availability of video streaming protocols.
Video streaming protocols are specific standardized rules and methods that break up video files into smaller pieces, so that they can be delivered to the end user for reassembling and viewing.
The files will need to be compressed for transport, a process achieved through a “codec”, such as the most common H.264. The files will also need to be stored in a “container format” such as .mp4 or .avi before it can be transmitted. The source of the video file could be a broadcaster’s camera directly in the case of live streaming or static files in the case of video on demand (VoD).
The Rise of Video Streaming Protocols
As more consumers have taken to streaming as a natural way of consuming content, the number of video streaming platforms have multiplied rapidly to meet the demand. While in the 1990s, streaming was mainly restricted to broadcasts of sports events, the technology began gaining traction with Flash and RTMP-based streaming in the 2000s. Then came YouTube, Netflix and more protocols in the 2010s. Live streaming as a format really kicked off in the mid-2010s with the launch of Periscope and Facebook Live soon after.
Today, the video streaming market is vibrant with numerous platforms, businesses and use cases including live audio, movie and game streaming. Along with these developments, the options for video streaming protocols have also risen.
What are the Most Common Video Streaming Protocols?
There are a number of video streaming protocols available today. Some of them are legacy standards still in operation in some use cases, while others are rapidly evolving, especially through the open-source framework. A few others meanwhile are relatively new and will take time to receive mainstream adoption but hold much potential for changing how we consume video streaming content in the future. Not all protocols support the same codecs either. Here are some of the most common ones being considered.
HTTP Live Streaming (HLS)
HLS is the most commonly used protocol for streaming today. It was originally released by Apple in 2009 as part of their efforts to drop Flash from iPhones. This protocol is compatible with a wide variety of devices, from desktop browsers, smart TVs, set-top boxes, Android and iOS mobile devices and even HTML5 video players. Naturally, this allows for streamers to reach the widest audience possible.
HLS also supports adaptive-bitrate streaming. This is a technology which allows videos to be delivered dynamically to ensure the best possible video quality for end users.
The only major drawback associated with the HLS protocol might be the high latencies associated with it. Latency refers to the time it takes for information to travel from a source to the destination and back, when large volumes of data are transferred over the internet.
Dynamic Adaptive Streaming over HTTP (MPEG-DASH)
MPEG-DASH is one of the more recent streaming protocols, developed by the Moving Pictures Expert Group (MPEG), as an alternative to the HLS standard. It is an open-source standard which can be customized for any audio or video codec.
Like HLS, MPEG-DASH supports adaptive-bitrate streaming, allowing viewers to receive the best quality video that their network can handle.
WebRTC is an open-source project that aims to deliver streaming with real-time latency. Initially developed for pure chat-based applications and VoIP usage, it has become known for use in video chat and conference applications after being purchased by Google. Some of the most common consumer-facing apps of the day such as Google Meet, Discord, Houseparty, Gotomeeting, WhatsApp and Messenger all use WebRTC.
What makes WebRTC unique is its reliance on peer-to-peer or P2P streaming. It is also a preferred solution when the streaming requires low-latency streaming.
Secure Reliable Transport (SRT)
SRT is another open-source protocol developed by streaming technology provider Haivision. It is a preferred protocol for members of the SRT Alliance, a group of companies comprising technology and telecommunications providers. The main benefits that SRT is known for are security, reliability, compatibility and low-latency streaming.
SRT is capable of delivering high quality video streaming even when the network conditions are erratic. It also does not rely on a single codec, which allows its use with any audio and video codecs.
Real-Time Messaging Protocol (RTMP)
RTMP is a protocol that has been around for a while. It was developed by Macromedia (better known as Adobe today) to transfer audio and video files between a streaming server and the Adobe Flash Player. But with the phasing out of Flash in 2020, its use has become less to do with viewer-facing delivery of content and more for ingesting live streams into a platform through RTMP-enabled encoders. That means that the video feed from the encoder is sent to the streaming platform via the RTMP protocol before being delivered to the end user through the common HLS protocol.
Real-Time Streaming Protocol (RTSP)
RTSP is another legacy protocol that was developed for the entertainment industry and is mainly used for establishing and controlling media sessions between endpoints. Although similar to the HLS protocol, it does not help transmit live streaming data by itself. RTSP servers have to work together with the RTP and other protocols to accomplish their streaming tasks.
While it supports low-latency streaming, RTSP based streaming may not be compatible with most common devices and browsers. Think of it as a protocol that can deliver low-latency streaming to a select group of small audiences from a dedicated server. Because of the fact that most IP cameras still support RTSP, it still remains a standard used in surveillance and CCTV systems.
What Should You Consider When Choosing a Video Streaming Protocol?
The choice of the video streaming protocol comes down to certain key factors that may be specific to a business’ needs. You may want to ensure that you reach the widest audience possible or that the latency is minimized. Or security and privacy of the streams may be more important to you. Here is a rough guideline on how to go about choosing based on these factors.
If you are looking to reach the widest possible audience with your streaming content, look for one that is compatible with the most devices, platforms and browsers. HLS is perhaps the best option in this case, and can even be chosen as the default solution when there is any doubt.
Although HLS provides for the widest reach for streaming, it is known to create high latency during streaming. RTMP provides low latency streams but it is not compatible with HTML5 video players. SRT is capable of low latency streams while WebRTC gives you real-time latency. If you go with one of these two however, note that you could be compromising on your reach, as they are not as widely supported in the streaming technology landscape.
If you cannot compromise on either reach or latency, one option is to go with HLS while adopting a media acceleration solution that delivers ultra-low latency streaming.
Privacy & Security
If your biggest concern is ensuring that your streams are safe and sound on their way to the end user, go with a protocol that provides security features. Most protocols, including the widely used HLS standard provide secure streaming but SRT is the protocol that comes with best-in-class security and privacy features.
As discussed earlier, adaptive bitrate allows for delivery of the best quality of the video experience possible, given the end-user’s network capability, device and software. HLS and MPEG-DASH are protocols which support this feature if this is a priority for our streaming requirements.
Last but not the least, remember to compare the costs that would be associated with adopting the protocol and whether this fits within your budget plans. In general, protocols that use HTTP web servers, such as HLS and MPEG-DASH can be more cost-effective compared to traditional protocols as it does away with the technical difficulty of implementation and set up.
If you are also developing your own video platform, you will also have to consider the costs associated with the infrastructure, transcoding, content delivery and playback. In these cases it might be worth considering a cloud-based VoD content management system or an all-in-one live streaming solution that bundles the ingesting, management, processing, publishing and other aspects of video streaming in one platform.