javascript - 如果视频位于 OS X Chrome 的浏览器缓存中,Video.js 将无法播放

标签 javascript video.js

该问题是间歇性的,但 video.js 无法加载和播放在 OS X 的 Chrome 中缓存的 mp4。这是我目前所知道的:

  • 禁用缓存(当 DevTools 打开时)允许视频在重新加载时 100% 的时间播放
  • 如果未禁用缓存,并且手动清除缓存,问题仍然会发生
  • 关闭并重新启动 Chrome 即可解决该问题,直至下一次页面刷新
  • 将 ?nocache=20131028-084318 附加到源网址并不能解决问题。
  • 使用 Charles 代理观看 HTTP 请求,我发现成功运行后,HTTP 请求会发送到 Brightcove(我的视频主机)。刷新失败时,请求永远不会发生。
  • 成功运行 VideoJS 事件序列时:
    • 加载开始
    • 持续时间变化
    • 加载元数据
    • 加载数据
  • 失败:
    • 加载开始
  • 我尝试了多种设置视频元素的方法,包括此处提到的一种方法,Video.js Stalling during file load on iOS 甚至这里提到的最基本的设置,https://github.com/videojs/video.js/blob/master/docs/setup.md后者似乎效果更好;但是,一旦浏览器进入不良状态,就需要清除缓存并重新启动浏览器。

最佳答案

我遇到了同样的问题,但是是在 Windows 版 Chrome 中。我首先注意到它只会在开发工具打开时加载,然后我看到您的问题并意识到开发工具正在绕过缓存。

关于javascript - 如果视频位于 OS X Chrome 的浏览器缓存中,Video.js 将无法播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19636637/

相关文章:

javascript - video-js endcard插件为什么要给播放器添加原生控件?

javascript - Three.js导入Collada动画不起作用

javascript - 通过键获取对象,然后从同一对象的其他键获取值

javascript - 比较两个数组,如果两个数组中至少有一个则返回真

javascript - 极其奇怪的行为 : IE11 seems to create an invisible tab when scripts are blocked and then allowed - how to fix it?

javascript - play() promise 未解决

javascript - jquery.min.js 冲突

javascript - 获取 Javascript 中其他位置的偏移量

javascript - Video.js 在播放时进入全屏

video.js - 为 video.js 创建播放列表