Intra-Home Media Synchronisation Design

Wikis > DMApp Synchronisation > Intra-Home Media Synchronisation Design

This page describes the interactions between services and components to enable frame-accurate inter-device synchronisation in the home.
intra home sync design

Cloud Services

The Timeline Services causes DMappComponents to be loaded onto the TV and the companion device (via the Layout service). The WallClock Sync service uses a web-sockets-based protocol to establish a common time reference for the Timeline Service and the TV. This is required so that the TV can report the progress of the synchronisation timeline (main media object timeline on TV) to the Timeline Service. In this way, the Timeline Service is

ServicesDescriptionAvailable implementationsRepositoryResponsibility
WallClock Sync Service
WC-Sync protocol
A protocol to perform Time SynchronisationBBC - Rajiv
Synchronisation ServiceA service that enables the wallclock sync - Rajiv
Timeline Service - Jack

TV APIs and Components

These are APIs for components and services made available to an HbbTV web App as JS libraries.

TV Components/APIsDescriptionAvailable ImplementationsRepositoryResponsibility
MediaSynchroniser APIA MediaSynchroniser JS singleton that allows the TV app to use DVB-CSS TV sync functionalityDVB CSS "TV in a browser": dvbcsstv-lib JS library - Matt
Device Discovery APIDIAL discovery serverFraunhofer Fokus node-hbbtv Michael/Christoph
HbbTV Web Appan app that runs in an HbbTV browser envrionmentBT - Jonathan
CWI - Jack
2IMMClientA component that performs layout changes, (un)loads DMApp components and schedules media playback.Christoph’s JS schedulerBT - Jonathan
CWI - Jack
DMAppComponentBT - Jonathan
TimelineStatus (timeline.js)a simple component to report the TV timeline progress (wc time, media time) as a tuple to the Timeline Service

Companion APIs and Components

These are native and web-based components and APIs that will synchronise the playback of DMApp components based on timeline updates received from the TV via the DVB-CSS suite of protocols.

Companion Components/APIsDescriptionAvailable implementationsRepositoryResponsibility
CSS-SyncKit Native Library (iOS, Android)A native library that performs WallClock sync and timeline sync with a DVB-CSS TVdvbcss-synckit-ios (BBC)
dvbcss-synckit-android (IRT)
BBC - Rajiv
IRT - Michael/Fabian
Simple CSS-SyncKit JS APIA basic API to allow an object to register for TV timeline updatesios-sync.js (BBC)BBC - Rajiv
IRT - Michael/Fabian
CSS-SyncKit JS API (synckit.js) (CSASynchroniser, SyncController JS objects)An API that allows a sync controller object to be created and plugged into DMAppComponents for synchronisation with a DVB-CSS TVBBC - Rajiv
IRT - Michael/Fabian
Native Media Players JS APIAPI to load and control native media players from JSiOS, Android AVPlayer, dvbcss-synckit-ios audio player
Device Discovery JS APIAPI to discover HbbTV devicesdvbcss-synckit-ios (BBC)
cordova-plugin-discovery (IRT) - Chistoph
DMAppComponent MediaControl APIAPI to control the playback of media in a DMAppComponentBT-Jonathan
Recent Posts
Contact Us

We're not around right now. But you can send us an email and we'll get back to you, asap.

Not readable? Change text. captcha txt

Start typing and press Enter to search