For example, 3 users are streaming a video from a remote url. 1 user is master, and can play, pause, and set the current playback position. They are talking to each other while they watch (voip), so their video streams need to be synced.
A solution off the top of my head is that the master broadcasts high-level actions (play, stop, scrub position). For minor deviations, the clients could regularly ping the master to get his playback position, and to apply a speed factor to their playback to speed up or slow down to keep in sync.
I can find a few papers on the subject (eg, https://www.sciencedirect.com/science/article/pii/S0306437908000525, https://link.springer.com/article/10.1007/s00530-012-0278-9) but nothing in terms of example projects or community discussion.
Any guidance would be appreciated.