MMGP logo
Присоединяйтесь к нашему инвестиционному форуму, на котором уже 649,421 пользователей. Чтобы получить доступ ко многим закрытым разделам и начать общение - зарегистрируйтесь прямо сейчас.
Все, что относится к Web-Программированию (PHP, Perl, JavaScript, MySQL, XML и т.д.)
Первый пост Опции темы
Старый 03.11.2017, 03:54
#1
Интересующийся
 
Регистрация: 03.11.2017
Сообщений: 11
Благодарностей: 0
Доброго времени суток! Подскажите как реализовать на сайте воспроизведение видео по расписанию?
На сервере будет храниться видеофайл, который должен ежедневно воспроизводиться в одно и тоже время.
Как быть с прокруткой видео до определённого момента? Например если видео началось в 17:00, а пользователь зашел на сайт в 17:20, тогда он должен смотреть видео начиная с 20-той минуты, как это реализовать средствами php и javascript?

В принципе как вариант это можно реализовать используя видео с ютуба youtube. com/embed/xFa2_PVMeDQ?start=30
get параметр (start=) отвечает за воспроизведение видео с указанной секунды, тогда понадобится скрипт, который будет отсчитывать время с начала трансляции (с 17:00) и дописывать его в параметр (start=) и тогда если посетитель зайдет на сайт в 17:20 видео начнется именно с 20 минуты.
Grasss вне форума
Старый 07.11.2017, 19:36
#2
Интересующийся
 
Регистрация: 06.11.2017
Сообщений: 11
Благодарностей: 4
Для данной задачи, как и для любой связанной с видео, лучше конечно пользоваться сервисом ютуба.

Если говорить о расчете задержки, то можно узнать кол-во прошедших секунд таким способом
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>";
}*
bitcointrain вне форума
Войдите, чтобы оставить комментарий.
Быстрый переход