When it comes to the delivery of live-streams, there are a few different options– and no, the post office isn't one. We've already covered most of them, but have yet to focus directly on the best one: WebRTC Streaming.
Why is WebRTC streaming the best solution?
No Plugin Required - Flash is Dead
You either die a hero, or you live long enough to see yourself become the villain. - Harvey Dent
That very fate has befallen poor Flash. Though Flash and RTMP established a large part of the foundation, the live-streaming technology sector has since evolved and expanded. In fact, as demand for live video grew, Flash's limitations proved in some ways an impediment to live-streaming.
In short, Flash outlived its usefulness and at the end of 2020 will no longer be officially supported.
Fortunately, WebRTC was created in anticipation of this. As an HTML5 specification, WebRTC creates peer-to-peer, real-time media communications directly between browsers and devices via a simple API. WebRTC, an open-source project, also enjoys wide support from major players Apple, Google, Microsoft, Mozilla, and Opera. That support ensures that the WebRTC standard remains up to date and functional for the foreseeable future.
While RTMP and Flash used to be able to deliver streams at fairly low latency, WebRTC is far more capable of providing the high-quality performance demanded by the modern world of live-streaming.
Supported on Every Browser - Web Standard
As a web standard, WebRTC enjoys high stability and consistency. It is supported by major internet browsers Chrome (on Android and desktop), Safari (on iOS and desktop), Firefox, Edge and Opera. The best and most practical part is there are no plugins needed as it works directly inside web pages.
No matter what device is used, every browser will work.
Scalable to Millions
Despite a popular myth, WebRTC does scale. Since WebRTC creates a peer-to-peer connection, some wrongly assume it is unwieldy to scale even into the hundreds. Breaking through this conventional thinking, Red5 Pro reimagined the entire architecture.
Red5 Pro’s Autoscaling Solution leverages cloud infrastructure to automatically scale the system up or down in response to current conditions. Clusters of servers can be setup in different regions to increase performance when streaming through different parts of the world.
Most notably, the Autoscaling Solution maintains sub-500 millisecond latency while scaling to millions. We will discuss our latency in more detail further down.
Secure Connection - Peer-to-Peer
The process of creating a peer-to-peer connection creates a secure connection.
Our implementation of WebRTC uses a secure WebSocket to establish a UDP connection between the server and the client. Then encryption keys are exchanged using DTLS (Datagram Transport Layer Security). Finally, WebRTC uses SRTP (Secure Real-Time Protocol) as the transport protocol to send and receive encrypted video and audio.
Latency - UDP Based
Saving the biggest reason for last: WebRTC is currently the only protocol that provides sub-500 milliseconds of real-time latency.
Unlike TCP based HLS and MPEG-DASH, WebRTC is UDP based. UDP is not concerned with the order of the data, rather it delivers each packet to the application the moment it arrives. Instead of queuing packets and waiting for them to load like TCP based protocols, WebRTC focuses on the dropped packets. This is done either by using NACK to retransmit the most critical packets or by Packet Loss Concealment – estimating to some extent what should have been in the missing packet.
This is why Red5 Pro integrated their solution with WebRTC. It establishes secure, plugin-free live video streams accessible across the widest variety of browsers and devices; all fully scalable into millions of concurrent connections while maintaining sub-500 milliseconds of real-time latency. WebRTC streaming provides the best possible experience.