Force sychronization of multiple displays, gaurantee 2 or more displays playing exactly synchronized

Registered by graeme

If you start two xibo clients at different intervals, the displays will not be synchronized. It would be good to have them synchronized.

...my understanding is that the displays are supposed to check with the server to see what they should be playing "now". It seems however, this is not enforced to the second or millisecond. Understandbly you may need to estimate for differences in network/computer time and latency for pushes/polling...

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Alex H: This would be virtually impossible to do using the current Xibo architecture. If you need two screens to be absolutely identical, perhaps running XVGA signal via a distribution amp and/or over cat5 cable would be a better option.

Graeme:
Hmm.. Let me retract. Yes, an exact synch would be very difficult, but
using NTP principles you might get something close...

In anycase, i think what I am trying to get at is making the timing
closer..not exact but closer... For instance, if you have a 2hr video
and you start one display, and then 1hr later you add/restart a second
display, then they will be 1hr apart. This could be an issue for
displays in "relatively" close proximity where vga splitting isn't
possible. Exact timing wouldn't be necessary, but some close enough...

Could the clients poll the server occassionally for the correct
playback position? Does the server maintain a playback position?

I realize we can utilize schedules, but that does not necessarily fix
displays that have been added or restarted.

Alex H:
We'll take it on board. The server has no concept of what's playing at the moment, beyond what the schedule says should be run "in some order". The exact implementation is left to the client.

The clients connect on a schedule to find out what media is required, and what is scheduled. If the media is all present and correct, the layout then becomes available to play. If you had a client on a slow link, would you want it to prevent all the other displays playing a layout until it had the media it needed too?

Garrett M:

Perhaps this should just be left to the client? Maybe a simple grouping feature that allows one to group X number of displays together, while still keeping the content separate (3 different screens, 3 different videos, all the same length of time. Would be neat to see those sync). You could then tell the clients what group they're in and what other clients reside in their group and then they can talk to each other to establish timing.

Andrew:
To sync screens with differing content, would it not be possible to give layouts a start time/interval so that when a client is first started it will run as usual out of sync, but at the first specified interval it will start a fresh? Personally I would like my layouts to sync with a 15 minute start time (on the hour, quarter past etc), so that if I restarted a client at 1019, it would essentially restart (sync) at 1030 and then run normally.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.