用于 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的主要内容,如果未能解决你的问题,请参考以下文章

用于 android html5 视频的 chrome 上的黑屏

从 Chrome 文件系统播放视频不适用于 Android

HTML5 视频自动播放不适用于 slick.js

HTML 5 视频标签不适用于任何浏览器

HTML5 视频无法仅在 Chrome 中播放

Chrome/PC 中的 HTML5 视频