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.

Share facebook icon linkedin icon twitter icon email icon

Codificação de live streaming

Objetivos de aprendizado

Depois de 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

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 é codificado utilizando-se um padrão de codificação. O padrão de codificação mais amplamente utilizado atualmente se chama H.264, mas o uso de padrões como VP9, AV1 e HEVC também está aumentando. Esse processo de codificação compacta o vídeo removendo informações visuais redundantes — por exemplo, em um streaming de alguém falando com um céu azul ao fundo, o céu azul não precisa ser renderizado novamente para cada segundo do vídeo, pois não muda muito e pode ser removido da maior parte dos fotogramas 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 uma funcionalidade denominada "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 200 cidades em mais de 100 países, permitindo que usuários de todo o mundo sintonizem um live streaming de alta qualidade em tempo real.