O HTTP live streaming (HLS) é um protocolo de streaming de vídeo amplamente usado que pode ser executado em praticamente qualquer servidor e é aceito pela maioria dos dispositivos. Ele permite que os dispositivos clientes se adaptem perfeitamente a mudanças nas condições da rede aumentando ou diminuindo a qualidade da transmissão.
Após ler este artigo, você será capaz de:
Conteúdo relacionado
O que é MPEG-DASH?
Codificação de live streaming
O que é live streaming?
O que é streaming?
Formatos de codificação de vídeo
Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.
Copiar o link do artigo
O HTTP live streaming (HLS) é um dos protocolos de transmissão de vídeo mais amplamente utilizados. Embora seu nome contenha a expressão "ao vivo" (live), é usado tanto para streaming ao vivo quanto sob demanda. O HLS divide os arquivos de vídeo em arquivos HTTP menores para download e os distribui usando o protocolo HTTP. Os dispositivos clientes carregam esses arquivos HTTP e os reproduzem em forma de vídeo.
Uma vantagem do HLS é que todos os dispositivos conectados à internet são compatíveis com HTTP, tornando sua implementação mais simples que a de protocolos de streaming que exigem o uso de servidores especializados. Outra vantagem é que um streaming HLS pode aumentar ou diminuir a qualidade do vídeo, dependendo das condições da Rede, sem interromper a reprodução. É por isso que a qualidade do vídeo pode melhorar ou piorar no meio da reprodução enquanto o usuário está assistindo. Esse recurso é conhecido como "transmissão de vídeo com taxa de bits adaptável" ou "streaming com taxa de bits adaptável" e na sua ausência as Redes mais lentas podem interromper de vez a reprodução do vídeo.
O HLS foi desenvolvido pela Apple para ser usado nos produtos da empresa, mas atualmente vem sendo usado em uma ampla variedade de dispositivos.
Streaming é uma forma de distribuição de mídia audiovisual aos usuários pela internet e funciona enviando continuamente o arquivo de mídia para o dispositivo do usuário um pouco de cada vez, ao invés de enviar tudo de uma vez. O arquivo de mídia original é armazenado remotamente ou, no caso da transmissão ao vivo (live streaming), criado em tempo real com uma câmera ou microfone remoto. Dessa forma, o vídeo ou áudio podem ser reproduzidos sem que o dispositivo do usuário baixe o arquivo inteiro primeiro.
O HTTP é um protocolo da camada de aplicação que serve para transferir informações entre dispositivos conectados a uma rede. Todos os sites e aplicações com acesso para usuários frequentes são executados em HTTP. A transferência de dados por HTTP geralmente se baseia em solicitações e respostas. Quase todas as mensagens em HTTP são uma solicitação ou uma resposta a uma solicitação.
Com o streaming por HTTP, a estrutura padrão solicitação-resposta não é utilizada. A conexão entre o cliente e o servidor permanece aberta durante a transmissão e o servidor envia os dados de vídeo ao cliente de forma que o cliente não precise solicitar cada segmento de dados de vídeo.
Servidor: um streaming HLS se origina do servidor no qual (no caso de streaming sob demanda) o arquivo de mídia está armazenado ou no qual (no caso de transmissão ao vivo) o streaming está sendo criado. Como o HLS é baseado em HTTP, qualquer servidor web comum pode originar o streaming.
Dois processos principais ocorrem no servidor:
Distribuição: os segmentos de vídeo codificados são enviados aos dispositivos clientes pela internet quando o streaming é solicitado. De modo geral, uma rede de distribuição de conteúdo (CDN) ajudará a distribuir o streaming para áreas geograficamente diferentes. Uma CDN também costuma armazenar o streaming em cache para entregá-lo aos clientes ainda mais rapidamente.
Dispositivo cliente: dispositivo cliente é o dispositivo que recebe o streaming e reproduz o vídeo, como, por exemplo, o smartphone ou laptop de um usuário. O dispositivo cliente usa o arquivo de índice como referência para montar o vídeo na ordem certa e alterna entre uma qualidade de imagem superior e inferior (e vice-versa) conforme necessário.
Uma das vantagens do HLS em relação a alguns dos outros protocolos de streaming é a taxa de bits adaptável, ou seja, a capacidade de ajustar a qualidade do vídeo no meio de uma transmissão à medida que as condições da rede mudam. Essa capacidade permite que os vídeos continuem sendo reproduzidos mesmo se as condições da rede piorarem; por outro lado, também maximiza a qualidade do vídeo para que seja sempre a máxima que a rede consegue comportar.
Se a rede ficar mais lenta, o player de vídeo do usuário detecta isso e o streaming com taxa de bits adaptável reduz a qualidade da transmissão de modo que a reprodução do vídeo não seja interrompida. Se houver mais largura de banda de rede disponível, o streaming com taxa de bits adaptável aumenta a qualidade da transmissão.
O streaming com taxa de bits adaptável é possível porque o HLS cria vários segmentos de transmissão duplicados com diferentes níveis de qualidade durante o processo de segmentação e o player de vídeo do usuário pode alternar facilmente entre esses streams durante a reprodução do vídeo.
TCP e UDP são protocolos de transporte, ou seja, são responsáveis pela distribuição do conteúdo pela internet. O TCP tende a fornecer dados de maneira mais confiável que o UDP, mas este último é muito mais rápido, ainda que alguns dados se percam pelo caminho.
Como o UDP é mais rápido, alguns protocolos de streaming preferem usá-lo ao invés do TCP. O HLS, no entanto, opta pelo TCP por diversas razões:
Existem diversos protocolos semelhantes ao HLS, como o MPEG-DASH e o HDS, que também são executados em HTTP e oferecem streaming com taxa de bits adaptável. O Adobe Flash, que rodava no protocolo RTMP ou HDS, costumava ser a principal tecnologia para a transmissão de vídeos, mas, atualmente, muitos navegadores deixaram de ser compatíveis com o Flash. Por outro lado, o RTMP ainda é usado, embora a compatibilidade com ele não seja mais tão comum.
A Cloudflare é compatível com o HLS, tanto para streaming ao vivo quanto sob demanda. O Cloudflare Stream integra o armazenamento de vídeo, a codificação e um player personalizável à rápida, segura e confiável rede da Cloudflare, que abrange 330 cidades em mais de 120 países. Isso permite que os usuários no mundo inteiro recebam transmissões rápidas e de alta qualidade por HLS. Saiba mais sobre o Cloudflare Stream.