Как реализовать синхронный просмотр видео с возможностью поставить на паузу один кадр для всех зрителей?
Подскажите, как реализовать идею. Есть страница, на ней видео, на нем может находится без разницы сколько человек, видео для всех продолжается на одном и том же моменте и также каждый пользователь может его поставить на паузу для всех.
синхронизация. У всех участников должно быть точное общее время. Для этого есть протокол NTP (Network Time Protocol) — позволяющий примерно синхронизироваться, несмотря на тормоза сети.
взаимодействие в реальном времени. Про веб-сокеты, как вариант, уже написали.
пауза одним из зрителей помимо команды «встать на паузу» отправляет ещё и точную временную метку в видео у того, кто поставил на паузу. У остальных видео отползает на этот же кадр. Т.к. небольшой рассинхрон неизбежен.
запуск видео у присоединившегося зрителя: синхронизация часов со всеми, понимание времени-в-видео относительно текущего времени, подгонка его плеера под это смещение.
Я думал это проще, просто на запуске видео в дб кинуть время, кто заходит на страницу его подхватывает с дб. А паузу сделать тупым методом, по типу кидать паузу в дб и сканить каждую секунду есть ли пауза в дб. Потому что на странице все равно кроме видоса и этой задумки нет, так что даже асинхрон не нужен
Huntgold, плохая затея. Если уж делать что-то в реальном времени, то именно сокеты – чтобы инициатива могла прилететь и с сервера, когда там что-то произошло.