Last updated on August 09, 2019

Configure synchronized playback on multiple screens

This article provides the instructions to configure synchronized multimedia playback across multiple screens.

Appspace applies the master-slave clock synchronization when scheduling content to ensure the unified synchronization of content across multiple distributed screens.

Clock synchronization nominates a master device as the timekeeper, while slave devices adjust their time to synchronize with the master device’s time, synchronizing content playback between screens and speakers, preventing latency drift.


Note

If you are looking to configure video walls instead, please refer to Configure video walls.


Prerequisites

  • Appspace 7.1 or higher.

  • An active Appspace account, with sufficient Device IDs to register the devices.

  • Two or more Appspace App supported devices, installed and configured with the Appspace App within the same environment. However, we only support the following:

    Devices Clock Sync Mode Channels Cards
    Playlist Advanced
    Chrome OS with i3 processor and above Master and Slave Video and images Media Zone and Text Widget Announcement card and Data Visualization card
    Android
    LG webOS

    Note

    • Image and video resolution will depend on the individual device’s resolution.
    • Channel scheduling and dayparting are supported in playlist channels.
    • Single channel is supported.

  • The Appspace App supported device must have access to the Appspace platform (cloud/on-prem) via HTTP/HTTPS, and can be used independently.

    Important

    Please ensure your network is configured to allow Appspace whitelist URLs and the relevant network ports.

  • An active Internet connection.


Configuring Synchronized Playback


The table below provides a quick description of all device properties required for configuring synchronized playback for mirrored displays.


Configuration Property Name Property Value Applicability Description
Synchronized Playback player.scheduling.mode synchronized Master and Slave devices Enables the synchronized playback at the layout level.
player.clocksync.mode master Master device Designates each device as a master or slave. Select only one device to act as the master clock.
slave Slave devices
player.clocksync.masterip

xxx.xxx.xxx.xxx

<IP address>

Slave devices only The master device’s IP address is used by the slave device to synchronize the clock.
remote.enable true Master device only Grants permission to slave devices to connect to the master device via WebSocket.
player.content.preloadtime <Number> Master and Slave devices

Defines a pre-load time in seconds for content on the device. This helps adjust content playback on devices that take a longer time to load or play (such as low power devices); playing all content in a synchronized manner.

Recommended preload time:

  • LG WebOS - 3.5 seconds
  • Chrome - 1.5 seconds
  • UWP - at least 2 seconds
Debugging player.clocksync.debug true Optional for Master and Slave devices Enable or disable an overlay on the screen that shows debug information.

Note

  • Content will sync every 30 seconds to ensure smoother experience during mid playback.
  • Layout transitioning and video transitioning will be disabled by default. Image transitioning will still be available.

Follow the instructions below to configure synchronized playback on multiple screens for the Appspace App devices.

  1. Register your master and slave devices individually. Follow the instructions in the Register a device article. (Skip this step if devices have already been registered.)

  2. Once all devices have been registered, navigate to Devices from the Appspace menu.

  3. Select the designated master device, and add in the following device properties:

    • player.scheduling.mode = synchronized
    • player.clocksync.mode = master
    • remote.enable = true
    • player.content.preloadtime = <seconds>

    Note

    Please see the Adding New Device Properties section of the article for instructions.

  4. Select the slave device, and add in the following device properties:

    • player.scheduling.mode = synchronized
    • player.clocksync.mode = slave
    • player.clocksync.masterip = <master IP address>
    • player.content.preloadtime = <seconds>

  5. Repeat Step 4 for all slave devices.


  6. You may now assign the desired channel to the devices.


Debug the Synchronized Playback

To debug synchronized playback on mirrored displays, add the following device property to both the master and slave devices:

player.clocksync.debug = true


Once in debug mode, the debug layer appears on all devices, and switches between four colors (purple, blue, green, black) if all devices are in sync.

The debug layer also displays the following information:

  • Device time.
  • Identify if the device is a master or slave.
  • The Delta (differential) sync between the master, and slave devices.
  • The round-trip between the master, and slave devices.
  • The last updated Delta sync, and round-trip between the master, and slave devices. If the round-trip between devices is larger than 0.5 seconds, the device will show as offline.
  • The master device, will display the number of slave devices connected to it.
  • The slave device, will display the master IP address connected to.