Q: I have created a live stream and chose the "lower latency" option. Why is the latency more than 5 seconds?
A: The lowest average latency with the "lower latency" configuration is between 15 - 20 seconds.
Transcoding your source stream will add a second or so. The culprit in latency is the requirement to packetize the HLS and Dash output. The stream has to pass through the transcoder for muxing into HLS/Dash and then it is packaged into the chunks that are then made available for the playback requests.
The lower latency configuration uses 2-second chunk durations and a playlist consists of no less than 3 chunks (equalling 6 seconds). When you include the first-mile transit, the processing and muxing of the first 6 seconds, and then the last mile transit the stream has picked up latency along the way. 5 seconds or less is not currently an option within the "lower latency" workflow.
Until Wowza integrates Low Latency HLS into the platform, "normal" HLS will provide you 15-20 seconds lowest consistent latency at best via Wowza Video.
Adjust Your Playlist Seconds
Playlist seconds, which is 100 by default, defines the maximum allowable duration of the playlist.
Go to: Advanced > Stream Targets > [choose target name] > Properties > Edit
You can configure the playlist's available duration to improve the overall playback latency by limiting how much of the content is available in the playlist and chunklist. Do not configure lower than 8 seconds.
This change should be made prior to starting the transcoder so that we can write the appropriate playlist and chunklists.
Alternative #1 to the Lower Latency HLS Playback in Wowza Video
Depending on where your viewers are located you could consider using a WebRTC workflow if your audience is 300 or less. There are other factors to consider, including cost, but it is currently the lowest latency option we can provide at this time. For more details review this article: WebRTC workflows in Wowza Video.
Alternative #2 to the Lower Latency HLS Playback in Wowza Video
We offer a new WebRTC low latency option that we label as "Real-Time Streaming at Scale". In a WebRTC to WebRTC workflow, Real-Time Streaming at Scale will provide half-second latency to all your viewers, no matter where they are.