Перейти к содержимому

Фотография
- - - - -

Трансляция видео по расписанию (автовебинар)


  • Вы не можете создать новую тему
  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 Grasss

Grasss

    Прохожий

    Топикстартер
  • Участник
  • 0
    12 сообщ.

Отправлено 02 Ноябрь 2017 в 22:06

Доброго времени суток! 
Подскажите как реализовать на сайте трансляцию видео по расписанию? 
На сервере будет храниться видеофайл, который нужно транслировать на сайт в определённое время. 
Как быть с прокруткой видео до определённого момента? Например если видео началось в 17:00, а пользователь зашел на сайт в 17:20, тогда он должен смотреть видео начиная с 20-той минуты, как это реализовать?


  • 0

Спонсор

#2 BaNru

BaNru

    Пацифизжу

  • суперМодератор
  • 980
    3 506 сообщ.

Отправлено 02 Ноябрь 2017 в 22:31

Ну так перематывай плеер на необходимое время. В чем именно проблема реализации?


  • 0

#3 Grasss

Grasss

    Прохожий

    Топикстартер
  • Участник
  • 0
    12 сообщ.

Отправлено 02 Ноябрь 2017 в 22:54

Ну так перематывай плеер на необходимое время. В чем именно проблема реализации?

Это должно выглядеть как трансляция, а не просто воспроизведение видео, которое можно промотать.

Трансляция начинается в 17:00 и заканчивается в 18:30


Сообщение отредактировал Grasss: 02 Ноябрь 2017 в 22:57

  • 0

#4 BaNru

BaNru

    Пацифизжу

  • суперМодератор
  • 980
    3 506 сообщ.

Отправлено 03 Ноябрь 2017 в 04:24

Ну так запрети перемотку.

Иначе, если хочешь именно как вещание - разворачивай любой stream media сервер.

Либо попробуй почитать

https://habrahabr.ru/post/162237/

https://habrahabr.ru/post/78677/


  • 0

#5 Grasss

Grasss

    Прохожий

    Топикстартер
  • Участник
  • 0
    12 сообщ.

Отправлено 03 Ноябрь 2017 в 15:05

Ну так запрети перемотку.

Иначе, если хочешь именно как вещание - разворачивай любой stream media сервер.

Либо попробуй почитать

https://habrahabr.ru/post/162237/

https://habrahabr.ru/post/78677/

Вот тут нашел что-то похожее на мою тему https://ru.stackover...исанию-на-сайте


  • 0

#6 BaNru

BaNru

    Пацифизжу

  • суперМодератор
  • 980
    3 506 сообщ.

Отправлено 03 Ноябрь 2017 в 19:20

Ну так это то, на что я изначально и намекал.

Это не решит вашу проблему.


  • 0

#7 Grasss

Grasss

    Прохожий

    Топикстартер
  • Участник
  • 0
    12 сообщ.

Отправлено 03 Ноябрь 2017 в 19:48

Ну так это то, на что я изначально и намекал.

Это не решит вашу проблему.

<script>
            var start_hour = 17;
            var end_hour = 19
            
            var tag = document.createElement('script');
            tag.src = "iframe_api";
            var firstScriptTag = document.getElementsByTagName('script')[0];
            firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
 
            var player;
            function onYouTubeIframeAPIReady() {
                player = new YT.Player('player', {
                    
                    height: '590',
                    playerVars: { 'autoplay': 0, 'controls': 0, 'showinfo': 0, 'rel': 0, 'modestbranding': 1, 'hd': 1, 'cc_load_policy': 1, 'autoplay': 1, 'enablejsapi': 1, 'loop':1},
                    width: '1050',
                    align: 'center',
                    videoId: 'dwiGTtbo6WM',
                    events: {
                        'onReady': onPlayerReady,
                        'onStateChange': onPlayerStateChange
                    }
                });
            }
             
            function onPlayerReady(event) {
                event.target.playVideo();
            }
 
            var jump = false;
            function onPlayerStateChange(event) {
                if (event.data == YT.PlayerState.PLAYING && !jump) {
                    player.seekTo(getSeconds());
                    jump = true;
                }
            }
            function stopVideo() {
                player.stopVideo();
            }
 
            var d = new Date();
            var h = d.getHours();
            var m = d.getMinutes();
            function getSeconds() {
                if (h >= end_hour && m) return 0;
                if (h >= start_hour) {
                    var time_now = d;
                    var time_start = new Date(d.getFullYear(), d.getMonth(), d.getDate(), start_hour, 0);
                    var time_end = new Date(d.getFullYear(), d.getMonth(), d.getDate(), end_hour, 0);
                    return ((time_end - time_start) - (time_end - time_now)) / 1000;
                }
            }
 
    </script>

Скрипт работает, он отсчитывает время с начала трансляции и когда пользователь заходит на сайт спустя 30мин, ему открывается момент именно с 30 минуты, в принципе полдела сделано.


Сообщение отредактировал Grasss: 03 Ноябрь 2017 в 19:50

  • 0

#8 negenka

negenka

    Прохожий

  • Участник
  • 0
    5 сообщ.

Отправлено 20 Ноябрь 2017 в 05:14

а разве пользователи не поймут что это не прямое вещание а не запись???


  • 0

#9 Grasss

Grasss

    Прохожий

    Топикстартер
  • Участник
  • 0
    12 сообщ.

Отправлено 20 Ноябрь 2017 в 14:36

а разве пользователи не поймут что это не прямое вещание а не запись???

Нет, скрипт делает запись трансляцией, сверху накладывается строка состояния <<в эфире>> и все остальные элементы управления скрыты, нельзя ни остановить, ни перемотать, получается как телевещание, началось в 08-00, закончилось в 10-00, если пользователь открыл страницу в 9:59, то через минуту всё закончится.


Сообщение отредактировал Grasss: 20 Ноябрь 2017 в 14:46

  • 0



Похожие темы Свернуть

Статистика

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей