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

Streaming de bitrate adaptativo: como funciona e para que serve

streaming-de-bitrate-adaptativo

O streaming de bitrate adaptativo (Adaptive Bitrate Streaming – ABR) é o responsável por deixar o buffer no passado. Ele oferece a melhor qualidade de vídeo e experiência de visualização possível, independentemente da conexão, software ou dispositivo, ao permitir que os dispositivos de reprodução se ajustem às flutuações de velocidade da Internet. Entenda os detalhes desta tecnologia que revolucionou o consumo de vídeo online.

Para os cientistas da computação, o buffer de vídeo se refere ao ato de pré-carregar dados para transmitir com menos interrupções. Para o resto de nós, é sinônimo de incômodo. Em ambos os casos, ninguém quer ser interrompido a cada poucos minutos enquanto o vídeo se esforça para carregar.

Felizmente, a tecnologia de vídeo percorreu um longo caminho desde os anos 90 e não é mais necessário esperar meia hora para um stream ser totalmente carregado. Os desenvolvedores imaginaram novas maneiras de interação entre players e dados de streaming, levando a uma experiência de visualização aprimorada e qualidade otimizada.

O streaming de bitrate adaptativo (Adaptive Bitrate Streaming – ABR) oferece a melhor qualidade de vídeo e experiência de visualização possível – independentemente da conexão, software ou dispositivo. Esse algoritmo de streaming dinâmico permite que os dispositivos de reprodução de vídeo se ajustem às flutuações de velocidade da Internet, evitando a incongruência da taxa de bits que leva ao buffer.

Essa tecnologia continua a evoluir à medida que os desenvolvedores buscam maneiras mais eficientes de fornecer informações de streaming de vídeo.

Este blog post, originalmente publicado pela Wowza, mostrará por que o streaming de bitrate adaptativo é importante, como ele funciona e os vários benefícios das diferentes aplicações da tecnologia ABR.

O que é streaming de bitrate adaptativo?

O artigo da Wowza conceitua o streaming de bitrate adaptativo analisando cada palavra que compõe a expressão.

▶️ Streaming é auto-explicativo. Você deseja colocar seu conteúdo de streaming de vídeo nas mãos dos espectadores.

▶️ O bitrate (taxa de bits) refere-se à velocidade com que os dados trafegam em uma rede. Isso não deve ser confundido com “largura de banda”, que se refere à quantidade máxima de dados que podem ser transmitidos dentro de um período de tempo específico – embora ambos sejam medidos em megabytes por segundo (Mbps). Quando o bitrate de um streaming de vídeo excede a largura de banda da conexão com a Internet do dispositivo de reprodução, você obtém o indesejado buffering. Essa fila de dados normalmente significa frustração e perda de visualizações.

Para esta próxima parte, lembre-se de dois fatos importantes:

  1. a largura de banda da internet não é estática;
  2. quanto maior o bitrate, maior a qualidade do vídeo.

A largura de banda muda quando você viaja, quando o mau tempo interfere no seu Wi-Fi ou por vários outros fatores. Mas quando os dados de vídeo com uma taxa de bits definida são transmitidos para o seu dispositivo (também chamado de transmissão progressiva), essa taxa de bits não muda. Quando sua largura de banda cai, o vídeo é armazenado em buffer (ou seu vídeo já estava sendo reproduzido com uma taxa de bits baixa e você o estava visualizando com uma qualidade menor do que poderia ter sido por pelo menos uma parte desse tempo).

▶️ É aí que entra a terceira e mais crucial palavra: adaptativo. No streaming de bitrate adaptativo, os arquivos são divididos em segmentos e armazenados em uma variedade de bitrates. À medida que um vídeo é reproduzido, o dispositivo de reprodução solicita diferentes bitrates com base na largura de banda atual. Isso efetivamente permite que o bitrate sincronize melhor com a largura de banda, permitindo streaming contínuo com a mais alta qualidade possível.

Então, no fim das contas, o que é streaming de bitrate adaptativo?

É um processo para empacotar e fornecer dados de streaming especificamente projetados para maximizar a qualidade sem interrupções. O algoritmo ABR é seu melhor amigo para fornecer uma experiência satisfatória de streaming de vídeo.

Streaming de bitrate adaptativo vs. streaming multi-bitrate (ou ABR vs. MBR)

