Для данной задачи, как и для любой связанной с видео, лучше конечно пользоваться сервисом ютуба.
Если говорить о расчете задержки, то можно узнать кол-во прошедших секунд таким способом
PHP код:
Код:
Код:
$startDate*=*DateTime::createFromFormat('Y-m-d*H:i:s',*'2017-10-30*14:20:13');
$seconds*=*time()*-*$startDate->getTimestamp();*
в seconds мы как раз и получим разницу между началом и текущим временем. Если эта разница минусовая, то соответсвенно время еще не пришло и видео показывать рано.
Что касается тех у кого открыт на этой странице браузер и кто ждет начала, то можно им просто обновлять страницу каждые 30 секунд если видео еще не началось. в итоге все будет выглядеть примерно так
PHP код:
Код:
Код:
$dateString*=*'2017-10-30*14:20:13';
$startDate*=*DateTime::createFromFormat('Y-m-d*H:i:s',*$dateString);
$seconds*=*time()*-*$startDate->getTimestamp();
if*($seconds*>=*0)*{
********echo*"<iframe*src='youtube.*com/embed/xFa2_PVMeDQ?start={$seconds}'></iframe>";
}*else*{
********echo*"Видео*начнется*в*{$dateString}<script>setTimeout(function()*{document.location.reload()},*30*1000);</script>";
}*