【问题标题】:VAST Flash Video Ad not playing in Chrome with Video.jsVAST Flash 视频广告无法在带有 Video.js 的 Chrome 中播放
【发布时间】:2015-04-18 11:25:17
【问题描述】:

使用the Onion's VAST plugin for Video.js 中的示例,我将 VAST xml 文件切换为我自己的一个文件,该文件有一个用于广告视频源的 Flash 视频。当我在 Chrome 中播放此视频时,我看到视频开始播放片刻,然后停止并变黑。错误是:

Video.js: currentTime unavailable on Flash playback technology element.

奇怪的是,这个设置在 OSX 上的 Safari 8 中完美运行。

对这里发生的事情有什么想法吗?

更新:发现问题的根源在于我不包括 videoJS CSS。一旦我把它放回去,flash 视频广告就会再次播放。 不包含 CSS 怎么会破坏这个? 同样,不包含这个 CSS 只会破坏 Chrome 上的播放。

【问题讨论】:

  • @akmozo 这是一个 FLV 视频。当我在 chrome 中尝试演示时,文本变为红色并且没有播放。在 safari 中,我在视频播放器上收到一条错误消息“抱歉,找不到此视频的兼容源和播放技术。请尝试使用其他浏览器,如 Chrome 或下载最新的 Adob​​e Flash Player”
  • 奇怪的是视频在 Safari 中播放良好(在我的代码中,不是示例)。我认为 VAST 插件中存在与视频技术之间切换有关的错误
  • 演示本身可以工作,但是当我使用 FLV 放入我的 VAST 文件时,它会在我测试过的所有浏览器(Windows:IE 和 Chrome,OSX:safari 和 chrome)上破坏它。这是我在他们的 github 上发现的一个与我的问题相似的问题:github.com/theonion/videojs-vast-plugin/issues/60
  • @akmozo - 这是我的大文件:img.mediaplex.com/content/0/14460/…
  • @akmozo 你用的是什么操作系统和浏览器?

标签: css flash video video.js vast


【解决方案1】:

video 元素没有绝对定位时,脚本会崩溃。我还没有深入挖掘到底是什么依赖关系,但我很确定这与“Skip in 5...4...”按钮中的文本更新有关。事实上,你的“分秒”就是一秒——它会一直播放到倒计时尝试前进,然后抛出异常。

如果您包含此样式,视频将播放

.vjs-tech { position: absolute; top:30px }

top: 30px 只是为了让视频不覆盖播放按钮 - 它仍然只适用于 position: absolute,但更难找到按钮)

【讨论】:

  • 添加该样式(不包括其他样式表)确实允许视频播放。但我还是不明白为什么。当我没有任何 CSS 时,我仍然可以在视频下方看到未格式化的“跳过 5...4 ...”文本,在 Safari 中,当它达到 0 并且它确实跳过时,我可以单击该文本广告。为什么它只会破坏 Chrome 中的播放?以及CSS如何在设置skip标签时让JS崩溃?
  • 我开始调试它,但不是很明显,所以需要更多的挖掘才能确定。我最初的猜测是它使用视频的绝对位置来计算另一个元素的位置,并且浏览器处理非绝对元素偏移量的方式不同导致了这个问题。不过,我没有找到任何证据,而且两种浏览器都可能发生异常,但未捕获异常处理的差异意味着 Chrome 会中止视频,而 Safari 不会。再次,猜测。可能是 Video.js 或插件中的错误。
猜你喜欢
  • 1970-01-01
  • 2015-12-11
  • 1970-01-01
  • 2013-06-29
  • 1970-01-01
  • 2013-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多