Enabling High Fidelity, Low Latency Live Streaming with NGINX

Noah Schumacher
6 min readMay 29, 2022

This is one of the articles in my series Building A Live Music Streaming Platform. For an introduction to this series please see the intro article here.

In this article, I will be covering how to configure and utilize NGINX to enable high fidelity, live streaming over RTMP to HLS. All code and a comprehensive readme can be found in my public Github repository weval-nginx-rtmp. Before we get into the details of this specific setup let’s quickly discuss the use case and why it was right for Muuse to ingest RTMP and deliver over HLS.

There are many different live streaming protocols each with its own use cases, complexities, pros, and cons. This image below is a good summary detailing the approachable latencies of common streaming protocols

Streaming Protocol Latencies

When deciding what protocol to use it was helpful for us to weigh three core aspects of streaming.

  1. Latency: how fast is audio/video delivered to the viewer?
  2. Access: is this protocol easily usable and highly compatible?
  3. Quality: is this protocol capable of high-quality audio/video?

--

--

Noah Schumacher

Senior SWE @Hinge. I love learning new technologies and product-focused development. I have a background in physics and machine learning.