从Rackspace云文件播放视频时,Chrome会冻结

Ben*_*Ben 13 html5 google-chrome freeze html5-video

当我将它们托管在Rackspace cloudfiles服务器上时,似乎无法使用html5视频标签播放视频.

在常规主机上完美运行,但只要我将视频与rackspace cdn url相关联,Chrome就会冻结(完全冻结,网站用户界面完全被阻止 - 过了一段时间Chrome会弹出一条消息说"以下页面已变得反应迟钝bla bla bla ").

视频文件很好,因为它与我链接到常规主机时相同.

对请求进行了一些间谍活动,我最初认为问题是webm文件默认服务于application/octet-stream mime-type.我向机架空间寄出了一张票,他们给了我一种在上传文件时强制mime类型的方法.这样做,文件现在正确发送为视频/ webm ..但Chrome仍然冻结.

知道这里可能出现什么问题吗?

编辑:使用iheartvideo,从rackspace加载视频会触发MEDIA_ERR_SRC_NOT_SUPPORTED.本地Web服务器的相同视频完全正常(??)

编辑2:在最新主流镀铬的Mac和Windows上都会发生

编辑3:卷曲 - 我的结果:

Rackspace(没有工作):

HTTP/1.1 200 OK
Server: nginx/0.7.65
Content-Type: video/webm
Last-Modified: Thu, 24 Feb 2011 23:45:12 GMT
ETag: 7029f83b241aa691859012dfa047e20d
Content-Length: 20173074
Cache-Control: public, max-age=900
Expires: Fri, 25 Feb 2011 01:32:11 GMT
Date: Fri, 25 Feb 2011 01:17:11 GMT
Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)

Web服务器(工作)

HTTP/1.1 200 OK
Date: Fri, 25 Feb 2011 01:17:51 GMT
Server: Apache
Last-Modified: Thu, 24 Feb 2011 03:56:26 GMT
ETag: "11a0b47-133d112-49cff32940e80"
Accept-Ranges: bytes
Content-Length: 20173074
Content-Type: text/plain
Run Code Online (Sandbox Code Playgroud)

编辑4:对于那些感兴趣的人,这是rackscape工作人员告诉我要在文件上设置webm内容类型的内容:

文件浏览器不够智能,无法确定内容类型video/webm.不幸的是,没有办法改变已经上传的文件的内容类型.

您需要使用其中一个API重新上传具有正确内容类型的文件.

如果可用,您还可以使用linux/MacOS命令行中的curl.

使用您的用户名和api密钥运行此命令...

curl -I -X GET -H "X-Auth-User: USERNAME" -H "X-Auth-Key: API_KEY" https://auth.api.rackspacecloud.com/v1.0
Run Code Online (Sandbox Code Playgroud)

从输出中有2个重要值.

X-Storage-Url: https://storage101.......
X-Storage-Token: Long hash
Run Code Online (Sandbox Code Playgroud)

你可以上传文件,

curl -X PUT -T test.webm -H "Content-Type: video/webm" -H "Content-Length: FILESIZEINBYTE" -H "X-Auth-Token: TOKEN FROM RESPONSE ABOVE" https://STORAGE URL FROM RESPONSE ABOVE/test.webm
Run Code Online (Sandbox Code Playgroud)

您必须指定内容类型,并且必须提供正在上载的内容的正确字节长度.如果不是,您将收到无效的请求错误.

小智 0

我没有具体的答案,只是一些想法:

  1. 那么在其他浏览器中呢?
  2. 它在 Web 服务器上工作,上面的内容类型是文本/纯文本,那么为什么要强制使用视频/WebM?
  3. Rackspace 可以为您提供(或者您可以在他们的网站或其他人的网站上找到)一些可以播放的示例内容,以便您可以检查它吗?

您可以尝试 Brightcove 或 Bitgravity 的免费试用版,看看是否有效...