M3U8 / HLS
A Apple inventou, todo aparelho da Apple reproduz, e nenhum deles salva.
Um arquivo .m3u8 é uma playlist, não um vídeo: alguns quilobytes de texto listando milhares de segmentos pequenos para serem buscados em ordem. É esse desenho que faz o HLS rodar sem falha em todo aparelho da Apple e que faz “salvar este arquivo” produzir um documento de texto. Baixar um significa buscar cada segmento e reconstruir um arquivo que nunca existiu.
30 de julho de 2026
Aberto sem ajuda por
HLS é a especificação da própria Apple e tem suporte de primeira classe em tudo — Safari, AVPlayer, AirPlay. O que não tem suporte em lugar nenhum do sistema é transformar um stream ao vivo em um arquivo no disco. Reproduzir e guardar são problemas completamente diferentes.
Os fatos
| Nome completo | HTTP Live Streaming; a playlist é um M3U em UTF-8 |
|---|---|
| Tipo | Protocolo de streaming, entregue como uma playlist de texto |
| Extensões | .m3u8 (a playlist), .ts ou .m4s (os segmentos para os quais ela aponta) |
| Publicado | 2009, Apple; padronizado como RFC 8216 em 2017 |
| Duração típica de um segmento | De 2 a 10 segundos cada — uma hora de vídeo são centenas a milhares de arquivos |
| Playlist mestre vs. de mídia | A mestre lista os níveis de qualidade; cada um deles aponta para uma playlist de mídia com os segmentos de verdade |
| Vídeo dentro dos segmentos | H.264 ou HEVC, de vez em quando AV1 |
| Transmissões ao vivo | A playlist é buscada de novo a cada poucos segundos e cresce enquanto a transmissão continua |
Um sumário, não um livro
Abra um .m3u8 num editor de texto e você vai encontrar algumas dezenas de linhas: um cabeçalho, alguns parâmetros e uma lista longa de endereços. É o arquivo inteiro. O vídeo mora em outro lugar, cortado em segmentos de poucos segundos cada, num servidor, como milhares de arquivinhos separados.
O player lê a lista, busca os primeiros segmentos, começa a reproduzir e continua buscando adiante de si mesmo. Quando a sua conexão fica lenta, ele troca para uma variante de qualidade menor listada na playlist mestre — um conjunto diferente de segmentos, com outra taxa de bits — e faz isso entre segmentos, então você vê uma mudança de qualidade em vez de uma pausa. Essa troca adaptativa é a razão pela qual o formato venceu.
Isso também explica algo que surpreende as pessoas: não existe um arquivo único para ter. O filme que você está assistindo não existe como objeto em lugar nenhum. São mil pedaços e um conjunto de instruções.
Por que salvar te dá um arquivo de texto
Porque foi isso que você salvou. O navegador pediu o endereço que você deu, recebeu quatro quilobytes de playlist e escreveu no disco. Tudo o que você realmente assistiu chegou por meio de mil requisições separadas das quais a operação de salvar não sabia nada.
Baixar HLS do jeito certo significa fazer o que o player faz, mas para o disco: ler a playlist, escolher uma variante de qualidade, buscar cada segmento em ordem e então costurá-los num contêiner só. Esse último passo se chama remux — o vídeo e o áudio não são recodificados, apenas reescritos dentro de um único MP4 com um índice adequado, para que o resultado aceite arrastar a barra.
Duas coisas deixam isso mais difícil do que parece. Endereços de segmento costumam ser relativos e mudam a cada sessão, então uma lista buscada há uma hora pode já estar morta. E os streams são frequentemente criptografados com uma chave referenciada na playlist, entregue separadamente e trocada durante a reprodução.
Colocando um num aparelho
Só para streams que você tem o direito de guardar — a sua própria gravação, a sua própria assinatura de IPTV, uma emissora que oferece download. O que vem a seguir é como o mecanismo funciona, não permissão para apontá-lo para qualquer lugar.
- Deixar um motor de download cuidar dos segmentos
Buscar mil arquivos e remuxá-los é exatamente o trabalho que o downloader do FoxDL faz com uma origem HLS: ele percorre a playlist, puxa os segmentos em paralelo e escreve um MP4 que aceita arrastar a barra como um arquivo normal. O que chega é um arquivo, não uma pasta de pedaços.
- Pegar o arquivo direto quando existe um
Muitos sites servem tanto HLS quanto um MP4 progressivo simples. O MP4 é uma requisição, um arquivo e nenhuma reconstrução — sempre a melhor opção quando está disponível.
- Aceitar que alguns não podem ser guardados
Streams protegidos com DRM — FairPlay, Widevine — são criptografados de ponta a ponta e não são baixáveis por projeto. Nenhuma ferramenta muda isso, e uma que diga o contrário está mentindo sobre alguma coisa.
Onde downloads de HLS dão errado
Segmentos concatenados sem remux produzem um arquivo reproduzível sem índice. Ele toca do início e não pula para lugar nenhum. O remux escreve o índice que resolve isso.
Uma playlist ao vivo não tem fim — ela fica crescendo. Baixar uma é gravar, e para quando você para, não quando o arquivo acaba.
Endereços de playlist normalmente são assinados e têm prazo. Um .m3u8 salvo hoje de manhã frequentemente não aponta para nada à tarde.
Perguntas sobre este formato
De onde vêm esses fatos
- RFC 8216 — HTTP Live Streaming IETF
- HTTP Live Streaming Apple Developer
Formatos parecidos
Sua biblioteca, enfim em um lugar só.
Grátis para baixar. Sem conta, sem cadastro, nada para entregar.