Bug 245943 - Dozens of data ranges in incorrect order requested before video playback starts
Summary: Dozens of data ranges in incorrect order requested before video playback starts
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: Safari Technology Preview
Hardware: Unspecified macOS 12
: P2 Normal
Assignee: Nobody
URL:
Keywords: BrowserCompat, InRadar
Depends on:
Blocks:
 
Reported: 2022-10-02 04:36 PDT by naktinis
Modified: 2022-10-03 02:50 PDT (History)
5 users (show)

See Also:


Attachments
Range requests (1.51 MB, image/png)
2022-10-02 04:36 PDT, naktinis
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description naktinis 2022-10-02 04:36:35 PDT
Created attachment 462763 [details]
Range requests

I've observed this with multiple mp4 videos from different sources and this doesn't happen on other browsers.

When I open a video it performs many download requests each of increasing start time and each until the end of the video (I believe they also get immediately aborted by the browser), in the following order:
GET Range: bytes=0-1                 -> 206
GET Range: bytes=0-218098324         -> 206
GET Range: bytes=1769472-218098324   -> 206
GET Range: bytes=5242880-218098324   -> 206
[keeps making/aborting about 80 requests like this, depending on the file size, meanwhile the video is not playing]
GET Range: bytes=214958080-218098324 -> 206
[then it jumps back to the start and only at this point, after a minute or two, it starts playing the video]
GET Range: bytes=0-42139647          -> 206
GET Range: bytes=34209792-218098324  -> 206
GET Range: bytes=36700160-218098324  -> 206
GET Range: bytes=39190528-218098324  -> 206
[keeps increasing the start value again, and then randomly these requests are intertwined with what looks like reasonable requests like the one below]
GET Range: bytes=49217536-49283071   -> 206
[meanwhile keeps making these "get data until the end" requests]
GET Range: bytes=80936960-218098324  -> 206
[after some time another reasonable range request]
GET Range: bytes=62324736-62717951   -> 206

and so on...

Not sure what's causing this sequence of requests, but it sure looks irregular and makes viewing some videos on Safari almost impossible (meanwhile such problems don't occur on other browsers like Firefox and Chrome, so it's probably not just server issues, or if they are, they can be worked around).

Let me know if I can provide any further info.


A couple of example URLs where this happens:
https://cdn.muse.ai/w/658cb0019af04f7016b9686a6329e9120f97cb7d0cb67ab5fa0af6dd4f519e40/videos/video-1080p-video.mp4
http://docs.evostream.com/sample_content/assets/bunny.mp4
Comment 1 Radar WebKit Bug Importer 2022-10-03 02:50:34 PDT
<rdar://problem/100709475>