What is latency ?
The latency is the time elapsed between capturing and playing the video. In other words, for live video, latency is a delay in comparison to real-time. Standard latency values are between 30s and 60s.
Thanks to Low-Latency HLS we can achieve a latency of 2 seconds or less.
Advantages of Low Latency
In LL-HLS, the aim is to have a latency of about two seconds. It is really close to real time. This is a necessity for many use cases.
Let’s say you are watching a sport or any other entertainment event, you do not want your neighbour to spoil the outcome, which will be the case with a higher latency.
Another example, if you are watching a video and there is a live chat, you need low latency, otherwise the reply might not make sense.
Low latency is also necessary for :
- gambling
- live auctions
- betting
- gaming
How to achieve Low Latency with LL-HLS
Low-Latency HLS introduces new tags.
Functionalities supported by server
First of all, the server will be able to indicate which low-latency features it supports:
EXT-X-SERVER-CONTROL
is mandatory in Low-Latency. It allows the server to indicate which of LL-HLS functionalities it is compatible with.CAN-BLOCK-RELOAD=YES
means the server can block a playlist reload until a specified resource is available. It is mandatory in Low-Latency. The client specifies this resource with query parameters_HLS_msn
and_HLS_part
.CAN-SKIP-UNTIL
means that the server can skip a part of the playlist if it is requested by the client. It reduces the size of the playlist. This one is optional.PART-HOLD-BACK
is the minimum distance from the end of the playlist. A client can play a segment if it is at this distance. It is mandatory if the playlist contains partial segments, which is the case in low latency.
Partial segments
Next, in Low-Latency HLS, there are partial segments. Those are much shorter than regular media segments. Hence, they are added earlier in the playlist. The tags for partial segments are :
EXT-X-PART-INF
gives info on partial segments. It is mandatory if any are present in the playlist.EXT-X-PART
identifies a partial segment
Preload
Moreover, the server can inform the client that a segment is available for request and soon for delivery. So, the client can request this segment earlier. The tag used by server is :
EXT-X-PRELOAD-HINT
gives information about next available resource. The client can ask for this resource, and the server will provide it once it is available.
Delta update
Also, the client can ask for a playlist delta update. This allows to get only last part of the playlist. This can be used by the client if it already has the playlist and only wants to get new segments. The older segments are replaced by a new tag :
EXT-X-SKIP
is there to replace ignored segments in case of delta updates. Only if client asked playlist delta update. In other words, reload playlist with query parameter_HLS_skip=YES
Other renditions
Finally, there is a new tag to switch renditions faster :
EXT-X-RENDITION-REPORT
gives info about other renditions.
About UbikLoadPack :
- Ubik Load Pack is used by Big players in the Video streaming field
- We provide professional services for Load Testing
- Learn more about our streaming plugin
- Detailed features of UbikLoadPack Streaming Solution
- Get a Free trial
You’ll probably also like:
Recent Posts
- UbikLoadPack Video Streaming Plugin 9.1.5 14 June 2024
- What is DASH multi period and when to use it ? 4 December 2023
- UbikLoadPack Java Serialization Plugin 23 November 2023