Synchronization SDK overview

Overview

The Sync SDK will allow you to create groups of people that are watching a video stream and synchronize the content the group is watching across all platforms.

To get the Web SDK login to your private area to receive the NPM package token, the API_KEY, and API_SECRET.

The sync platform

To synchronize the content across all players in the group we connect to the players, extract the relevant time data, and manage it on a dedicated back-end.

The sync SDK’s architecture is a client-server architecture:

  • Clients - Web SDK, iOS, and Android SDKs

  • Server - Provides the synchronization logic and reporting service as to the Quality of Service

System use case

The system use case is the following - Allow a group of Players to play the same video content in a synchronized manner for the entire group.

Groups can be as large as ten of thousands of Players or as small as two, which will depend on your specific use case.

This use case will fit well for:

  • Sport matches

  • Live concerts

  • Live and breaking news

Or any other content you believe requires synchronization.

System use case - Synchronization

Benefits

Synchronization accuracy

Synchronization between the clients in the session of about 40-100 milliseconds.

Different synchronization algorithms

  • Follow the leader - the first client that logs in the session will dictate the speed

  • Average - calculates the average common timeline of the clients as the synchronization timeline

  • Weighted average - calculates the average common timeline of the clients with respect to the platform they come from (Web, iOS, or Android) as the synchronization timeline

  • Linear - all the clients will be synchronized independently with the server timeline

Reporting (In progress)

A reporting API access that lets you follow the synchronization accuracy of every group and every client in the system.

Player support

Any player can be used as long as it supports getting the absolute current position of the stream and changing playback rate.

Absolute current position for the stream can be obtained using various options, for example:

  • Using EXT-X-PROGRAM-DATE-TIME tag

  • Using ID3 tags

  • Using initial PTS as an offset

To use any player you will need to extend our object model and implement all the required methods.

For more information have a look at the Tutorials and API References.

Messaging

As all the clients are connected through our system you will be able to send control messages of different types from client to client or broadcast messages.

This will allow you the following

  • Have control over the various player and functionalities

  • Create a chat between clients

  • Create your own custom messaging protocol between clients

Support

Need technical support? contact us at Support@sceenic.co.

Last updated