Streaming protocol
What is a streaming protocol?
A streaming protocol is a set of rules that govern how data goes from the point of its origin to its destination. When you’re live streaming video, these protocols are there to ensure that your encoder and the streaming service can easily exchange information.
In some cases, you’ll be able to pick the streaming protocol you use. Usually, however, it depends on which protocols are supported by the encoders and the platforms to which you’re streaming. Let’s look at some of the more widely used protocols today.
WebRTC
Web Real-Time Communication (WebRTC) is ideal for real-time data transfer and video conferencing. But you may have to compromise a bit on video quality, as speed is the main focus. You also need a complex server setup to deploy WebRTC. For this reason, most content delivery networks (CDNs) are not compatible with WebRTC.
RTMP
Real-Time Messaging Protocol (RTMP) breaks data into chunks to transmit audio and video signals consistently. There are several variations of RTMP that cater to different kinds of connections. You can achieve low latencies using RTMP to deliver your videos with great speed. However, many CDNs have now stopped support for RTMP after the demise of Flash player.
HLS & DASH
HLS and DASH are alternatives to WebRTC and RTMP. They can achieve latencies of five seconds. HLS and DASH construct very small, streamable video segments after processing the raw video material. The segments are then sent to the CDN, which forwards the request to the encoder, which then sends the appropriate segments to the viewing device.
Go more in-depth on streaming protocols in our streaming protocol comparison guide.