Chrome thực hiện quá nhiều yêu cầu (~ 22000) trong khi tải xuống video MP4 (~ 34MB)


8

Chúng tôi lưu trữ một số tệp video (mp4) trên trang web của chúng tôi.

Tất cả các tệp được tải quá chậm trong Google Chrome, trong FF mọi thứ đều ổn.
Tôi đã thử tải xuống tệp có kích thước 34MB (Tôi đã mở tệp bằng liên kết trực tiếp). Kết quả là:

  • Chrome đã thực hiện ~ 22000 (!) Yêu cầu, 982 MB được chuyển.
  • Firefox chỉ thực hiện 5 yêu cầu.

Là một máy chủ, chúng tôi sử dụng nginx với các cài đặt mặc định (liên quan đến tệp video đang phục vụ).

Tại đây, sự tương tác (năm yêu cầu đầu tiên) sẽ tạo ra Chrome và máy chủ. Chỉ Range, Content-Length, Content-Rangetiêu đề bao gồm.
(<- tiêu đề được gửi bởi Chrome, <- một tiêu đề được gửi bởi máy chủ):

> 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  

Có vẻ như Chrome hiểu nhầm một số tiêu đề được gửi từ máy chủ (ví dụ Phạm vi) và tải xuống cùng một phần tệp nhiều lần.

Điều gì có thể gây ra vấn đề? Có ý kiến ​​gì không?

Câu trả lời:


3

Sự cố xảy ra do các tệp video (cụ thể là do trình chuyển đổi đã được sử dụng).
Các tệp gây ra sự cố đã được chuyển đổi với Format Factory v2.6 .
Sau khi nâng cấp lên v3.7 và khắc phục sự cố đã biến mất.

Điều gì khiến Chrome thực hiện rất nhiều yêu cầu trong khi phát các video như vậy vẫn chưa được biết ...


Bạn đã hỏi tác giả của bộ chuyển đổi về nguyên nhân?
Vladislav Rastrusny 4/12/2015

1
@VladislavRastrusny Không, tôi không có. Phiên bản gây ra sự cố rất lỗi thời, nếu tôi hiểu đúng ngay cả từ năm 2010
Vasily

Tôi hiểu rồi. Chà, tôi đoán họ muốn nghe về vấn đề này. Ít nhất nếu nó chưa có trong thay đổi của họ.
Vladislav Rastrusny

Chúng tôi có các đoạn tương tự với các tệp mp4 của chúng tôi dài hơn 1 giờ hoặc lớn hơn 700 Mb. Chúng tôi kết xuất nó với Adobe Premiere. Tôi thấy rằng việc đăng ký lại với ffmpeg sẽ giúp: ffmpeg -i input.mp4 -vcodec copy -acodec copy out.mp4 -movflags + faststart
LLAlive
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.