A baixa latência de um streaming de vídeo ao vivo, a exemplo do uso de segunda tela, reportagens ao vivo e videogame on-line, é um elemento vital para a garantia da melhor experiência do usuário possível.
Aqui está um grande segredo: quando se trata de mídia, “ao vivo” raramente significa realmente “ao vivo”. Digamos que você esteja em casa assistindo a um show ao vivo e você vê um membro da plateia pular no palco. O público no local do show viu isso acontecer pelo menos 30 segundos antes de você.
Isso porque leva tempo para passar chunks de dados (fragmentos de informação utilizados em inúmeros formatos de multimídia) de um lugar para outro. Esse atraso entre quando uma câmera captura vídeo e quando o vídeo é exibido chama-se LATÊNCIA.
Então, se vários segundos de latência são considerados normais, o que é baixa latência? É um termo subjetivo. Por padrão, a latência, de acordo com o super popular protocolo de streaming Apple HLS, é de 30 a 45 segundos.
Portanto, quando as pessoas se referem à baixa latência, elas geralmente falam em reduzi-la a segundos de um dígito. No entanto, o termo baixa latência também abrange o que geralmente é denominado streaming em tempo real (aqui estamos falando de milissegundos).
Ninguém quer uma latência notavelmente alta, é claro, mas em que contextos a latência baixa realmente importa?
Para a maioria dos cenários de streaming, o atraso normal de 30 a 45 segundos não é problemático. Voltando ao nosso exemplo do show, é irrelevante se o guitarrista arrebentou uma corda 36 segundos atrás e você acabou de descobrir.
Mas, para alguns casos de uso de streaming, a latência é uma consideração crítica para os negócios. Vamos dar uma olhada em alguns casos de uso de streaming nos quais a baixa latência é inegavelmente importante.
Segundo o conceito de segunda tela (ou multitela), podemos entendê-la como o consumo simultâneo de televisão e internet. Exemplo: assistir a programas ou comerciais de TV e, ao mesmo tempo, usar apps de smartphones ou tablets para interagir com o conteúdo (opiniões, votações etc.).
Se você estiver assistindo a um evento na TV, bem como em um aplicativo da segunda tela, poderá saber rapidamente se há um problema de latência, e isso causará desconforto.
Imagine que um canal de esportes ofereça um aplicativo de segunda tela para que você veja ângulos de câmera alternados e possibilite a troca de comentários com outros usuários. A pontuação vencedora do jogo é mostrada na TV, mas não é transmitida para o aplicativo até quase um minuto depois. O momento de trocar comentários sobre o jogo no aplicativo já passou.
No entanto, o ponto ideal aqui não é a latência ultra-baixa “em tempo real” que discutiremos a seguir. Isso ocorre porque também há latência para a transmissão da televisão. Se você estiver assistindo em cabo digital, como a maioria das famílias faz, a latência de transmissão pode ser de até seis segundos. Seu aplicativo de segunda tela só precisa corresponder a esse nível de latência para oferecer uma experiência fantástica, em sincronia com o conteúdo da TV.
É aqui que entra em ação a transmissão “em tempo real” de latência ultra baixa. Todos nós já vimos entrevistas televisionadas em que o repórter está falando com alguém em um local remoto, e a latência na troca de mensagens resulta em longas pausas, às vezes com as duas partes conversando uma sobre a outra.
Isso ocorre porque a latência age sobre ambos – talvez seja necessário um segundo para que a pergunta do repórter chegue ao entrevistado, mas também leve um segundo para que a resposta do entrevistado volte para o repórter.
Essa conversa pode se tornar desconfortável rapidamente. Quando o imediatismo é importante, cerca de 150 milissegundos (um sétimo de segundo) de latência em cada direção é o limite aceitável. Esse espaço de tempo é curto o suficiente para permitir uma conversa suave sem pausas estranhas.
Atividades como leilões e apostas esportivas são emocionantes devido aos seus ritmos acelerados. E essa velocidade exige streaming em tempo real. Por exemplo, as pistas de corridas de cavalos tradicionalmente são compartilhadas via satélites para outras trilhas ao redor do mundo e permitem que seus clientes façam apostas on-line.
Os atrasos dos satélites podem ter custos altos. O streaming de latência ultra baixa elimina esses atrasos problemáticos e reduz os prejuízos. Da mesma forma, os leilões on-line são um grande negócio e qualquer atraso pode significar que os lances não sejam registrados corretamente. Frações de segundos fazem toda a diferença.
Qualquer um que já tenha gritado “esse jogo tá roubando!” diante de uma tela sabe que o tempo é crítico para os jogadores. A latência de menos de 100 milissegundos é obrigatória. Ninguém quer jogar a partir de um serviço de streaming e descobrir que está atirando contra inimigos que não estão mais lá.
Agora que você sabe o que é baixa latência e quando ela é importante, provavelmente está se perguntando: como fornecer streaming de baixa latência? Assim como acontece com a maioria das coisas na vida, o streaming de baixa latência envolve compensações.
Você terá que equilibrar três fatores para encontrar o mix certo:
O protocolo de streaming que você escolhe faz uma grande diferença. Vamos analisar isso:
O Apple HLS está entre os protocolos de transmissão mais utilizados devido à sua confiabilidade, mas não é adequado para o verdadeiro streaming de baixa latência. Isso é porque o HLS é um protocolo baseado em HTTP, o que significa que ele transmite chunks de dados. Como cada parte de vídeo é gerada e visualizada em tempo real, o tamanho do chunk desempenha um papel importante na latência.
O tamanho da configuração original do chunk de dados do Apple HLS é de 10 segundos, levando a uma latência de até 45 segundos. A personalização pode reduzir isso significativamente, mas nunca será suficiente para um cenário de latência ultra baixa. Exacerbando o problema, seus espectadores irão experimentar mais buffering quanto menor você fizer esses pedaços.
RTMP (Real-Time Messaging Protocol) e WebRTC (Web Real-Time Communications) são os padrões para streaming de baixa latência.
Outras considerações importantes são o seu servidor de streaming ou serviço de nuvem. Você precisará de uma tecnologia de streaming que ofereça um controle refinado sobre a latência e a qualidade do vídeo e lhe forneça a maior flexibilidade possível.
Em termos práticos, a latência refere-se ao espaço de tempo entre o momento em que um usuário acessa um arquivo ou serviço e a respectiva resposta do servidor. Quando o servidor se encontra longe do usuário, ou quando a rede está congestionada, essa latência pode ser muito longa.
Uma CDN (Content Delivery Network – Rede de Distribuição de Conteúdo) reduz a distância ao acionar o servidor mais próximo e fornece uma maior largura de banda de rede total. Ambos os fatores se combinam para reduzir significativamente a latência.
No geral, uma CDN produz uma melhor experiência de visualização para o usuário, com efeitos ágeis, carregamento rápido e pouco atraso entre o clique e a obtenção de resultados.
A K2.Live, plataforma de transmissão de vídeos on-line da K2., utiliza a CDN da Akamai, a maior rede de entrega de conteúdo do mundo, responsável por servir entre 15% e 30% de todo o tráfego da web.
Como resultado dessa retaguarda tecnológica proporcionada pela Akamai, o serviço de streaming ao vivo da K2. atingiu o patamar requerido para garantir a melhor experiência do usuário possível, sendo que a baixa latência na transmissão dos conteúdos é peça fundamental para esse processo.