Live Event low latency settings
Looking for Media Services v2 documentation?
Having trouble? See the Troubleshooting guide for solutions to issues with using Media Services.
Code samples can be found on the Samples page.
This article shows how to set low latency on a Live Event. It also discusses typical results that you see when using the low latency settings in various players. The results vary based on CDN and network latency.
To use the new LowLatency feature, you set the StreamOptionsFlag to LowLatency on the LiveEvent. When creating LiveOutput for HLS playback, set LiveOutput.Hls.fragmentsPerTsSegment to 1. Once the stream is up and running, you can use the Azure Media Player (AMP demo page), and set the playback options to use the "Low Latency Heuristics Profile".
Note
Currently, the LowLatency HeuristicProfile in Azure Media Player is designed for playing back streams in MPEG-DASH protocol, with either CSF or CMAF format (for example, format=mdp-time-csf or format=mdp-time-cmaf).
Live Events latency
The following tables show typical results for latency (when the LowLatency flag is enabled) in Media Services, measured from the time the contribution feed reaches the service to when a viewer sees the playback on the player. To use low latency optimally, you should tune your encoder settings down to 1 second "Group Of Pictures" (GOP) length. When using a higher GOP length, you minimize bandwidth consumption and reduce bitrate under same frame rate. It is especially beneficial in videos with less motion.
Pass-through
| 2s GOP low latency enabled | 1s GOP low latency enabled | |
|---|---|---|
| DASH in AMP | 10s | 8s |
| HLS on native iOS player | 14s | 10s |
Live encoding
| 2s GOP low latency enabled | 1s GOP low latency enabled | |
|---|---|---|
| DASH in AMP | 14s | 10s |
| HLS on native iOS player | 18s | 13s |
Note
The end-to-end latency can vary depending on local network conditions or by introducing a CDN caching layer. You should test your exact configurations.