What is the current best practice for synchronisin

2019-08-22 02:41发布

问题:

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.

回答1:

Synching video across clients is not easy but there are some examples.

This is an open source client based solution:

  • https://github.com/Syncplay/syncplay

And these are a couple of browser based ones:

  • https://pdfs.semanticscholar.org/c0bc/b42b63b6d88ebbb5fb4c6686662300d3611b.pdf
  • https://github.com/povdocs/sync-player

As you suggest some sort of feedback either to a master or to a synching server along with responses suggesting synch adjustments is the most frequent approach.