Показывать рекламу в середине ролика с помощью плагина
Попытка разработать собственный видеоплеер, используя 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, а частью реализации и конфигурации проигрывателя. Клиент должен иметь возможность решать, когда он хочет воспроизвести рекламу.
Просто найдите середину своего видео или определите фиксированное количество времени для потоков и начните показ рекламы. Поскольку у вас уже есть игрок, это должно быть легкой задачей.