Skip to main content
Skip table of contents

DASH Service Description

To test this feature and view the example code, please see the Browsers and Connected TV SDK 5 Example Code Quick Start guide.

DASH Streams

A DASH manifest must have support for Service Description to use this feature.

The CONNECT Player SDK has low latency support for the DASH ServiceDescription tag, which the application can use for live synchronization. The encoder generates the content with this tag to give the user experience the desired latency and playback speed as guided in the service description tag of the Manifest.

JS
<ServiceDescription>
   <Scope schemeIdUri="urn:dvb:dash:lowlatency:scope:2019"/>
   <Latency min="1000" max="20000" target="3000" />
   <PlaybackRate min="0.96" max="1.04"/>
</ServiceDescription>

Example code

Latency on Live must be enabled while setting up the player for each stream. Once the player is set up and loaded, the desired Service Description values can be accessed from the Manifest as demonstrated below and are part of the example code.

JS
let maxPlayRate;
let maxPlayLatency;
if(manifest) {
    if(manifest.serviceDescription) {
        maxPlayRate = manifest.serviceDescription.maxPlaybackRate;
        maxPlayLatency = manifest.serviceDescription.maxLatency;
    }
}

Live Sync mode is always true by default, which means the player obliges the service description values in the Manifest under the ServiceDescription tag. If the Live Sync Mode is set to false, the default MaxPlaybackSpeed is 1.1, and MaxLatency is 5000, irrespective of the ServiceDescription tag values.

If the application wants to disable this feature and keep it to normal low latency playback, with a catch-up speed of 1x, despite the content manifest having the Service Description tag, it needs to deactivate it by configuring the player streaming configuration during player setup.

JS
player.otvtoolkit().configure({streaming: {liveSync: true, liveSyncPlaybackRate: 1}})

By setting the above configuration, the ServiceDescription tag values are overridden, and the player speed is maintained at 1x, which never catches up to the live.

This feature is enabled in the player by default, i.e., it is automatically enabled for any live stream containing the ServiceDescription tag, regardless of whether low latency is enabled.

Currently, there is no support for target Latency and min PlaybackRate, which may cause the playback latency to go up abruptly depending on the network bandwidth, content resolution, larger segment size, etc., causing the playbackSpeed to remain on the higher boundary as per the ServiceDescription tag in the Manifest.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.