Por que o comportamento de buffer / carregamento do YouTube é tão horrível no Chrome?

55

Eu tenho sofrido com isso por meses, possivelmente até anos, e ainda não tenho a menor idéia sobre a causa.

Digamos que eu abro um vídeo no YouTube no Chrome, como Os pensamentos de Jamie Hyneman sobre como projetar e fazer com o CAD , o player interromperá instantaneamente a reprodução após o anúncio e iniciará o armazenamento em buffer. Uma vez que tenha 10 segundos em buffer, ele continuará tocando e parará novamente depois de ter jogado os 10 segundos.

A própria recomendação do Google em casos como esses é pausar o vídeo e esperar que ele seja totalmente armazenado em buffer, mas quando eu pausar o vídeo, ele nunca será totalmente armazenado em buffer. Na melhor das hipóteses, ele carregará alguns segundos de vídeo e, em seguida, parará completamente o buffer.

Por outro lado, quando eu abro o mesmo vídeo no Firefox ao mesmo tempo, não só a reprodução estará perfeitamente bem, se eu pausar o vídeo, ele será totalmente armazenado em buffer. Aqui está uma comparação:

Este é o vídeo no Chrome. Eu abri e parei na marca 0:05 e deixei o carregamento por cerca de um minuto. Podemos ver o resultado na barra de depuração:

Aqui está o mesmo vídeo após o mesmo período no Firefox:

Mais alguns minutos depois, e o vídeo é totalmente armazenado em buffer no Firefox enquanto a situação no Chrome não é alterada.

Nessa situação, os dois navegadores estavam usando o Flash player (obviamente, o Google Chrome usa sua implementação integrada).

Qual é a causa desse comportamento e como posso corrigi-lo?

    
por Der Hochstapler 22.04.2013 / 21:36

1 resposta

47

Ultimamente, tenho experimentado problemas de comportamento de carregamento de vídeo novamente, mesmo depois de aplicar o que sugeri na minha resposta original.

Reprodução de traço

Pelo que entendi, o problema subjacente é a implementação do Fluxo de Adaptação Dinâmica por HTTP no YouTube. Pelo que posso dizer, existem implementações do lado do servidor e do lado do cliente funcionando aqui. O artigo da Wikipedia relacionado acima diz:

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.

Que soa muito familiar.

Solução

A abordagem atualmente muito popular para resolver esse problema é usar a extensão YouTubeCenter , que está disponível para uma ampla variedade de navegadores .

Ele permite que você desative a reprodução do Dash , mas também observa:

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

Desativando a reprodução do Dash

Para desativar a reprodução do Dash, basta abrir o menu de configurações:

Desmarqueacaixadeseleçãocorrespondentenapáginadoplayer:

O resultado será que os vídeos serão carregados o mais rápido possível e totalmente.

Por favor, note , o YouTubeCenter remove anúncios por padrão. Se você deseja oferecer suporte aos seus canais favoritos do YouTube, lembre-se de desativar este recurso.

Resposta original:

Desativando o plug-in Flash interno do Chrome

Parece que isso é novamente um caso de depuração de pato de borracha ...

Depois de postar isso, achei que provavelmente deveria verificar se posso simplesmente desativar o Flash Player integrado no Chrome e ver se isso tem algum efeito. O processo é descrito na Ajuda do Adobe Flash Player .

  1. Pegue no instalador do Flash Player mais recente da Adobe e instale-o.

  2. Vá para chrome://plugins/ .

  3. Clique no botão Detalhes para expandir os detalhes sobre plug-ins únicos:

  4. DevehaverduasentradasparaoAdobeFlashPlayer.UmaéaversãoincorporadanoChrome,aoutraéainstalaçãonormal.Desativarobuilt-in.

    Você reconhecerá a interna com facilidade, pois ela reside na pasta PepperFlash no diretório de instalação do Chrome.

  5. Agora, o comportamento de armazenamento em cache deve ser idêntico ao comportamento observado no Firefox.

Por favor, note que desabilitar a versão embutida do Flash é geralmente desencorajada.

Usando a extensão SmartVideo

Alex apontou uma extensão chamada SmartVideo . Essa extensão oferece mais controle sobre o comportamento de buffer do Chrome.

Eu testei por um tempo e estou muito satisfeito com os resultados. Especialmente a opção Assegure-se de que os vídeos são armazenados em buffer, mesmo se eles estiverem pausados , afeta o comportamento indesejado, conforme descrito na minha pergunta.

Tem várias vantagens sobre a desativação do PepperFlash. Primeiro de tudo, dá algumas opções que eu nem tinha em mente antes. Como impedir que o YouTube reproduza vídeos automaticamente.

Usar o PepperFlash também é uma vantagem ao usar vários monitores. Se você tiver um vídeo em tela cheia em uma tela e outra janela do Google Chrome na segunda, o foco na segunda janela do Google Chrome manterá o vídeo em tela cheia em primeiro plano. Por outro lado, se você usar o Flash Player externo, focar a segunda janela do Chrome abriria a barra de tarefas na frente do vídeo em tela cheia.

    
por 22.04.2013 / 21:52