K2. – Solução em Comunicação Digital

Streaming de vídeo de baixa latência: LL-HLS e LL-DASH

streaming-de-video-de-baixa-latencia

O streaming de vídeo de baixa latência possibilita a transmissão de eventos onde a experiência do usuário exige que a ação ocorra em tempo real (ou o mais próximo disso), como transmissões ao vivo e que demandam interatividade. Conheça as novas tecnologias LL-HLS e LL-DASH, voltadas para reduzir o atraso de streaming e acomodar aplicativos altamente interativos.

Nos últimos anos, a indústria da comunicação desenvolveu  um imenso interesse pelo streaming de vídeo de baixa latência, mais especificamente o OTT (Over-The-Top), que é quando um serviço de mídia/plataforma faz a distribuição de conteúdos pela internet diretamente para o usuário final (diferente da televisão a cabo e por satélite, que tradicionalmente atuam como controladores ou distribuidores do conteúdo).

O streaming de vídeo de baixa latência é considerado como o facilitador de muitos aplicativos emergentes de vídeo OTT, como apostas online e streaming de eventos ao vivo, os quais exigem alta interatividade do usuário (por exemplo, webinars, educação online, eventos esportivos ao vivo, videogames e vigilância por vídeo).

Antes de abordarmos as evoluções ocorridas na latência do streaming de vídeo, a partir um artigo publicado pela Brightcove, vamos estabelecer o conceito central deste blog post.

O que é a latência em streaming de vídeo?

De acordo com a Dacast – parceira de tecnologia da K2. -, as transmissões “ao vivo” não são realmente ao vivo. Geralmente, há um atraso de 20 a 120 segundos entre o evento ocorrendo de fato e o streaming de vídeo nas telas dos espectadores. Essa é a latência do vídeo, o atraso que ocorre entre quando um quadro de vídeo é capturado e quando esse quadro é exibido para o usuário.

Por exemplo, se você estiver assistindo a um evento esportivo ao vivo, a latência é o tempo entre um jogador fazer um gol na vida real e você realmente ver isso acontecer na tela de sua casa. O ideal é que o atraso do stream seja curto o suficiente para ser imperceptível.

A latência ocorre em uma transmissão porque o processamento e envio de vídeo ao vivo leva tempo (não muito, é claro). No entanto, cada etapa do processo resulta em um pequeno atraso.

Essas etapas incluem:

Há duas partes na latência:

Ambas são importantes para a experiência do usuário. Infelizmente, reduzir um componente de latência pode aumentar o outro em alguns casos. É por isso que é importante entender o equilíbrio entre essas duas partes e como transmitir com menos atraso de forma eficaz.

LL-HLS e LL-DASH: a evolução do streaming de vídeo de baixa latência

Convencionalmente, as tecnologias de transmissão OTT ao vivo (como HLS e DASH) com mais de 20 segundos de atraso da extremidade da transmissão ao vivo são consideradas mais lentas do que a transmissão a cabo ao vivo, que tem menos de 5 segundos de delay. Essas visualizações vêm do fato de que tanto o HLS quanto o DASH codificam um stream de vídeo em segmentos de alguns segundos.

Um segmento de vídeo não pode ser decodificado e renderizado a menos que todo o segmento seja baixado. Além disso, os reprodutores de streaming geralmente precisam armazenar em buffer alguns segmentos antes de o vídeo começar a ser reproduzido. Embora esse buffer adicional possa fornecer aos usuários uma experiência de streaming OTT mais suave na Internet pública – que é altamente dinâmica -, ele aumenta ainda mais o atraso do streaming.

Nos últimos anos, os padrões HLS e DASH introduziram modos de baixa latência conhecidos como Low-Latency HLS (LL-HLS) e Low-Latency DASH (LL-DASH), com o objetivo de reduzir o atraso de streaming para acomodar aplicativos altamente interativos .

LL-HLS e LL-DASH compartilham alguns princípios de design comuns:

  1. Chunked Video Encoding, que codifica um longo segmento de vídeo em uma sequência de blocos mais curtos;
  2. Chunked Segment Transfer, que transfere pedaços de vídeo mais curtos para reprodutores de streaming assim que são gerados.

Idealmente, a qualquer momento durante uma sessão de transmissão ao vivo, um reprodutor LL-HLS ou LL-DASH precisa armazenar em buffer apenas o trecho de vídeo mais recente gerado pelo codificador antes de começar a decodificar e renderizar o stream de vídeo. Dessa forma, o atraso do streaming é reduzido de 1 segmento (por exemplo, 10 segundos para HLS ao vivo) para 1 bloco (por exemplo, algumas centenas de milissegundos).

Atualmente, existem várias implementações de código aberto ou proprietárias de servidores e players LL-DASH/LL-HLS no mercado. Muitos deles demonstraram menor atraso de streaming quando apenas um stream HLS/DASH de taxa de bits única é usado e quando eles transmitem em conexões de rede de alta velocidade. No entanto, o desempenho real dessas implementações de servidor/player de baixa latência em um ambiente mais sofisticado ainda precisa ser avaliado.

O pessoal da Brightcove explica que, neste trabalho, primeiro desenvolveram novas estruturas de avaliação de transmissão ao vivo de baixa latência para LL-HLS e LL-DASH. Em seguida, avaliaram o desempenho desses players de baixa latência e protocolos de streaming usando essas estruturas.

A avaliação é baseada em uma série de experimentos de transmissão ao vivo repetidos usando conteúdo de vídeo, perfis de codificação e condições de rede idênticos, emulados usando traços de redes do mundo real. Uma variedade de métricas de desempenho do sistema, como taxa média de bits do stream, quantidade de dados de mídia baixados e latência do stream, bem como estatísticas de buffer e troca de stream, foram capturadas e relatadas em seus experimentos.

Esses resultados são subsequentemente usados para descrever as diferenças observadas no desempenho de players e sistemas baseados em LL-HLS e LL-DASH.

Impressões sobre LL-HLS ou LL-DASH

No geral, com base em seus experimentos, a equipe da Brightcove observou que as implementações atuais das tecnologias LL-HLS e LL-DASH não parecem estar totalmente maduras.

Melhorias adicionais nas implementações de clientes, codificadores e servidores de streaming provavelmente serão necessárias para torná-los mais confiáveis e amplamente implantáveis em grande escala.

Acompanharemos os desdobramentos destas novas tecnologias. A latência sempre será um elemento a ser batido em streaming de vídeo. Já avançamos muito com o passar das décadas, mas a latência continua presente, por menor que seja.

Será que um dia conseguiremos vencê-la de vez? É o que veremos. Por enquanto, “ao vivo” deve ser entendido como “QUASE ao vivo”.