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

55

Sofro com isso há meses, possivelmente até anos, e ainda não tenho a menor idéia sobre a causa.

Digamos que abro um vídeo no YouTube no Chrome, como Pensamentos de Jamie Hyneman sobre Design e Criação com CAD , o player interrompe instantaneamente a reprodução após a publicidade e começa a armazenar em buffer. Depois de 10 segundos em buffer, ele continuará tocando e parará novamente depois de ter reproduzido os 10 segundos.

A própria recomendação do Google em casos como esses é pausar o vídeo e aguardar 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 parará completamente o buffer.

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

Este é o vídeo no Chrome. Abri e pausei na marca 0:05 e deixei carregando por cerca de um minuto. Podemos ver o resultado na barra de scrub:
Vídeo do YouTube no Chrome

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

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

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

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

Der Hochstapler
fonte
4
E quantas tentativas foram necessárias para interromper o vídeo no mesmo momento?
terdon
11
Eu sempre tive que usar o Firefox para assistir a qualquer coisa no Youtube também, eu realmente espero que alguém tenha algumas correções, caso contrário eu uso o Chrome para tudo.
Nerdwaller
11
@terdon: Foi pura sorte realmente;)
Der Hochstapler
8
Não tenho uma solução para alterá-lo, mas acredito que isso possa ser feito intencionalmente como buffer inteligente por parte do Chrome, com a idéia de não desperdiçar largura de banda ( ou é algum tipo de problema de cookie, o problema persiste em Modo de navegação anônima? ). Existe uma extensão chamada " SmartVideo " que permitirá definir como os vídeos serão armazenados em buffer. Fora isso, não sei como mudar esse comportamento. Além disso, testado é incrível.
22413 Mono
2
@Alex: Eu brinquei um pouco com o SmartVideo e parece que isso também poderia fornecer uma solução. Especialmente a opção Garantir que os vídeos sejam armazenados em buffer, mesmo que estejam em pausa, ajuda no comportamento que eu estava observando ao escrever a pergunta. Pode valer a pena postagem como uma resposta :)
Der Hochstapler

Respostas:

47

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

Súbita lembrança

Pelo que entendi, o problema subjacente é a implementação do YouTube de Dynamic Adaptive Streaming over HTTP . Pelo que sei, há implementações do lado do servidor e do cliente em funcionamento aqui. O artigo da Wikipedia vinculado acima diz:

O YouTube do Google experimentou o suporte ao MPEG-DASH no lado do servidor. O Google Chrome oferece suporte no lado do cliente. No entanto, a implementação do recurso resultou na reprodução de vídeo severamente prejudicada por vários bugs, como as opções de qualidade de vídeo sendo acinzentadas e não selecionadas de forma aleatória, sem várias atualizações da página.

O que parece muito familiar.

Solução

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

Ele permite desativar a reprodução do Dash , mas também observa:

Observe que a desativação da reprodução do Dash resultará na indisponibilidade de 480p e 1080p. Isso ocorre devido a uma alteração recente do YouTube.

Desativando a reprodução do Dash

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

insira a descrição da imagem aqui

E desmarque a caixa de seleção correspondente na página do player:

insira a descrição da imagem aqui

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

Observe que o YouTubeCenter remove os anúncios por padrão. Se você deseja oferecer suporte aos seus canais favoritos do YouTube, considere desativar esse recurso.


Resposta original:

Desativando o plug-in Flash interno do Chrome

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

Depois de postar isso, pensei que provavelmente deveria verificar se posso simplesmente desativar o Flash player embutido no Chrome e ver se isso tem algum efeito. O processo está realmente descrito na Ajuda do Adobe Flash Player .

  1. Pegue o instalador para obter o 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 plugins únicos:

    Gerenciador de plug-ins do Chrome

  4. Deve haver 2 entradas para o Adobe Flash Player. Uma é a versão interna do Chrome, a outra é a instalação normal. Desative o embutido.

    Plug-in interno do Flash Player

    Você reconhecerá o interno facilmente, pois ele reside na PepperFlashpasta no diretório de instalação do Chrome.

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

Observe que desabilitar a versão interna do Flash geralmente não é recomendado.

Usando a extensão SmartVideo

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

Eu testei por um tempo e estou bastante satisfeito com os resultados. Especialmente a opção Garantir que os vídeos sejam armazenados em buffer, mesmo que estejam em pausa, afeta o comportamento indesejado, conforme descrito na minha pergunta.

Ele tem várias vantagens em desativar o PepperFlash. Primeiro de tudo, ele oferece algumas opções que eu nem tinha em mente antes. Como impedir o YouTube de reproduzir automaticamente vídeos.

O uso do 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 Chrome na segunda, dar foco à segunda janela do Chrome ainda manterá o vídeo em tela cheia em primeiro plano. Por outro lado, se você usar o Flash player externo, o foco na segunda janela do Chrome abrirá a barra de tarefas na frente do vídeo em tela cheia.

Der Hochstapler
fonte
3
Observe que o YouTube não é o único site com esse problema. O Amazon Cloud Player não permite que você use o PepperFlash para fazer upload ou download do serviço, porque eles dizem que tiveram problemas com ele.
Moshe Katz
Observe que, para o Firefox (25.0.1), o Youtube Center atualmente sofre de problemas de layout , resultando no corte de páginas do youtube na parte superior. O SmartVideo é excelente e funciona sem problemas.
Ashutosh Jindal 01/01
Para mim, as configurações do buffer do SmartVideo no Chrome são ignoradas. O navegador sempre armazena em buffer todo o vídeo, o que não é bom para mim usando conexão limitada a dados.
truthseeker