该问题是间歇性的,但 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/