O que é streaming? | Como funciona o streaming de vídeo

Streaming é um método de visualizar vídeo ou ouvir conteúdo de áudio sem realmente baixar os arquivos de mídia. A performance do streaming pode ser melhorada e o tempo de buffer reduzido, se o proprietário dos arquivos usar uma CDN.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Saber como funciona o streaming
  • Saiba quais fatores retardam o streaming
  • Explicar como tornar o streaming mais rápido

Copiar o link do artigo

O que é streaming?

Streaming de mídia

Os primeiros sites eram simples páginas de texto com talvez uma imagem ou duas. Hoje, no entanto, qualquer pessoa com uma conexão de internet rápida o suficiente pode assistir a filmes em alta definição ou fazer uma chamada de vídeo pela internet. Isso é possível por causa de uma tecnologia chamada streaming.

Streaming é a transmissão contínua de arquivos de áudio ou vídeo de um servidor para um cliente. Em termos mais simples, streaming é o que acontece quando os consumidores assistem TV ou ouvem podcasts em dispositivos conectados à internet. Com o streaming, o arquivo de mídia que está sendo reproduzido no dispositivo cliente é armazenado remotamente e transmitido alguns segundos por vez pela internet.

Qual é a diferença entre streaming e download?

O streaming é em tempo real e é mais eficiente do que baixar arquivos de mídia. Se um arquivo de vídeo for baixado, uma cópia do arquivo inteiro será salva no disco rígido de um dispositivo e o vídeo não poderá ser reproduzido até que o download do arquivo inteiro seja concluído. Se for transmitido, o navegador reproduz o vídeo sem realmente copiá-lo e salvá-lo. O vídeo carrega aos poucos em vez de carregar todo o arquivo de uma vez e as informações que o navegador carrega não são salvas localmente.

Pense na diferença entre um lago e um riacho: ambos contêm água e um riacho pode conter tanta água quanto um lago; a diferença é que com um riacho, a água não está toda no mesmo lugar ao mesmo tempo. Um arquivo de vídeo baixado é mais parecido com um lago, pois ocupa muito espaço no disco rígido (e leva muito tempo para mover um lago). O streaming de vídeo é mais parecido com um fluxo ou um rio, pois os dados do vídeo fluem continuamente e rapidamente para o navegador do usuário.

Como funciona o streaming?

Assim como outros dados enviados pela internet, os dados de áudio e vídeo são divididos em pacotes de dados. Cada pacote contém uma pequena parte do arquivo e um player de áudio ou vídeo no navegador do dispositivo cliente recebe o fluxo de pacotes de dados e os interpreta como vídeo ou áudio.

O streaming utiliza o protocolo UDP (UDP) ou o Protocolo de Controle de Transmissão (TCP)?

Alguns métodos de streaming usam UDP, e alguns usam TCP. O UDP e o TCP são protocolos de transporte, o que significa que são usados para mover pacotes de dados entre redes. Ambos são usados com o  Protocolo da internet (IP). O TCP abre uma conexão dedicada antes de transmitir os dados e garante que todos os pacotes de dados cheguem em ordem. Ao contrário do TCP, o UDP não faz nenhuma dessas coisas. Como resultado, o TCP é mais confiável, mas a transmissão de dados via UDP não demora tanto quanto via TCP, embora alguns pacotes sejam perdidos ao longo do caminho.

Se o TCP é como um serviço de entrega de pacotes que exige que o destinatário assine o pacote, então o UDP é como um serviço de entrega que deixa os pacotes na varanda da frente sem bater na porta para obter uma assinatura. O serviço de entrega TCP perde menos pacotes, mas o serviço de entrega UDP é mais rápido, porque os pacotes podem ser deixados mesmo que não haja ninguém em casa para assinar por eles.

Para streaming, em alguns casos, a velocidade é muito mais importante do que a confiabilidade. Por exemplo, se alguém estiver em uma videoconferência, preferirá interagir com os outros participantes da conferência em tempo real do que sentar e esperar que todos os dados sejam entregues. Portanto, alguns pacotes de dados perdidos não são uma grande preocupação e o UDP deve ser usado.

Em outros casos, a confiabilidade é mais importante para o streaming. Por exemplo, HTTP live streaming (HLS) e MPEG-DASH são protocolos de streaming que usam TCP para transporte. Muitos serviços de vídeo sob demanda usam TCP.

O que é buffering?

Streaming e Buffering

Os players de streaming de mídia carregam alguns segundos do stream antes do tempo para que o vídeo ou o áudio possam continuar sendo reproduzidos se a conexão for interrompida brevemente. Isso é conhecido como buffering. O buffering garante que os vídeos possam ser reproduzidos de forma regular e contínua. No entanto, em conexões lentas ou se uma rede tiver muita latência, um vídeo pode levar muito tempo para ser armazenado em buffer.

Que fatores retardam o streaming?

No lado da rede:

  • Latência da rede: vários fatores afetam a latência, incluindo onde o conteúdo que os usuários estão tentando acessar é armazenado.
  • Congestionamento da rede: se muitos dados forem enviados pela rede, isso pode prejudicar a performance do streaming.

No lado do usuário:

  • Problemas de WiFi: reiniciar o roteador LAN ou alternar para Ethernet em vez de WiFi pode ajudar a melhorar a performance do streaming.
  • Dispositivos clientes com performance lenta: para reproduzir vídeos, é preciso uma boa quantidade de poder de processamento. Se o dispositivo que estiver transmitindo o vídeo tiver muitos outros processos em execução ou estiver lento em geral, a performance do streaming poderá ser afetada.
  • Largura de banda insuficiente: Para streaming de vídeo, as redes domésticas precisam de cerca de 4 Mbps de largura de banda; para vídeos de alta definição, elas provavelmente precisarão de mais.

Como é possível tornar o streaming mais rápido?

O streaming está sujeito aos mesmos tipos de atrasos e degradações de performance que outros tipos de conteúdo da web. Como o conteúdo transmitido é armazenado em outro lugar, o local de hospedagem faz uma grande diferença, como é o caso de qualquer tipo de conteúdo acessado pela internet. Se um usuário em Nova York estiver tentando transmitir de um servidor Netflix em Los Gatos, o conteúdo do vídeo terá que atravessar 3.000 milhas para chegar ao usuário, e o vídeo terá que passar muito tempo em buffer ou pode nem ser reproduzido de forma alguma. Por esse motivo, a Netflix e outros provedores de streaming fazem uso extensivo de redes de distribuição de conteúdo (CDN), que armazenam conteúdo em locais ao redor do mundo muito mais próximos dos usuários.

As CDNs têm um enorme impacto positivo na performance do streaming. O Stream Delivery da Cloudflare aproveita a CDN da Cloudflare para armazenar conteúdo de vídeo em todos os data centers da Cloudflare ao redor do mundo; o resultado é a latência reduzida para tempos curtos de inicialização de vídeo e buffer reduzido.

Para saber mais sobre como usar o Cloudflare Stream, consulte nossa Documentação para desenvolvedores.