【问题标题】:HTML5 video ERR_CONTENT_LENGTH_MISMATCHHTML5 视频 ERR_CONTENT_LENGTH_MISMATCH
【发布时间】:2014-05-24 05:59:03
【问题描述】:

我在使用 Google Chrome 浏览器使用 HTML5 视频标签查看 mp4 文件时遇到问题。视频开始播放正常,跳到时间轴上的不同位置也正常。

但是,如果我继续观看视频足够长的时间,我会收到 ERR_CONTENT_LENGTH_MISMATCH 错误。我注意到几乎每次浏览器下载了 124MB(只有一次 252MB)的视频时都会发生这种情况。我是从一开始就看视频,还是跳到时间轴上的某个地方开始观看,这都没有关系,它在 124MB 处停止。我使用的视频文件似乎也无关紧要。

我使用的 HTML 非常基础:

<video width="1280" height="720" controls>
    <source src="videos/testvid.mp4" type="video/mp4">
</video>

【问题讨论】:

  • 您检查过视频文件的完整性吗?如果它很好,您的服务器可能有问题。确保它完全支持恢复/分块传输。
  • 感谢您的回复。我尝试的视频文件很好,所以我猜我的服务器配置有问题。我对服务器配置不是很有经验。我应该寻找什么?我正在使用 Apache 2.4.9 运行最新的 XAMPP。我已经读过 Apache 应该有范围请求(这是需要的)开箱即用。视频文件的响应标头是 206 Partial Content,这表明它应该可以正常工作。我到底应该检查什么?
  • 检查内容长度、请求的字节数等。它主要是您正在查看的请求标头。
  • 您发现问题了吗?你能分享你的问题的根源吗?我有类似的问题,我只能随机重现。
  • 同样的问题。提到了几种解决方案。 serverfault.com/questions/482875/…

标签: javascript html html5-video


【解决方案1】:

ERR_CONTENT_LENGTH_MISMATCH 每次浏览器从文件中获取的字节数超过 Content-Length HTTP 响应头中报告的字节数时都会出现

关于 apache 和大文件存在一些关于放气 (gzip) 和 Content-Length 标头的错误。

我们已将 Apache 设置为压缩它使用 gzip 提供的大多数 Web 内容,从而以更小的文件大小更快地传输文件。这对于 HTML 文件、CSS 和 JS 文件非常有用,但对于二进制文件,例如图像和媒体文件或 PDF,它可能会导致问题。 对于 PDF,问题是 Acrobat 无法读取已压缩的 PDF,因此必须将其关闭。

来源: http://www.beetlebrow.co.uk/what-do-you-need/help-and-documentation/unix-tricks-and-information/apache-gzip-compression-and-binary-files

<Location />
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI  \
    \.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI  \
    \.(?:mp3|wav|wma|au|m4p|snd|mid|wmv|mpg|mpeg|mp4|qt|mov)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
SetEnvIfNoCase Request_URI  \
    \.(?:exe|t?gz|zip|gz2|sit|rar)$ no-gzip dont-vary
</Location>

解决方案是禁用某些文件类型(例如 *.mp4)的压缩,使用如下规则:

【讨论】:

    猜你喜欢
    • 2017-07-02
    • 1970-01-01
    • 2011-02-05
    • 2012-12-25
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    相关资源
    最近更新 更多