我尝试在网站上的YouTube视频上使用前贴片广告我正在使用{{1>}的最新版本( 4.11.4 )
由于我在github https://github.com/eXon/videojs-youtube上找到了video.js.
插件,因此播放了Youtube vidoes,而对于AD,部分我使用此videojs-youtube
https://github.com/theonion/videojs-vast-plugin来读取VAST 2.0格式化的xml我从Revive Ad-Server(v.3.0)提供的服务和播放和mp4视频服务。
这是我写的代码:
videojs-vast-plugin
此代码部分有效:我可以成功显示YouTube视频的海报图片,播放自定义视频广告(使用"在2秒内跳过"根据配置提醒),跳过视频,如果我想,但每次AD结束(或它被跳过)我得到这个错误:
//= require video.dev
//= require youtube
//= require vast-client
//= require video.ads
//= require videojs.vast
<video id="video" class="video-js vjs-default-skin" controls preload="auto" width="610" height="343">
</video>
<script>
$(function(){
videojs('video', {plugins: {
ads: {},
vast: {
url: '{{url("ad-url")}}',
skip: 2
}
},
src: "http://www.youtube.com/watch?v={{youtubeCode}}",
techOrder: ["youtube", 'html5', 'flash']
})
});
</script>
通过做一些研究,我认为这个问题可能是第二个没有被重新发挥作用的玩家&#34; AD停止后,但我无法确定在哪里采取行动以防止这种情况发生。我找到了一些答案,他们建议在触发dispose()方法之前添加一个超时,但它分散在所有插件中,我无法理解哪一个实际上正在行动。当我更改&#34; techOrder&#34;中元素的顺序时,特别是当我切换flash和html5的位置时,&#34; vdata1423499421192&#34;错误消失,但视频仍然没有播放。
此外,如果我播放两个普通的mp4视频(mp4视频和mp4广告),组合video.js + vast-plugin工作正常。
编辑: 我在Github上发现这个bug report处理类似的问题,但是提供的解决方案没有运气