Website URL

Facebook

Twitter

WhatsApp

Instagram

Skype

Location

Interests

My cameras and kit

For some time there has been widespread problems with Youtube buffering performance. This affects anyone wanting to distribute or view video content via Youtube. I did some testing, and here are my results.
Symptom: A consistent 24x7 lack of complete buffering on certain videos, independent of network speed or browser. I've tested Chrome 27.0.1453.110, FF 21.0, and IE 10.0.9200.16576 on 64-bit Windows 7 Home Premium SP1, Flash 11.7.700.202. I have Comcast Extreme 105, which on speedtest.net consistently produces 115 megabit/sec down, 21 megabit/sec up. My ping is 19 mS with 1mS jitter.
The behavior is incomplete or halting buffering of some videos in the Youtube client. It happens with some videos at some resolutions, but not others. In general 480p and below FLV videos buffer slowly and incompletely. Some 720p and above MP4 videos buffer quickly and completely; others do not. The difference in network data rate is about 150-200k bits/sec for the slow case vs. 70 megabits/sec for the fast case.
It is obviously a Youtube client code issue, not a pure network or server-side issue. If you use the FireFox extension DownloadHelper (http://www.downloadhelper.net/) it bypasses the buffering problem on 720p and 1080p MP4 videos, despite using the same PC, OS version, network, browser, flash, and time of day. Interestingly it does not help on 480 and below FLV videos -- they download or buffer slowly.
You can monitor network speed with Windows Perfmon -- Control Panel>Administrative Tools>Performance Monitor. Select "network interface", bytes received/sec and bytes sent/sec. Perfmon clearly shows that the Youtube client is throttling the download under some conditions. For each performance "counter" at the bottom, you may need to right-click and pick properties>data>scale, and select a scale factor so the graphs fits vertically on the screen. Note if you right-click on the graph background and select properties>Appearance>color>graph background, select light grey, you can then highlight the specific graph line by pressing CTRL-H.
However different videos exhibit different behavior. This video currently (6-7-13, 10:30 AM CDT) shows the throttling behavior in all browsers at all resolutions, 24x7: https://www.youtube.com/watch?feature=player_embedded&v=dQ51rE_ZUgo
However THIS video shows throttling only at 480 and below -- at 720 and above there's no throttling and it buffers completely and quickly -- IF played on Youtube. If played embedded on this forum, buffering remains slow: https://www.youtube.com/watch?v=Alm6D_6sd8k&list=PLC10321FC136BF7C1
480 and below are typically FLV files, 720 and above are usually MP4 files. Whether using the Youtube interface or DownloadHelper, I cannot buffer or download FLV videos quickly. 720 MP4 and above can be downloaded quickly with DownloadHelper, and (sometimes) the Youtube client will buffer them quickly but usually not.
While there may be issues with time of day, ISP traffic shaping and local net capacity, this behavior seems independent of that. Chrome HTML5 also makes no difference.
I speculate Youtube has implemented client-side code which limits buffering in order to reduce overall load on their servers. In Perfmon you can see bursts of activity if you scrub forward, but buffering quickly stops. Unfortunately it's not working consistently. The difference between the slow case and fast case is gigantic. When the throttling code mis-predicts the needed buffer prefetch, it interferes with viewing videos, especially at 720 and above.
I posted the above symptoms on a Google help forum, but I doubt they'll respond.