Como funciona a codificação de live streaming? | Codificação de vídeo

A codificação de live streaming divide um vídeo ao vivo em partes menores, compactando-os e distribuindo os dados do vídeo por meio de uma CDN. As atualizações desse processo estão tornando o live streaming mais rápido.

Objetivos de aprendizado

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

  • Saiba por que os arquivos de vídeo são codificados
  • Aprenda como funciona a codificação de live streaming
  • Descubra como as melhorias no processo de codificação de live streaming pode reduzir a latência

Conteúdo relacionado


Quer saber mais?

Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.

Consulte a política de privacidade da Cloudflare para saber como coletamos e processamos seus dados pessoais.

Copiar o link do artigo

O que é live streaming?

Streaming é um método de envio de dados pela internet no qual os usuários finais não precisam baixar a totalidade dos dados. O live streaming é um tipo de streaming no qual o streaming é enviado pela internet em tempo real, sem que seja gravado e armazenado anteriormente.

O streaming de video games, o streaming de redes sociais como o Periscope e o Facebook Live e as transmissões de esportes profissionais pela internet são exemplos de live streaming. Embora tanto um áudio quanto um vídeo possam ser transmitidos ao vivo, este artigo irá se concentrar no live streaming de vídeos.

O que é codificação de vídeo?

Codificação de vídeo é o processo de compactar os dados de um vídeo para que este possa ser enviado para outro local de forma eficiente. O dispositivo receptor de um streaming — digamos, um tablet no qual um usuário está assistindo ao seu programa de TV favorito — decodifica os dados codificados. A codificação de vídeo segue padrões conhecidos publicamente para que vários dispositivos possam interpretar o streaming codificado.

A codificação de vídeo é necessária principalmente por dois motivos:

  1. Arquivos de vídeo descompactados levam tempo demais para serem enviados pela internet para que o streaming seja prático.
  2. O vídeo precisa estar em um formato que qualquer dispositivo do usuário — smartphones, notebooks, PCs etc. — possa interpretar.

Em um live streaming de vídeo, um dispositivo capta as entradas audiovisuais, as codifica e as envia para o público, tudo isso ao mesmo tempo. A parte de codificação desse processo é essencial para permitir que vários dispositivos do usuário recebam e reproduzam o vídeo.

Como funciona a codificação de live streaming?

Um live streaming de uma origem que captura vídeos — como, por exemplo uma webcam — é enviado para um servidor, onde um protocolo de streaming como HLS ou MPEG-DASH irá dividir o feed de vídeo em segmentos menores, cada um deles com duração de poucos segundos.

O conteúdo do vídeo é então codificado usando um padrão de codificação. O padrão de codificação mais amplamente utilizado atualmente é denominado H.264, mas padrões como H.265, VP9 e AV1 também são utilizados. Esse processo de codificação compacta o vídeo ao remover informações visuais redundantes. Por exemplo, em um streaming com alguém falando contra o fundo de um céu azul, o céu azul não precisa ser renderizado novamente a cada segundo de vídeo, uma vez que não muda muito. Portanto, o céu azul pode ser removido da maioria dos quadros do vídeo.

Os dados compactados e segmentados do vídeo são distribuídos por meio de uma rede de distribuição de conteúdo (CDN). Sem uma CDN, pouquíssimos espectadores conseguiriam carregar o live streaming, e a última seção deste artigo explica por quê.

A maior parte dos dispositivos móveis possui um codificador incorporado, tornando mais fácil para os usuários fazer uma transmissão ao vivo nas plataformas de redes sociais e nos aplicativos de mensagens. Marcas e empresas que desejam uma qualidade superior para seu streaming usam seus próprios softwares ou hardwares de codificação, ou as duas coisas.

Como as novas tecnologias estão tornando o live streaming mais rápido?

Com tantos live streamings, os espectadores ainda enfrentam 20 a 30 segundos de latência — em outras palavras, o conteúdo visualizado está 20 a 30 segundos defasado com relação ao tempo real. Isso ocorre, em parte, porque cada segmento do vídeo precisa ser completamente carregado antes de ser reproduzido. Cada segmento do vídeo pode levar vários segundos para ser carregado.

Uma solução para esse atraso é um processo chamado "codificação parcelada". Esse processo funciona por meio de "fragmentação”, isto é, dividindo os segmentos do vídeo em partes ainda menores. Em seguida, essas partes menores são codificadas e os dispositivos que recebem o streaming podem reproduzir essas partes menores antes de o segmento completo ser carregado.

Como as CDNs estão se aprimorando no que se refere à aceleração do live streaming?

As CDNs são essenciais para o live streaming, pois permitem distribuir o streaming para usuários em locais totalmente diferentes. Além disso, as CDNs dispõem de muito mais largura de banda para distribuir um streaming do que um único servidor de origem. Sem uma CDN, o live streaming pode facilmente ter que enfrentar problemas de largura de banda.

No entanto, a maior parte das CDNs ainda precisa carregar um segmento inteiro de vídeo antes de conseguir veicular o segmento para vários usuários ao mesmo tempo. Isso reintroduz o problema da latência que a codificação parcelada deveria resolver.

Para aumentar a velocidade do live streaming, a Cloudflare oferece um recurso denominado aceleração simultânea de streaming. A CDN da Cloudflare pode enviar um segmento de vídeo para vários usuários finais ao mesmo tempo enquanto esse segmento ainda está sendo carregado, eliminando o tempo de espera enquanto o segmento inteiro é carregado. A rede global da Cloudflare abrange 330 cidades em mais de 120 países, permitindo que usuários de todo o mundo sintonizem um live streaming de alta qualidade em tempo real.