HLS ou DASH: como os protocolos de streaming realmente funcionam

Antes do streaming, assistir a um vídeo pela internet significava baixar o arquivo inteiro primeiro e só depois reproduzi-lo. Um vídeo de 500 MB precisava chegar por completo ao dispositivo, mesmo que você só quisesse assistir aos primeiros 30 segundos. Os protocolos de streaming resolvem exatamente esse problema: dividem o vídeo em pequenos trechos e começam a reprodução enquanto o restante ainda está sendo baixado.

Segmentação: a base do streaming

Considere o HLS (HTTP Live Streaming, criado pela Apple), o protocolo mais comum: o servidor divide o vídeo completo em vários arquivos pequenos, chamados segmentos, normalmente com duração de 2 a 10 segundos e encapsulados em MPEG-TS ou fMP4. Ele também gera um arquivo de playlist (.m3u8) que registra a ordem e os endereços dos segmentos. O player busca a playlist primeiro e depois baixa os segmentos conforme a necessidade: termina um, busca o próximo, quase sem espera.

Player de vídeo online

Taxa de bits adaptativa: por que a reprodução não trava em uma conexão fraca

Tanto o HLS quanto o DASH (Dynamic Adaptive Streaming over HTTP, promovido pela Microsoft e por outras empresas) preparam vários conjuntos de segmentos do mesmo vídeo em diferentes resoluções e taxas de bits; por exemplo, um conjunto em 1080p, outro em 720p e outro em 480p. Todos são listados em uma playlist principal. O player monitora em tempo real a velocidade de download e o nível do buffer: aumenta a taxa de bits quando a rede está boa e reduz quando ela piora, mantendo a reprodução contínua. Isso é o streaming com taxa de bits adaptativa (ABR), e é por isso que os vídeos ficam borrados automaticamente quando você está no metrô.

Por que baixar um link m3u8 costuma dar errado

Baixar uma URL .m3u8 diretamente só fornece alguns KB de texto: a playlist, não o vídeo em si. Para realmente salvar o vídeo, uma ferramenta precisa analisar a playlist, baixar todos os segmentos e juntá-los novamente na ordem correta. Por isso, muitos aplicativos de download não oferecem suporte a vídeos HLS ou exigem uma etapa específica para unir os segmentos. O TakeVid já inclui detecção de segmentos e união automática, então o download resulta em um arquivo completo e pronto para reproduzir.

Baixador de M3U8

  • HLS: criado pela Apple, usa playlists .m3u8, tem suporte nativo no iOS/Safari e atende tanto a transmissões ao vivo quanto a vídeos sob demanda.
  • DASH: um padrão aberto com manifestos .mpd, usado em grande escala pelo YouTube, Netflix e outros serviços.
  • Ambos funcionam sobre HTTP comum, são adequados para CDNs e dominam o streaming atualmente.

Baixador de DASH

Voltar para Todos os Artigos