Chrome在下载MP4视频(〜34MB)时发出太多请求(〜22000)


8

我们在我们的网站上托管了一些视频文件(mp4)。

在谷歌浏览器中,所有文件的加载速度都太慢,在FF中一切正常。
我测试了下载大小为34MB的文件(我通过直接链接打开了文件)。结果是:

  • Chrome发出了约22000(!)请求,传输了982MB
  • Firefox仅发出了5个请求。

作为服务器,我们使用默认设置(与提供视频文件有关)的nginx

在这里,交互(前五个请求)使Chrome和服务器之间相互交流。只有RangeContent-LengthContent-Range标题包括在内。
(<-Chrome发送的标头,<-服务器发送的标头):

> Initial request for file, usual GET  
< Content-Length:35690389  
< Content-Type:video/mp4  

Then a bunch of similar requests, on which the server responded with 206 status code:  
---  
> Range:bytes=0-  
< Content-Length:35690389  
< Content-Range:bytes 0-35690388/35690389  
---   
> Range:bytes=29100305-  
< Content-Length:6590084  
< Content-Range:bytes 29100305-35690388/35690389  
---  
> Range:bytes=35566374-   
< Content-Length:124015  
< Content-Range:bytes 35566374-35690388/35690389  
---  
> Range:bytes=32-  
< Content-Length:35690357  
< Content-Range:bytes 32-35690388/35690389  

Chrome似乎误解了一些从服务器发送的标头(例如Range),并多次下载了相同的文件。

可能导致问题的原因是什么?有任何想法吗?

Answers:


3

该问题是由视频文件引起的(即由所使用的转换器引起)。
导致问题的文件已使用Format Factory v2.6进行了转换。
升级到v3.7并重新转换后,问题消失了。

是什么让Chrome浏览器在播放此类视频期间发出如此多的请求仍然未知...


您是否已询问转换器的作者原因?
弗拉迪斯拉夫·拉斯特鲁尼

1
@VladislavRastrusny不,我没有。即使我从2010
Vasily

我知道了。好吧,我想他们想听听这个问题。至少如果还没有在他们的变更日志中。
弗拉迪斯拉夫·拉斯特鲁斯尼(Fladislav Rastrusny),2015年

mp4文件的时间超过1小时或大于700 Mb时,我们也遇到类似的问题。我们使用Adobe Premiere渲染它。我发现用ffmpeg重新呈现它会有所帮助:ffmpeg -i input.mp4 -vcodec复制-acodec复制out.mp4 -movflags + faststart
LLAlive 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.