Could Someone Give me Advice on Best Practices for Low-Latency Streaming with Wowza Streaming Engine?

Hello there,

I am new to using Wowza Streaming Engine and have been exploring its capabilities over the past few weeks. I am working on a project that requires low latency streaming; and I wanted to reach out to this knowledgeable community to get some advice on best practices.

I am developing a live streaming application for a client who needs to broadcast real time events with as little delay as possible. We are targeting latencies of under 3 seconds. I have read through the Wowza documentation and have experimented with various configurations; but I am still not entirely sure if I am on the right track.

Adjusted the chunk sizes in my encoder settings.
Experimented with WebRTC and Low Latency HLS LL HLS.
Tweaked the transcoder settings to ensure efficient processing.

Are there specific server configurations or hardware recommendations that could help reduce latency? Any tips on optimizing Wowzas performance on dedicated or cloud servers? :thinking:
Between WebRTC and LL-HLS; which protocol tends to perform better in real-world scenarios for low-latency applications? :thinking:

What network setups or bandwidth considerations should I keep in mind to minimize latency? :thinking:
Are there any additional tools or plugins compatible with Wowza that can aid in achieving ultra-low latency? :thinking:

Thank you in advance for your assistance and help. :innocent:

in my experience, LLHLS will get you in the 5-8 seconds of latency in the real world. Its especially challenging to get better than that if you are using a CDN. If your clients are close to server (like an on-prem situation), you could probably get close to 3.

It mostly comes down to good network conditions, player configurations (like buffer sizes). Playing with chunk and segment size is worth looking at.

The challenge with tuning LLHLS down to really low latency, is you are trading stream quality. This is bc there will not be as much data buffered on player side, which protects clients from network fluctuations.

If you need to be under 3 seconds, I would go with WebRTC. I’m a bit out of date regarding WSE’s capabilities with delivering WebRTC to clients, scaling etc. It used to be more geared towards real-time chat, and as an ingest protocol, but that may have changed.