DVB-DASH Low Latency Mode
This is about DVB-DASH Low Latency support, as specified in the October 2019 version of DVB Bluebook A168, section 11.18. It makes use of several new features introduced in the 4th edition of MPEG-DASH specification, or ISO/IEC 23009-1:2019. The most important of these features are:
A new
ServiceDescription
element for DASH client manifests (MPD), which can contain service latency and playback rate information.A new
SupplementalProperty
element for adaptation sets in DASH client manifests (MPD), which signals low latency.
Note
We currently only support the first option as specified in the October 2019 version of DVB Bluebook A168, section 11.18.1. Low latency content using the first option provides a high degree of backwards compatibility but results in a high rate of requests from the player to the server or CDN.
Enabling DVB-DASH Low Latency for a Publishing Point
New in version 1.10.15.
To enable DVB-DASH Low Latency support for a Live Publishing Point, add the following command-line option when creating the Live server manifest:
--mpd.dvb_low_latency
When this option is enabled on a Live Publishing Point, Unified
Origin will automatically insert a ServiceDescription
element into the top
level of MPD's it generates:
<ServiceDescription
id="1">
<Scope
schemeIdUri="urn:dvb:dash:lowlatency:scope:2019" />
</ServiceDescription>
In addition, Origin will insert a SupplementalProperty
into each
AdaptationSet
element in the playlist:
<SupplementalProperty
schemeIdUri="urn:dvb:dash:lowlatency:critical:2019"
value="true">
</SupplementalProperty>
Together, these signal to the DASH player that it should enable DVB-DASH Low Latency mode.
Configuring additional DVB DASH Low Latency options
The DVB-DASH Low Latency ServiceDescription
element currently has two
possible sub-elements, Latency
and PlaybackRate
.
Latency configuration
The Latency
element is used to configure the minimum, maximum and target
latency, in milliseconds. The DASH player should attempt to conform to these
parameters.
The latency parameters can be configured using the following command-line options, when creating the Live server manifest:
--mpd.dvb_minimum_latency : sets the Latency @min attribute (in ms)
--mpd.dvb_maximum_latency : sets the Latency @max attribute (in ms)
--mpd.dvb_target_latency : sets the Latency @target attribute (in ms)
When these options are specified on a Live Publishing Point, Unified
Origin will automatically insert a Latency
element into the
ServiceDescription
element of MPDs it generates, similar to:
<ServiceDescription
id="1">
<Scope
schemeIdUri="urn:dvb:dash:lowlatency:scope:2019" />
<Latency
target="3000"
max="6000"
min="1500" />
</ServiceDescription>
PlaybackRate configuration
The PlaybackRate
element is used to configure the minimum and maximum
playback rate, which is a "Real" value, as specified by the DVB-DASH specification (ETSI TS 103 285):
Optional leading minus sign, followed by a decimal string, optionally followed by a decimal point '.' and further digits, e.g., 12 or -654.32.
The DASH player should attempt to conform to these parameters to speed up or slow down playback, so as to achieve the desired latency.
The playback rate parameters can be configured using the following command-line options, when creating a Live server manifest:
--mpd.dvb_playback_rate_min : sets the PlaybackRate min attribute (a "Real" value)
--mpd.dvb_playback_rate_max : sets the PlaybackRate max attribute (a "Real" value)
When these options are specified on a Live Publishing Point, Unified Origin will
automatically insert a PlaybackRate
element into the ServiceDescription
element of MPDs it generates, similar to:
<ServiceDescription
id="1">
<Scope
schemeIdUri="urn:dvb:dash:lowlatency:scope:2019" />
<PlaybackRate
max="1.5"
min="0.5" />
</ServiceDescription>