Por dentro do plano do YouTube para acabar com a demora para carregar vídeos
Há um momento entre o seu clique em um vídeo e quando ele começa a tocar. Este momento é a pior parte do seu dia. A agonia da espera! A tortura da antecipação! O YouTube entende isso, e durante uma visita à HQ do YouTube em San Bruno, na Califórnia, Estados Unidos, nós demos uma olhada no que pode fazer esses terríveis momentos acabarem antes de você saber que estão acontecendo.
Segundo John Harding, líder da equipe principal de engenharia do YouTube, se um usuário clicar em um vídeo e ele começar a tocar em menos de 200 milissegundos, o usuário vai entender como se fosse instantâneo. Esse é o objetivo. Com serviços como Netflix ou HBO Go, usuários não se importam em esperar um minuto ou mais para carregar um vídeo, já que eles estão prestes a assistir algo que dura muito mais. No YouTube, onde a média de duração de vídeos é bem menor, a paciência não é a mesma. Então, eis o que o King Kong dos vídeos de internet está fazendo para acabar com o lag.
A melhor coisa criada desde o pão de forma é o pão de forma
Uma mudança recente, que você já deve ter notado, é a forma como vídeos são divididos para serem exibidos. Nos tempos antigos de YouTube (ano passado), um vídeo enviado seria copiado em diferentes resoluções, como 360p, 480p, 720p e 1080p. Cada um deles era um arquivo diferente. Você clicava no vídeo, e seu computador começava a baixar cada arquivo, e com sorte a sua internet seria rápida o suficiente para transmitir o vídeo durante o download, caso contrário ele ficaria pausando para carregar mais um pouco. Você poderia mudar entre as resoluções, mas continuaria baixando todos os arquivos de uma vez.
As coisas agora funcionam diferente desde que o YouTube integrou uma técnica chamada “Pão de Forma” em abril de 2012. Agora, quando alguém envia um vídeo, ele ainda é copiado em diferentes resoluções, mas cada cópia é como uma fatia de um pão que já foi cortado. Então você tem uma fatia de 360p, uma de 480p, e assim por diante. Isso permite que o YouTube carregue seu vídeo em uma fatia por vez, e ele pode mudar a qualidade da próxima fatia de vídeo dinamicamente, dependendo do que estiver acontecendo com a sua conexão.
Exemplo: quando você clica em um vídeo, ele começa a tocar algumas partes do pedaço de 480p, só para o seu vídeo começar a tocar imediatamente. Assim que o YouTube percebe que você tem uma conexão rápida e estável, ele pode carregar o próximo pedaço em 1080p, e então você ganha qualidade no vídeo. E então, subitamente, outra pessoa na sua casa começa a baixar um arquivo em PDF de 4 TB e você perde um pouco de velocidade; as próximas fatias podem vir a 720p. O ideal é que as transições sejam suaves. Você pode notar uma variação na resolução, mas não terá pausa nenhuma, se as coisas funcionarem corretamente.
O Pão de Forma é um sucesso, até agora, ao reduzir o rebuffering de vídeos em até 40%, segundo o YouTube. Mas o que vem aí vai levar as coisas a um outro nível.
Processamento paralelo e pré-carregamento
O vídeo acima explica perfeitamente em um quadro branco, mas ele está em inglês, então eis um resumo. Atualmente, quando você clica em um vídeo do YouTube, primeiro a página de assistir carrega (a página em que o vídeo está). Então o javascript que controla a página é baixado, depois o tocador do vídeo, e então o vídeo em si começa a ser baixado. Assim que tudo isso acontece, o streaming pode começar, mas seu filho recém-nascido já estará entrando na faculdade depois de tanta demora. Então as coisas estão sendo distribuídas em três pilares:
Paralelo. O primeiro passo para acelerar as coisas é fazer mais dos passos anteriormente mencionados em paralelo para que o processo dure menos tempo. Você clica no vídeo, você ainda baixa a página, mas também vai baixar o javascript, o CSS e o player simultaneamente. E então ele faz o pedido do vídeo, para começar a tocar em sequência. Melhor, mas não estamos falando em um muito tempo economizado por enquanto.
Fazer menos. É quando você muda de um vídeo para outro que você começa a ver as reduções significativas. Você já assistiu um vídeo, então já baixou o player e todas as outras coisas. Por que baixar tudo de novo? É assim que funciona atualmente, e é uma total perda de tempo, o YouTube do futuro próximo sabe disso. Então, em vez disso, quando você clicar em outro vídeo, ele baixa a página, faz o pedido do vídeo e começa a transmitir porque o tocador já está carregado.
Pré-carregar conteúdo: O YouTube afirma que as pessoas não assistem apenas um vídeo e então saem do site. Elas têm a tendência de clicar em vídeos relacionados/sugeridos. Já que o YouTube acha que é provável que você clique em um desses vídeos, ele vai começar a pré-baixar as primeiras fatias de alguns dos vídeos relacionados. E então, quando você clicar em algum desses vídeos que começaram a ser armazenados, ele vai carregar quase instantaneamente. No vídeo acima, você consegue ver um protótipo do novo YouTube. O vídeo, que demorou pouco mais de um segundo para carregar no software atual, começou a rodar em meio segundo no software protótipo. Isso foi no escritório do Google com uma rede ultrarrápida, mas as melhorias devem ser notáveis em redes domésticas.
Agora, é importante mencionar que esse último passo se apoia na ideia de que o YouTube consegue prever com precisão o que você vai clicar na sequência. Pessoalmente, provavelmente clico nos vídeos sugeridos talvez 4% das vezes, mas isso acontece, e tenho certeza que acontece mais com outras pessoas. Felizmente, os resultados sugeridos vão melhorar se você estiver dentro de um canal, considerando que você deve estar interessado em ver mais vídeos do mesmo criador.
Também vale ressaltar que o grande espaço entre o momento que você aperta play e começa a assistir o vídeo – os anúncios – não vão sumir tão cedo.
Ótimo para mobile
Todas essas mudanças de velocidade vão ser ainda mais apreciadas se estiverem em dispositivos móveis, onde as conexões são lentas e pouco confiáveis, e felizmente é exatamente isso o que está acontecendo. Usuários do app do YouTube para Android podem já ter percebido isso, mas nas configurações agora existe uma página de pré-carregamento. Marque as caixas e os novos vídeos dos canais assinados e vídeos colocados na sua lista para assistir depois vão ser baixados para seu dispositivo sem que você perceba. Então, mais tarde, quando você pegar seu smartphone e escolher um dos vídeos com a pequena seta verde, ele vai tocar quase instantaneamente, e em Full HD, não importa o quão lenta for a sua conexão no momento. Você pode até mudar para outro vídeo sem precisar recarregar.
É um recurso fantástico. O único problema é que você precisa ter algum tipo de conexão com a internet para rodar os vídeos. Seria melhor se carregasse durante a noite na rede Wi-Fi da sua casa, e então você conseguiria assistir no metrô pela manhã. Mas não, o YouTube precisa checar para ter certeza de que o conteúdo ainda está disponível e acessível para você. Além disso, e isso é significativo, ele precisa de internet para mostrar anúncios. Esperamos que encontrem uma solução para isso em breve.
Disponibilidade
No lado móvel, o pré-carregamento já está disponível para Android, e deve chegar em breve para iOS. A mágica no desktop deve demorar menos tempo. Nos disseram que pode aparecer já na quinta-feira agora, dia 27, ou talvez mais perto do dia 4 de julho.
Todos esses passos estão indo na direção certa. Naturalmente, a rede doméstica afeta muito dessas coisas, mas no geral a velocidade é apenas um dos fatores determinantes da qualidade da experiência de usuário. É bom ver que as coisas estão funcionando nos bastidores para continuarmos buscando nosso sonho de assistir vídeos instantaneamente.
Um grande agradecimento a John Harding e Matt McLernon, do Google