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