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>