Overview
Use the Low Latency Live rule to enable advanced features for the optimized delivery of Low Latency DASH and/or HLS streams. This rule is available for sites configured for the Live traffic type.
The Low Latency Live rule is designed to optimize live streams for low-latency delivery, but only works if your entire workflow supports the LL-DASH or LL-HLS streaming protocols. For best results, ensure that both your origin and player are fully configured for one or both of these protocols, as enabling the rule without full end-to-end support for LL-DASH and/or LL-HLS, could degrade performance instead of improving it.
Configure the Rule
Here, we'll describe how to configure the rule with the Delivery Service Management UI.
API Users may choose to build the site configuration offline.
To configure a Low Latency Live rule:
-
Make sure the host is configured for the Live traffic type.
-
In the Select Rule dialog, choose Low Latency Live.
-
In the Low Latency Live Rule dialog, select the Low Latency DASH or Low Latency HLS option.
-
Select Add Rule.
Implementing the Low Latency HLS Option
This section provides additional instructions for implementing the Low Latency HLS option.
-
Configure a Cache Key Management Rule
Configure a Cache Key Management rule to ensure the following query parameters are included in the cache key:_HLS_msn
,_HLS_part
, and_HLS_skip
. This is essential for ensuring accurate content delivery in Low Latency HLS streaming.For example:
-
Adjust Origin Read Timeout to Support EXT-X-PRELOAD-HINT
If you are using the LL-HLS protocol's EXT-X-PRELOAD-HINT functionality, consider adjusting the Read Timeout setting in the origin configuration. Learn how to Configure an OriginA client using
EXT-X-PRELOAD-HINT
can anticipate upcoming segments and request them before they are available from the origin. To prevent timeouts when the client requests a segment before it is ready, set the origin read timeout to 1.5 to 2.5 times the segment duration.For example, if segments are 2-4 seconds long, a suitable Read Timeout value is 6 seconds.
SVTA Component: MI.TrafficType
When you save the configuration version, the hints
array with the ll-dash
or ll-hls
value is added to the MI.TrafficType SVTA component in the configuration JSON. The hint informs the CDN that the traffic it will handle is streaming video using the Low-Latency DASH or Low-Latency HLS protocol so the CDN can apply protocol-specific optimizations.
The following configuration triggers optimized processing for Low-Latency DASH:
{
"generic-metadata-type": "MI.TrafficType",
"generic-metadata-value": {
"traffic-type": "live",
"hints": [
"ll-dash"
]
}
}
This is an example of the MI.TrafficType
component configured to trigger optimized processing for Low-Latency HLS, along with the MI.Cache
component, as an example of how to set up a Cache Key Management rule to include the required query parameters:
{
"generic-metadata-type": "MI.TrafficType",
"generic-metadata-value": {
"traffic-type": "live",
"hints": [
"ll-hls"
]
}
},
{
"generic-metadata-type": "MI.Cache",
"generic-metadata-value": {
"exclude-path-pattern": "",
"include-query-strings": [
"_HLS_msn",
"_HLS_skip",
"_HLS_part"
]
}
}
This is an example of the MI.TrafficType
component, along with the MI.ComputedCacheKey
component, as an example of how to set up an advanced Cache Key Management rule to include the required query parameters:
{
"generic-metadata-type": "MI.TrafficType",
"generic-metadata-value": {
"traffic-type": "live",
"hints": [
"ll-hls"
]
}
},
{
"generic-metadata-type": "MI.ComputedCacheKey",
"generic-metadata-value": {
"expression": "req.uri.path . '&' . '?' . req.uri.querykv._HLS_msn . '&' . req.uri.querykv._HLS_skip . '&' . req.uri.querykv._HLS_part"
}
}