Показывать рекламу в середине ролика с помощью плагина

Попытка разработать собственный видеоплеер, используя Vast 2.0 и video.js. Я добился успеха в показе предварительной рекламы с помощью кнопки "Пропустить".

Я показываю мои собственные видео в качестве рекламы.

Может ли кто-нибудь помочь мне в том, как я могу показать несколько промежуточных бросков, как через несколько минут?

Обновление XML-файла для справки:

<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:noNamespaceSchemaLocation="vast.xsd">

    <Ad id="176" >

        <InLine>
            <AdSystem version="2.0">ONION</AdSystem>
            <AdTitle>In-Stream Video</AdTitle>
            <Description>Grand Budapest Hotel_Fridays</Description>

            <Impression><![CDATA[http://reporting.theonion.com/videoadtracker/track.gif?videoAd=176&event=impression]]></Impression>
            <Creatives>
                <Creative sequence="1" AdID="">
                    <Linear>
                        <Duration>00:00:10</Duration>
                        <TrackingEvents>
                            <Tracking event="start"><![CDATA[http://reporting.theonion.com/videoadtracker/track.gif?videoAd=176&event=start]]></Tracking>

                            <Tracking event="start"><![CDATA[http://ad.doubleclick.net/ddm/trackimp/N2998.Onion/B7912634.16;dc_trk_aid=279982600;dc_trk_cid=57339121;ord=[timestamp]]]></Tracking>





                        </TrackingEvents>

                        <VideoClicks>
                            <ClickThrough><![CDATA[http://ad.doubleclick.net/ddm/trackclk/N2998.Onion/B7912634.16;dc_trk_aid=279982600;dc_trk_cid=57339121;ord=[timestamp]?http://www.foxsearchlight.com/thegrandbudapesthotel]]></ClickThrough>
                        </VideoClicks>

                        <MediaFiles>

                            <MediaFile id="1" delivery="progressive" type="video/mp4"><![CDATA[media/test.mp4]]></MediaFile>

                            <MediaFile id="1" delivery="progressive" type="video/webm"><![CDATA[http://v.theonion.com/onionmedia/videos/videometa/1521/test.webm]]></MediaFile>

                        </MediaFiles>
                    </Linear>
                </Creative>
            </Creatives>
      </InLine>

    </Ad>

</VAST>

2 ответа

С video.js вы можете использовать событие timeupdate, чтобы запускать все, что вы хотите во время занавеса, проверяя значение currentTime.

Попробуйте следующий фрагмент и посмотрите на его консоль, на 5-й секунде вы можете активировать показ своих объявлений и т. Д.

var player = videojs('my-video');
player.on('timeupdate', function(){
  var currentTime = this.currentTime();
  console.log(currentTime)
  if(Math.round(currentTime)===5){
    console.info('Trigger your code here');
  }
});
<link href="https://vjs.zencdn.net/6.6.3/video-js.css" rel="stylesheet"/>
<script src="https://vjs.zencdn.net/6.6.3/video.js"></script>


<video id="my-video" class="video-js" controls preload="auto" width="640" height="264"
  poster="https://vjs.zencdn.net/v/oceans.png" data-setup="{}">
    <source src="https://vjs.zencdn.net/v/oceans.mp4" type='video/mp4'>
    <p class="vjs-no-js">
      To view this video please enable JavaScript, and consider upgrading to a web browser that
      <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
    </p>
  </video>

Информация о том, когда реклама VAST должна воспроизводиться, является не частью VAST-XML, а частью реализации и конфигурации проигрывателя. Клиент должен иметь возможность решать, когда он хочет воспроизвести рекламу.

Просто найдите середину своего видео или определите фиксированное количество времени для потоков и начните показ рекламы. Поскольку у вас уже есть игрок, это должно быть легкой задачей.

Другие вопросы по тегам