Назад | Перейти на главную страницу

Chrome делает слишком много запросов (~ 22000) при загрузке видео MP4 (~ 34 МБ)

Мы размещаем на нашем сайте несколько видеофайлов (mp4).

В Google Chrome все файлы загружаются слишком медленно, в FF все ок.
Я протестировал загрузку файла размером 34MB (открывал файл по прямой ссылке). Результат:

В качестве сервера мы используем nginx с настройками по умолчанию (относящимися к раздаче видео файлов).

Здесь взаимодействие (первые пять запросов) между Chrome и сервером. Только Range, Content-Length, Content-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), и загружает одни и те же фрагменты файла много раз.

Что может вызвать проблему? Любые идеи?

Проблема была вызвана видеофайлами (а именно использованным конвертером).
Файлы, вызвавшие проблему, были преобразованы с помощью Format Factory v2.6.
После обновления до v3.7 и при повторном преобразовании проблема исчезла.

Что заставляет Chrome делать столько запросов при воспроизведении таких видео, пока неизвестно ...