Stream HTTP Live Streaming

M3U8 / HLS

A Apple inventou, todo aparelho da Apple reproduz, e nenhum deles salva.

Em resumo

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

iPhone · iPad Abre
Mac Abre
FoxDL Abre

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.

  1. 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.

  2. 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.

  3. 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

Um arquivo sem barra de navegação

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 transmissão ao vivo que nunca termina

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.

Um link que funcionava ontem

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.

A versão longa O que um gerenciador de downloads faz e um navegador da web não faz Por que as transferências param quando você troca de app, o que retomar realmente exige, e como streams se tornam arquivos.

Perguntas sobre este formato

De onde vêm esses fatos

Formatos parecidos

Sua biblioteca, enfim em um lugar só.

Grátis para baixar. Sem conta, sem cadastro, nada para entregar.

Baixe na App Store