html5 – 客户端在使用jplayer将m4v从apache流式传输到chrome时关闭连接

前端之家收集整理的这篇文章主要介绍了html5 – 客户端在使用jplayer将m4v从apache流式传输到chrome时关闭连接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经设置了一个测试网站..我正在尝试实现一个 HTML5视频在我正在开发的网站上播放,我想使用jplayer,以便它回退到swf文件,如果html5视频是不支持.

http://dev.johnhunt.com.au/是我到目前为止所拥有的.如果我为视频提供http://www.jplayer.org/video/m4v/Big_Buck_Bunny_Trailer_480x270_h264aac.m4v,它工作正常,但如果我在我自己的服务器上托管它,它根本就不会开始播放.

mime类型绝对正确,视频/ m4v.查尔斯代理说:

Client closed connection before receiving entire response

事实上,这是整个请求:

GET /Big_Buck_Bunny_Trailer_480x270_h264aac.m4v HTTP/1.1
Host    dev.johnhunt.com.au
Cache-Control   no-cache
Accept-Encoding identity;q=1,*;q=0
Pragma  no-cache
User-Agent  Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.4 (KHTML,like Gecko) Chrome/22.0.1229.79 Safari/537.4
Accept  */*
Referer http://dev.johnhunt.com.au/
Accept-Language en-US,en;q=0.8
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie  __utma=120066461.1007786402.1349773481.1349773481.1349786970.2; __utmb=120066461.1.10.1349786970; __utmc=120066461; __utmz=120066461.1349773481.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
Range   bytes=0-

并回应:

Some binary data (maybe 3 or 4kbytes long)

看起来不错.我认为’客户’是我的Chrome浏览器..它为什么放弃?我怎样才能解决这个问题?这让我很生气,因为我在谷歌上找不到任何东西:(

当我在jplayer.org上使用m4v文件时,这是请求:

GET /video/m4v/Big_Buck_Bunny_Trailer_480x270_h264aac.m4v HTTP/1.1
Host    www.jplayer.org
Cache-Control   no-cache
Accept-Encoding identity;q=1,*;q=0.3
Cookie  __utma=24821473.325705124.1349773077.1349773077.1349773077.1; __utmc=24821473; __utmz=24821473.1349773077.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided)
Range   bytes=0-

响应:

Lots of binary data (very long.. working)

干杯,
约翰.

解决方法

我发现当Chrome浏览器发送“Range:bytes = 0-”请求时,您不应该回复“206 Partial Content”响应.要让Chrome正确处理数据,您需要发回“200 OK”标题.

根据规格,我不知道这是否正确,但Chrome可以正常工作,并且似乎没有破坏其他浏览器.

猜你在找的HTML5相关文章