O que é o protocolo M3U8? Guia completo do streaming HLS
Índice
O que é M3U8
M3U8 é um arquivo de playlist multimídia codificado em UTF-8 — essencialmente um arquivo de texto puro que descreve os endereços de um conjunto de arquivos de mídia (normalmente segmentos de vídeo). Ele é o formato de arquivo central do protocolo HLS (HTTP Live Streaming).
Diferente de um arquivo MP4 único e tradicional, o M3U8 divide um vídeo completo em muitos pequenos segmentos TS. A playlist registra a ordem e os endereços desses segmentos, e o player os baixa e reproduz em sequência, viabilizando a transmissão por streaming.
Introdução ao protocolo HLS
O HLS é um protocolo de streaming proposto pela Apple, cuja maior característica é ser baseado em HTTP. Isso significa que ele atravessa a grande maioria dos firewalls e CDNs, com baixo custo de implantação e ótima compatibilidade.
O fluxo de trabalho do HLS pode ser resumido em três etapas:
- O servidor fatia o vídeo em vários arquivos TS pequenos e gera uma playlist m3u8.
- O cliente baixa a playlist m3u8 e extrai os endereços de todos os segmentos.
- O cliente baixa os segmentos TS em ordem e os reproduz continuamente, permitindo "assistir enquanto baixa".
Estrutura da playlist
Uma playlist m3u8 típica tem a seguinte aparência:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:10.0,
segment-000.ts
#EXTINF:10.0,
segment-001.ts
#EXT-X-ENDLIST
Onde:
#EXTM3U: cabeçalho do arquivo, indica que se trata de um arquivo m3u8.#EXT-X-TARGETDURATION: duração máxima (em segundos) de um único segmento.#EXTINF: duração do próximo segmento.#EXT-X-ENDLIST: marca de fim de um stream sob demanda (streams ao vivo não possuem essa marca).
Taxa de bits adaptativa
Uma grande vantagem do HLS é o suporte à taxa de bits adaptativa (ABR). O servidor pode oferecer várias playlists m3u8 em diferentes qualidades (chamada de playlist mestre), e o player escolhe automaticamente a qualidade mais adequada conforme a largura de banda disponível, garantindo reprodução fluida mesmo com oscilações de rede.
É por isso que, ao assistir vídeos online, a nitidez da imagem muda automaticamente de acordo com as condições da sua conexão.
Conclusão
O M3U8 é o formato de arquivo central do streaming HLS. Ao dividir o vídeo em pequenos segmentos organizados por uma playlist, ele possibilita uma transmissão eficiente baseada em HTTP. Combinado à taxa de bits adaptativa, o HLS se tornou um dos protocolos mais usados em transmissões ao vivo e sob demanda na internet.
Quer experimentar a reprodução de m3u8 na prática? Acesse o player online e teste agora.