用于 chrome 中 html5 视频的 Servlet 流式传输 mp4
Posted
技术标签:
【中文标题】用于 chrome 中 html5 视频的 Servlet 流式传输 mp4【英文标题】:Servlet streaming mp4 for html5 video in chrome 【发布时间】:2013-01-07 01:38:25 【问题描述】:我正在尝试从 Java servlet 流式传输电影(基于浏览器的 mp4 或 ogv)以在 html5 网页中使用。在这里做了一些研究后,我发现我需要支持范围。在大多数示例中,都引用了http://balusc.blogspot.be/2009/02/fileservlet-supporting-resume-and.html。这似乎适用于 IE 和 Firefox,除了抛出一些套接字写入错误,但电影在这两种浏览器中播放。
然而,在 Chrome 中,电影开始时很好,但大多数时候它只是在播放 mp4 时变成空白,或者在播放一段时间后在 ogv 时冻结。我没有收到任何错误。
我正在为我的 servlet 使用来自 Balusc 的源代码。我唯一添加的是根据请求的文件确定子文件夹的逻辑,但这在我添加自己的东西之前就已经发生了。
我们将非常感谢您的帮助,因为它有时会起作用,有时却没有任何明确的原因,这让我发疯。
谢谢, 安迪
【问题讨论】:
我在 php 中遇到了同样的问题,但在 FF 中 - 一段时间后视频停止播放并且进度条跳到最后。虽然,在其他浏览器 Chrome、Opera、Safari 中都可以。我正在使用 HTTP_RANGE 标头来解析请求,并使用 Content-Range: bytes 和 Content-Length 标头进行响应。为什么现在有人需要 IE? 【参考方案1】:对于 Chrome 尝试使用低字节范围从流中读取响应(例如:您设置了 10240 字节,从源 Balusc 看来,将此值设置为 1024*8/7/6),有人告诉它有助于在 Chrome 中准确播放视频。
【讨论】:
以上是关于用于 chrome 中 html5 视频的 Servlet 流式传输 mp4的主要内容,如果未能解决你的问题,请参考以下文章