我在这里为此创建了一个JS小提琴:
http://jsfiddle.net/lindseymysse/6C65Y/1/
错误:
从昨天晚上开始,我正在处理的网站上的一些视频停止为用户加载。我们正在使用iframe嵌入,并尝试用html5做尽可能多的事情。
要重现此错误,请执行以下操作:
如果用户是
-
未注册/尚未决定打开 html5 视频或
-
用户已打开html5试用版,视频将无法在MacBook上播放Chrome、Firefox 或 Safari。
或者(如果他们已经注册了 html5 试用版(刚刚关闭,则嵌入将起作用
一些线索:
来自损坏视频的调试如下所示:
- 调试播放质量=小
- 斯科维尔=1
- cfps=0
- pd=0
- MOS=0
- 调试闪存版本=MAC 11%2C2%2C202%2C235
- fs=0
- hl=en US
- 调试日期=5月10日星期四 14%3A40%3A14 GMT%2D0700 2012
- iframe=1
- 乳=空
- 视频帧数=0
- vq=auto
- h=355
- 舞台帧数=24
- 调试错误 = 未指定
- tpmt=0
- framer=http%253A%252F%252Ffiddle%2Ejshell%2Enet%252FunPrz%252F5%252Fshow%252F
- 体积=100
- 丢弃的帧数=0
- w=473
- el=详细信息页
- 屏幕W=1440
- 屏幕=900
- 调试视频 ID =
- 玩家 w=640
- 调试源数据=
更多:
- Mozilla 给出错误: -- 意外值对齐解析 preserveAspectRatio 属性。
- 我们发现此嵌入被破坏的视频即使在html5试用版中也作为Flash视频播放。
请参阅我的 jsFiddle 以重现错误。
是什么原因造成的?此错误不会在youtube api onError调用中抛出错误,有没有办法发现它以便我们处理这个问题?
YouTube确实在过去几天更改了他们的API,并且HTML5视频播放器的Flash回退失败了。其他用户报告黑色或空白的YouTube播放器屏幕和0:00的视频持续时间,这是SWF播放器出现后此错误的其他症状。
我用一种解决方法更新了您的 jsfiddle.net,即仅从初始启动开始使用 Flash 播放器,然后防止从 Flash 问题回退,直到它得到解决。
它保留您的/embed/方案,因此使用的任何自定义 API 仍然有效。
解决方法添加没有其他视频值的播放列表参数和一个逗号,通常用于分隔播放列表中的视频,以便实现播放列表 1
。当然,如果您已经在使用播放列表,那么您将不会受到此错误的影响,因为播放列表是目前唯一强制 Flash 播放器在/embed/URL 中正确呈现的 Flash 独占项目。
以下是更新:
http://jsfiddle.net/6C65Y/3/
状态报告:此 YouTube API 错误不再是问题。