Technically syncing is easy, websocket + Youtube API. The biggest issue for UX though is that a user should click on the video at least once. Otherwise, Firefox will block sync commands.
The latency can be 3-5 seconds for the first sync, when the video is initialized and unbuffered. For the next syncs its < 1 second.
The latency can be 3-5 seconds for the first sync, when the video is initialized and unbuffered. For the next syncs its < 1 second.