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?

O streaming é um método de envio de dados pela Internet em que os usuários finais não precisam baixar completamente os dados. O live streaming é um tipo de streaming em que o streaming é enviado pela Internet em tempo real, sem que seja gravado e armazenado antes.

Streaming de video games, streamings de mídias sociais como Periscope e Facebook Live e transmissões de esportes profissionais pela Internet são exemplos de live streaming. Embora tanto um áudio como um vídeo possam ser transmitidos ao vivo, este artigo se dedicará ao live streaming de vídeos.

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

Codificação de vídeo é o processo de compactar dados de 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, laptops, PCs, etc. – possa interpretar.

Em um live streaming de vídeo, um dispositivo capta as entradas audiovisuais, codifica-as 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 dividirá o feed de vídeo em segmentos menores, cada um deles com duração de alguns 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. Este 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. Portanto, o céu azul pode ser removido da maior parte dos quadros do vídeo.

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

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 das mídias sociais e nos aplicativos de mensagens. Marcas e empresas que desejam streamings de qualidade superior usam seus próprios softwares ou hardwares de codificação, ou ambos.

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 delatência – em outras palavras, o conteúdo visualizado se encontra defasado em 20 a 30 segundos com relação ao tempo real. Isso ocorre, em parte, porque cada segmento do vídeo tem que ser completamente carregado antes que possa ser reproduzido, e cada segmento do vídeo pode levar vários segundos para ser carregado.

Uma solução para esse atraso é um processo chamado codificação em partes. 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 que o segmento completo seja carregado.

Como as CDNs estão ficando melhores na aceleração do live streaming?

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

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

Para acelerar o 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 completo é 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 e em tempo real.