如何在 Firefox & HTML5 中提供电影分块下载?
How to provide chunked download of a movie in Firefox & HTML5?
我创建了一个带有视频容器的非常简单的网页。
在服务器端,我提供每兆字节 206 块的下载(范围字节的报告是正确的)。
在 Chrome 这工作正常,并且 Chrome 下载 3 个文件并且 - 我猜 - 当它的缓存清空时,它会下载另一个。
Chrome 使用 "Range: 0-" 请求文件,所以实际上我应该做的是发送整个文件,但我只是不想这样做。 (特别是对于手机用户,我不希望他们开始下载一个500M的文件)
现在在 Firefox 中,我注意到它只下载第一个文件块。它从不请求下一个。
这里的问题是:如何在所有浏览器中提供分块视频流?
我知道我可以选择任何 Flash 电影播放器,但这并不是我真正想要的。我可以做的另一件事是说 "use Chrome only" (在我的特定情况下这是一个选项),但这也不是我真正喜欢的。我喜欢在这里解决基本问题...
谢谢!
所有的大脑都在浏览器,而不是服务器。服务器必须对正在发出的请求以正确的结果响应浏览器。如果您向服务器请求整个文件,而它只是 returns 的一部分,则浏览器不需要为其余部分尝试另一个请求。 chrome 这样做的事实是不寻常的,无法回答。如果需要控制,必须使用fmp4这样的分片格式,在javascript中添加逻辑客户端。研究像 video.js
这样的球员
我创建了一个带有视频容器的非常简单的网页。 在服务器端,我提供每兆字节 206 块的下载(范围字节的报告是正确的)。
在 Chrome 这工作正常,并且 Chrome 下载 3 个文件并且 - 我猜 - 当它的缓存清空时,它会下载另一个。 Chrome 使用 "Range: 0-" 请求文件,所以实际上我应该做的是发送整个文件,但我只是不想这样做。 (特别是对于手机用户,我不希望他们开始下载一个500M的文件)
现在在 Firefox 中,我注意到它只下载第一个文件块。它从不请求下一个。
这里的问题是:如何在所有浏览器中提供分块视频流?
我知道我可以选择任何 Flash 电影播放器,但这并不是我真正想要的。我可以做的另一件事是说 "use Chrome only" (在我的特定情况下这是一个选项),但这也不是我真正喜欢的。我喜欢在这里解决基本问题...
谢谢!
所有的大脑都在浏览器,而不是服务器。服务器必须对正在发出的请求以正确的结果响应浏览器。如果您向服务器请求整个文件,而它只是 returns 的一部分,则浏览器不需要为其余部分尝试另一个请求。 chrome 这样做的事实是不寻常的,无法回答。如果需要控制,必须使用fmp4这样的分片格式,在javascript中添加逻辑客户端。研究像 video.js
这样的球员