Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have been suffering from this for months, possibly even years, and I still don't have the slightest clue about the cause.

Let's say I open a video on YouTube in Chrome, like Jamie Hyneman's Thoughts on Designing and Making with CAD, the player will instantly stop playback after the advertisment and start buffering. Once it has 10 seconds buffered, it will continue playing and stop again after having played the 10 seconds.

Googles own recommendation in cases like these is to pause the video and wait for it to fully buffer, but when I pause the video, it will never fully buffer. At best, it will load a couple seconds of video and then stop buffering altogether.

In contrast, when I open the same video in Firefox at the same time, not only will playback be perfectly fine, if I pause the video, it will fully buffer. Here is a comparison:

This is the video in Chrome. I opened it and paused it at the 0:05 mark and left it loading for about a minute. We can see the result in the scrub bar:
YouTube video in Chrome

Here is the same video after the same period in Firefox:
YouTube video in Firefox

A couple more minutes later, and the video is fully buffered in Firefox while the situation in Chrome is unchanged.

In this situation, both browsers were using the Flash player (obviously, Chrome uses its built-in implementation).

What is the cause of this behavior and how can I fix it?

share|improve this question
3  
And how many tries did it take to stop the video at the same moment? –  terdon Apr 22 '13 at 19:41
1  
I have always had to use Firefox to watch anything on Youtube as well, I really hope someone has some fixes since otherwise I use Chrome for everything. –  nerdwaller Apr 22 '13 at 19:42
1  
@terdon: It was pure luck actually ;) –  Oliver Salzburg Apr 22 '13 at 19:44
7  
I don't have a solution for how to change it, but I believe this might be intentionally done as smart buffering on Chrome's part, with the idea being not to waste bandwidth (or it's some sort of cookie problem, does the issue persist in Incognito mode?). There is an extension called "SmartVideo" that will allow you to set how videos buffer. Other than that, I don't know a way to change this behaviour. Also, Tested is awesome. –  Mono Apr 22 '13 at 19:45
2  
@Alex: I've played around with SmartVideo for a bit and it feels like this could provide a solution as well. Especially the Ensure that videos are buffered even if they are paused option helps with the behavior I was observing when writing the question. Might be worth posting as an answer :) –  Oliver Salzburg Apr 22 '13 at 20:29

1 Answer 1

up vote 46 down vote accepted

Lately, I've been experiencing video loading behavior issues again, even after applying what I suggested in my original answer.

Dash playback

From what I understand, the underlying issue is YouTube's implementation of Dynamic Adaptive Streaming over HTTP. From what I can tell, there are both server-side and client-side implementations at work here. The Wikipedia article linked above says:

Google's YouTube experimented with supporting MPEG-DASH on the server side. Google Chrome supports it on the client side. However, the implementation of the feature has resulted in video playback being severely degraded by various bugs, such as the video quality options being randomly greyed out and unselectable without multiple refreshes of the page.

Which sounds very familiar.

Solution

The currently very popular approach to solve this issue is to use the YouTubeCenter extension, which is available for a wide variety of browsers.

It allows you to disable Dash playback, but also notes:

Please note that by disabling Dash Playback will result in 480p and 1080p not being available. This is because of a recent YouTube change.

Disabling Dash playback

To disable Dash playback, just open the settings menu:

enter image description here

And untick the corresponding checkbox on the player page:

enter image description here

The result will be that videos will load as fast as possible and fully.

Please note, YouTubeCenter removes advertisements by default. If you want to support your favorite YouTube channels, be sure to consider disabling this feature.


Original answer:

Disabling the internal Flash plugin of Chrome

Seems like this is again a case of rubber duck debugging...

After posting this, I thought that I should probably check if I can simply disable the built-in Flash player in Chrome and see if that has an effect. The process is actually outlined in the Adobe Flash Player Help.

  1. Grab the installer for the latest Flash Player from Adobe and install it.

  2. Go to chrome://plugins/.

  3. Click the Details button to expand the details about single plugins:

    Chrome Plug-ins manager

  4. There should be 2 entries for the Adobe Flash Player. One is the built-in version in Chrome, the other is the normal installation. Disable the built-in one.

    Internal Flash Player plug-in

    You'll recognize the internal one easily, as it resides in the PepperFlash folder in the Chrome installation directory.

  5. Now the caching behavior should be identical to the behavior observed in Firefox.

Please note that disabling the built-in version of Flash is usually discouraged.

Using the SmartVideo extension

Alex pointed out an extension called SmartVideo. This extension gives you more control over the buffering behavior of Chrome.

I tested it for a while and am quite pleased with the results. Especially the option Ensure that videos are buffered even if they are paused affects the undesired behavior as outlined in my question.

It has several advantages over disabling PepperFlash. First of all, it gives quite a few options which I didn't even have in mind before. Like preventing YouTube to auto-play videos.

Using PepperFlash is also an advantage when using multiple monitors. If you have a fullscreen video on one screen, and another Chrome window on the second, giving focus to the second Chrome window will still keep the fullscreen video in the foreground. In contrast, if you use the external Flash player, focusing the second Chrome window would pop the taskbar in front of the fullscreen video.

share|improve this answer
3  
Note that YouTube is not the only site with this problem. Amazon Cloud Player does not allow you to use PepperFlash to upload or download from the service, because they say they have had problems with it. –  Moshe Katz Apr 29 '13 at 19:29
    
Please note that for Firefox (25.0.1), Youtube Center currently suffers from layout issues resulting in youtube pages being cut off at the top. SmartVideo is great and works without any issues. –  Ashutosh Jindal Jan 1 at 18:05
    
To me the SmartVideo buffer settings in Chrome are ignored. The browser always buffers whole video which isnt good for me using data limited connection. –  truthseeker Jun 8 at 12:13

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.