2016-12-31 39 views
0

我用视频容器创建了一个非常简单的网页。 在服务器端,我为每兆字节提供了206分块下载(范围字节的报告是正确的)。如何提供在Firefox和HTML5中分块下载电影?

在Chrome中,此工作正常,Chrome下载3个文件并且 - 我猜 - 当缓存清空时,它会下载另一个文件。 Chrome请求带有“范围:0-”的文件,所以实际上我应该做的是发送整个文件,但我只是不想这样做。 (特别是对于移动用户,我不希望他们开始下载500M文件)

现在在Firefox中,我注意到它只下载第一个文件块。它从不要求下一个。

这里的问题是:如何在所有浏览器中提供分块视频流?

据我所知,我可以选择任何Flash电影播放器​​,但那不是我想要的。我可以做的另一件事是说“仅使用Chrome”(在我的具体情况下,这是一个选项),但这也不是我喜欢的。我喜欢在这里解决基本问题...

谢谢!

+0

只是想添加一个说明,分块编码是非常不同于Range-Bytes。 Chrome截至目前似乎不支持分块编码。 https://en.wikipedia.org/wiki/Chunked_transfer_encoding – themihai

回答

1

所有的大脑都在浏览器中,而不是服务器。服务器必须以正确的结果响应浏览器正在进行的请求。如果您向服务器请求整个文件,并且它只返回一部分,则浏览器不需要为剩余的部分尝试另一个请求。铬这个事实是不寻常的,不能回答。如果你需要控制,你必须使用像fmp4这样的分段格式,并在javascript中添加逻辑客户端。看看像video.js的球员