Ao definir o streaming ABR, também devemos explorar o que não é. O streaming multi-bitrate (Multi-Bitrate Streaming – MBR) soa muito como o ABR, pois envolve várias taxas de bits disponíveis para escolha de dispositivos de reprodução. No entanto, um dispositivo de reprodução é bloqueado quando escolhe um desses bitrates. Em outras palavras, ele escolhe o que acha melhor, mas não pode responder a quedas repentinas ou aumentos de largura de banda. Enfim, o MBR não possui a parte “adaptativa” do ABR.

Como funciona o streaming de bitrate adaptativo?

O ABR começa com seus dados brutos e como eles são preparados antes do streaming. O vídeo é transcodificado e segmentado em pedaços. Depois disso, o processo fica a cargo do dispositivo de reprodução, que solicita esses blocos de dados de acordo com o que pode manipular, dada a largura de banda disponível.

Vejamos essas etapas com mais detalhes e alguns fatores que podem afetar como elas funcionam.

Codificação e transcodificação de vídeo

A codificação é o processo pelo qual os dados de vídeo brutos são compactados e preparados para transporte para um dispositivo de reprodução.

A transcodificação é o processo pelo qual dados já compactados são descompactados e decodificados para alterá-los de alguma forma, geralmente resultando em várias versões dos dados originais. Essas alterações geralmente são as seguintes:

Transrating e transizing se sobrepõem e são essenciais para o streaming de bitrate adaptativo. Afinal, um dispositivo de reprodução não pode acessar dados em uma taxa de bits ou resolução específica se não existir nesse formato.

Segmentação

Agora você tem uma coleção de vários tamanhos e resoluções para seus dados de vídeo que um dispositivo de reprodução pode acessar. Mas e se o dispositivo de reprodução escolher incorretamente e o bitrate do arquivo escolhido não for ideal para a largura de banda disponível?

É aqui que entra a segmentação. Também conhecido como codificação em partes (ou agrupamento), é o processo pelo qual os dados de streaming são separados em uma série de segmentos não sobrepostos antes de serem enviados ao dispositivo de reprodução. Cada pedaço geralmente varia em duração de 2 a 10 segundos. Ao dividir os dados dessa maneira, é possível ajustar o tamanho dos dados enviados para um dispositivo de reprodução no meio do stream.

Inicialização

Agora que os dados estão totalmente preparados, o dispositivo de reprodução do espectador assume o controle. Antes do início do streaming, o dispositivo de reprodução baixa um manifesto que descreve todos os fragmentos e bitrates disponíveis. Este é um menu a partir do qual o dispositivo de reprodução pode iniciar a transmissão. Normalmente, um dispositivo de reprodução vai devagar, selecionando um bitrate que pode manipular antes de ajustar.

Reprodução

Após cada segmento, o dispositivo de reprodução recalibra e solicita o próximo segmento com base nas novas informações. Por exemplo, o primeiro segmento provavelmente teve um bitrate muito menor do que o necessário. O dispositivo solicitará um bitrate mais alto para o próximo segmento. Se a largura de banda diminuir ou o dispositivo se esforçar para reproduzir um segmento, ele será ajustado para baixo ao solicitar o próximo.

Escadas de codificação (encoding ladders) para adaptação dinâmica

O espectro de arquivos transcodificados disponíveis para o dispositivo de reprodução cai no que é chamado de escada de codificação (encoding ladder). Na parte superior, um stream de alta taxa de bits, alta taxa de quadros e alta resolução é emitido para espectadores com as configurações de alta tecnologia.

Na parte inferior da escada, o mesmo vídeo em baixa qualidade está disponível para espectadores com telas menores e pouca largura de banda. Isso permite que o player alterne suavemente entre bitrates e resoluções, pois constantemente faz um balanço dos recursos disponíveis. Quanto mais sutil for sua escala de codificação, mais fácil será para o dispositivo de reprodução otimizar a experiência do visualizador.

Por exemplo, está é a escada de bitrate tradicional da Netflix:

Bitrate (kbps)   Resolução
235                      320×240
375                      384×288
560                      512×384
750                      512×382
1050                    640×480
1750                    720×480
2350                   1280×720
3000                   1920×720
4300                   1920×1080
5800                   1920×1080

Por que precisamos do streaming de bitrate adaptativo?

