How To Set Up A Screen Sync WebSocket Connection
Please note - This is our current method for screen sync. Improvements are currently being worked on and compatibility may be expanded in the future.
In the near future, the big improvement to Android will remove the need for an external Windows device that acts as the local server. This would be handled by the Android device itself, similar to the way Tizen 7 currently works.
Prerequisites:
Websocket configuration is only supported on the following app versions:
● Samsung Tizen 7 (v 5.2.31+)
● Samsung Tizen 6.5 (v 5.2.31+) - External Server
● Android (v 5.2.31+) - External Server
For Android devices, you must set up a local WebSocket server on an external
Windows device in order to send sync commands.
Please note, if your operating system is not listed above then this is not something that NowSignage can confirm compatibility on and we have not tested internally.
Firewall & Network Requirements
For the NowSignage player to function correctly, certain firewall and network
configurations are necessary. For a complete list of domains and ports that need to
be whitelisted for general player operations, please refer to the full guide:
https://knowledgebase.nowsignage.com/firewall-installation-requirements
Screen Sync Local Server Specific Rules
For the screen sync to work, you must ensure the following local network rules are in
place:
● Enable Internal LAN Communication: Communication between devices on the
local area network (LAN) must be permitted.
● Player Reachability: The player must be reachable on the network. The
NowSignage app listens for commands on port 5001. The local server will be
opened locally using the device's IP address and port 5001 to communicate
with other devices on the local network.
Step 1: Prepare Screens for Sync
1. Create 2+ screens in the CMS.
2. 3. 4. Create a playlist/playlists and add content with matching duration so they’ll sync
properly. Schedule these playlists on the screens.
Navigate to Apps and ensure Screen Sync is installed on your account profile.
Click Screen Sync to access the app, then select “Add Sync Group” and give the
group a name.
Step 2: Initialise the Server (If running on Tizen 7, skip to step four)
1. On a Windows PC, download and install the latest version of Node.js from
https://nodejs.org/en . (you can test if it installed correctly by opening Command
Prompt and typing the command “node -v”)
2. Download our “screen_sync.js” script from this link
https://drive.google.com/file/d/1iuzgBUb8sMIF6ENM40YvUuamFPFuy9lG/view
3. Create a folder for your server to run from (e.g. C:\Users\<user>\Folder Name) and
note down the folder location path.
4. Copy the file screen_sync.js into your folder.
5. Open Command Prompt, and run the following commands:
cd C:\Users\<user>\Folder Name [Replace underlined text with your folder location]
npm init -y
npm install ws
node screen_sync.js
Step 3: Connect the Screens to the Server
1. 2. Leave the server running, and open up another Command Prompt window.
Run the command “ipconfig” and look for the IPv4 field for your private IP address
(e.g. 192.168.1.95)
3. In the CMS open Screen Sync, and copy the IP address from the device being used
as the server, followed by “:5001” into the “WebSocket Server Address” field. This
should look like “192.xxx.x.x:5001” where 192.xxx.x.x is the device IP. After this
click Update at the bottom of the screen to finalise the changes.
Step 4: Add Screens to Sync Group
1. In your screen sync group, add all screens to be synchronised by using the
navigation arrows or search function, then clicking on the plus icon next to its name.
2. Click Update, and reboot all screens in the screen group to initiate connection to the
server. After rebooting, it may take a few minutes for all screens to sync.
Note: For Samsung Tizen 7 Only:
The WebSocket server will be set up locally on the first screen to be added (this screen will function as the master, and broadcast the sync commands to all other peripheral screens).
Troubleshooting:
Q. Delays in content synchronisation:
A. Verify that the date and time settings on your hardware are consistent across all media players and System on Chip (SoC) screens.