A few months ago, Google made some changes to YouTube; they changed how the buffering works and removed the stop download command. Rumors abound that it was because Google was having bandwidth shortcomings in YouTube (not surprisingly since videos are large and popular, and everybody feels the need to post videos about absolutely everything now).
For about the same period, I’ve noticed that downloading a YouTube video seems to be throttled.
Here are some illuminating observations:
- Downloading a video (in whatever manner you usually download YouTube videos) tops out at ~38.5Kbps.
- The download maxes-out at ~77Kbps, but drops to 0 every other second, resulting in the average seen above.
- The download stops completely every so often (~10 or so minutes) for about 1 minute, then spikes for a couple of seconds and resumes at the throttled rate.
- Watching a video in YouTube seems to have no effect; the bandwidth meter shows it streaming the video at higher than the aforementioned limit.
Below (figure 1) is a bandwidth graph where the only network activity (other than bringing up this webpage) is a single YouTube video being downloaded in the background. It clearly shows the download being throttled.
The question is whether this is YouTube’s work or the ISP’s. Admittedly, my current ISP, Rogers, is infamous as the “world’s worst throttler” and has continuously defied CRTC orders and continued to throttle even when they said they stopped, but that is mostly for P2P traffic, not HTTP traffic.
What’s interesting about this is how it can even be differentiated that a video is being downloaded or streamed. I suspect the key is in the speed at the beginning. If it detects that the video is transferring “too fast”, then it assumes it is being downloaded, so it starts throttling it, otherwise it continues at “full” speed. However the expected speed depends on the resolution of the video, which is what makes me suspect that this is YouTube’s work since they are the ones who have access to that information.
Also, I find YouTube’s built-in bandwidth chart (figure 2) quite curious. It shows that I have been getting an extremely low throughput with YouTube. I suspect that it is off because YouTube behaves differently under different circumstances. For example, I have watched a few videos on YouTube in the past few weeks, but generally jump around (usually skipping forward) as opposed to just sitting there watching the entire thing (most of the recent videos were informative, not entertainment). In addition, most of the more recent videos I’ve watched were lengthy (10+ minutes instructional videos which I absolutely cannot watch “normally”; if I sat there for an hour watching a boring video at 1x speed in the web page, I would (possibly literally) explode, so I had to download them so that I can view them in VLC at 1.5x speed in the corner of the screen while I worked on other things.
Unfortunately, at 38.5Kbps, it takes as long to download the video as it does to watch it, which defeats the purpose, and I think that may be key: the download speed might vary in order to make it take as long to download as to watch it.
Does anyone know whether YouTube has started throttling downloads? Does anyone know how YouTube downloads from around the world behave or whether Rogers does indeed throttle YouTube traffic? Any information or observations are welcome because the more data we have about it, the clearer the picture becomes (though sadly, it probably doesn’t really change the end result, but at least knowing what’s what can allow us to accommodate and work-around it).
Figure 1: Bandwidth graph showing YouTube video download being throttled
Figure 2: YouTube’s bandwidth chart