Antigamente, o Real-Time Messaging Protocol (RTMP) era o protocolo de referência para streaming online. Se trata do envio de streams lineares via entrega de vídeo ultrarrápida habilitada para RTMP. Esses streams RTMP foram codificados em uma taxa de bits confortavelmente menor que a largura de banda dos usuários finais. Estes foram então entregues através de um servidor de streaming dedicado como um fluxo contínuo de dados.

A indústria eventualmente mudou a favor de tecnologias baseadas em HTTP. Esses dados não eram tecnicamente streams. Em vez disso, eram downloads progressivos enviados por meio de servidores da web. Esse método de entrega funcionava baixando o vídeo enquanto você o assistia. O conteúdo pode ser armazenado em cache em servidores locais, mas não é otimizado para o tamanho da tela ou a conectividade.

Finalmente, o streaming de bitrate adaptativo entrou em ação. A distribuição de conteúdo codificou streams em muitas taxas de bits diferentes e as dividiu em fragmentos. Esses pedaços de taxa de bits múltipla seriam indexados em um manifesto e entregues a um player de mídia.

Resultado: pouquíssimo buffer, tempo de início rápido e uma boa experiência tanto para conexões de alta quanto de baixa qualidade.

Benefícios do streaming de bitrate adaptativo

Streaming de bitrate adaptativo e protocolos: quais pares são melhores?

Quando se trata de streaming de vídeo, os protocolos são um conjunto de padrões que determinam como os dados são empacotados e entregues. O protocolo que você usa é determinado em parte pelos dispositivos para os quais você deseja transmitir. O streaming ABR funciona com todos os protocolos mais populares, os quais você verá a seguir.

HLS

A Apple desenvolveu o HTTP Live Streaming (HLS), que costumava funcionar apenas com dispositivos da marca. Agora, o protocolo é independente do dispositivo, tornando-o uma opção versátil para streaming ao vivo e OTT (Over The Top). Você precisa dos formatos de codificação H.264 ou H.265 para usar este protocolo.

MPEG-DASH

Às vezes chamado de DASH, o Moving Pictures Expert Click Dynamic Adaptive Streaming over HTTP (MPEG-DASH) foi o primeiro protocolo de streaming de bitrate adaptativo a se tornar um padrão internacional. O MPEG-DASH não requer nenhum formato de codificação específico. No entanto, você não pode usá-lo nativamente com dispositivos Apple.

HDS

Originalmente projetado para funcionar com o Adobe Flash, agora descontinuado, o HTTP Dynamic Streaming (HDS) pode ser configurado para streaming sob demanda ou ao vivo. Assim como o MPEG-DASH, ele não funciona com dispositivos Apple.

WebRTC

O streaming de vídeo adaptativo pode trabalhar com Web Real-Time Communication (WebRTC) de várias maneiras. Isso pode ser feito no lado do servidor, onde o servidor está criando as várias versões dos dados de vídeo, ou no lado do cliente (também conhecido como simulcasting), onde a máquina cliente executa essa tarefa. O WebRTC é bem conhecido por seu streaming de latência ultrabaixa. No entanto, sem a ajuda de um serviço de streaming, pode não ser bem dimensionado para públicos maiores. Também não é suportado no iOS.

RTMP

Todos os protocolos acima funcionam com streaming baseado em protocolos de transferência de hipertexto (HTTP) em oposição ao protocolo de mensagens em tempo real (RTMP). O ABR foi criado para streaming baseado em HTTP. Como tal, é muito mais fácil incluir o ABR em sua solução de streaming baseada em HTTP do que em sua solução baseada em RTMP. É tecnicamente possível fazer o último funcionar, mas não é recomendado.

Conclusão

Segundo o artigo da Wowza, adotar o streaming de bitrate adaptativo para suas necessidades significa escolher um protocolo, transcodificar efetivamente seus dados de vídeo para construir sua escada de codificação e segmentar esses dados em partes menores.

Sim, sabemos que parece mais fácil falar do que fazer. Por isso, conte com a nossa equipe para esclarecer suas dúvidas sobre este processo. A K2. dispõe de plataformas profissionais de vídeo, tanto ao vivo quanto sob demanda.

Deixe um comentário abaixo ou entre em contato para ver na prática como o streaming de bitrate adaptativo pode proporcionar a melhor experiência de uso para os seus clientes.