How To Stream Low Latency RTMP to a Large Audience (One-To-Many)?

Mihai Motocu
Streamaxia
Published in
2 min readApr 21, 2020

--

Do you need to live stream to a large audience (one-to-many) in both high quality and low latency?

Do you want this stream to be relayed using a CDN?

Do you want to be fully compatible with all the browsers and devices when doing so?

Let’s review all the options.

1. Broadcasting RTMP, Playback RTMP
This used to work, back in the day, when Flash was still living. Nowadays, Flash is defunct and rightly so (security bugs and inefficient graphic processing).

2. Broadcasting RTMP, Playback HLS
HLS by default has been constructed to deliver movies or video on demand and not live streaming. It means that, by default, it delivers a ~15-second delay due to buffers (chunks size) and encoding functionality. Some highly patient engineers managed to tweak it and tune it and get it down to ~4 seconds. This is still a lot.

3. Broadcasting RTMP, Playback pushing a sequence of JPEGs over WebSockets
This is a bit more exotic solution, that relies on Websockets. You can decode the RTMP protocol and push the frames over WebSockets. This actually provides a good latency of even below 1 second.

4. Broadcasting RTMP or other protocols, Playback over other protocols
The amount of protocols you can natively play in all web browsers is very limited, but the main issue is finding a fast enough transcoder that would be able to convert the incoming stream to another protocol widely supported by browsers. SRT is a protocol worth keeping an eye on and Apple’s low latency HLS which will soon be released. However, a sub-1-second delay might be unrealistic.

5. WebRTC
This has been designed with low latency in mind, however, the main drawback is scalability. It has been designed for one-to-one video conferences and not as one-to-many broadcasts. Of course, you can tweak it to work like that and implement re-streaming or cascading setups, but you won’t be able to leverage the already existent CDNs.

6. October 2020 Update: Low Latency HLS
We’re thrilled to inform you that Wowza has just released the HLS-LL protocol that is specifically designed to deliver low latency over the HLS protocol for live streams. You will need an HTTP/2 compatible browser to achieve low latency, though.

Here at Streamaxia, we provide custom integrations, iOS & Android RTMP SDKs and WebRTC turnkey solutions. Get in touch today and see how we can help!

--

--