Tutorial · HLS · MP4

Como converter M3U8 em MP4 (3 métodos que funcionam em 2026)

M3U8 é uma playlist, não um arquivo de vídeo. Para virar um único MP4, é preciso baixar cada segmento, fazer mux de áudio e vídeo, e gravar em um container limpo. Três métodos, ordenados por facilidade de uso.

Pela equipe Vidora 9 min de leitura

"Converter M3U8 em MP4" é uma das buscas mais comuns relacionadas a streaming de vídeo, e uma das mais enganosas. Arquivos M3U8 não são vídeos. São pequenos arquivos de texto que listam dezenas a milhares de URLs de segmentos, com streams separados de vídeo e áudio na maior parte dos casos. Converter um em MP4 significa baixar cada segmento, descriptografar se preciso e fazer mux de tudo em um único container. O método certo depende do que você tem à disposição e da frequência com que precisa fazer isso.

Este guia percorre os três métodos que funcionam de forma consistente em 2026. Foco nos casos de uso legítimos: arquivar seu próprio conteúdo, salvar cursos comprados legalmente, fazer backup de vídeos para os quais você tem permissão explícita. Não cobrimos streams protegidos por DRM (Netflix, Disney Plus, Prime Video), e nenhum método aqui funciona contra eles.

1. Contexto rápido: M3U8 é playlist, não vídeo

Se você já abriu um arquivo M3U8 em um editor de texto, viu algo assim:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:9.96,
segment-001.ts
#EXTINF:9.92,
segment-002.ts
#EXTINF:9.96,
segment-003.ts
...
#EXT-X-ENDLIST

Cada linha .ts é um pedacinho de vídeo, normalmente de 6 a 10 segundos. Um vídeo de 30 minutos vira de 180 a 300 segmentos. Para chegar em um MP4 único, o conversor precisa:

  1. Baixar todos os segmentos em ordem
  2. Se a playlist master apontar para uma playlist de áudio separada, baixar esses segmentos também
  3. Se os segmentos estiverem criptografados em AES-128, buscar a chave e descriptografar
  4. Fazer mux dos segmentos em um container MP4, idealmente sem reencodar

Pule qualquer passo e você fica com um arquivo quebrado: sem áudio, vídeo travado ou estática. O detalhe que você não consegue ver na playlist é se o stream está criptografado. Temos um aprofundamento no guia de M3U8 criptografado, e o formato em si é coberto no nosso explicador sobre M3U8 (em inglês).

2. Método 1: extensão de browser (um clique)

Se você consegue reproduzir o vídeo em um browser, uma extensão de browser geralmente consegue salvar. A extensão roda dentro da sua sessão autenticada, herda seus cookies e cuida do mux de forma transparente. Sem extração de URL, sem linha de comando.

Passo a passo com o Vidora

  1. Instale o Vidora pela Chrome Web Store. Funciona no Chrome, Edge, Brave, Opera, Vivaldi e qualquer browser baseado em Chromium.
  2. Abra a página que hospeda o vídeo. Clique Play uma vez para que o player busque o manifesto M3U8. O Vidora detecta automaticamente.
  3. Clique no ícone do Vidora. As qualidades disponíveis aparecem no popup, com estimativas de tamanho de arquivo.
  4. Escolha uma qualidade e clique em Baixar. O Vidora pega cada segmento em paralelo (até seis ao mesmo tempo), faz o mux de áudio e vídeo e grava um único MP4 na sua pasta de Downloads.

A saída fica no codec e bitrate originais, sem reencode. Um stream 1080p de 30 minutos costuma ser salvo em 2 a 4 minutos numa conexão normal.

Trade-offs

3. Método 2: ffmpeg na linha de comando

O ffmpeg é o canivete suíço do processamento de vídeo e a opção mais portátil. Roda em Windows, macOS, Linux e qualquer sistema para o qual você consiga compilar um binário. Com a URL M3U8 e os headers em mãos, a conversão é um único comando.

O comando mínimo

ffmpeg -i "https://cdn.example.com/playlist.m3u8" -c copy output.mp4

A flag -c copy é crítica: diz ao ffmpeg para fazer mux dos segmentos sem reencode. A saída preserva o bitrate original, a conversão termina no tempo necessário para baixar e não há perda de qualidade.

O comando realista (para streams que pedem autenticação)

Se a URL M3U8 precisa de Referer ou cookies de sessão, capture do DevTools e passe ao ffmpeg:

ffmpeg \
  -headers $'Referer: https://source.example.com/\r\nCookie: session=abc123\r\n' \
  -i "https://cdn.example.com/playlist.m3u8" \
  -c copy \
  output.mp4

Para encontrar a URL M3U8 e os headers, nosso tutorial de DevTools percorre os passos exatos na aba Network. A documentação oficial do ffmpeg sobre opções de protocolo está no site do ffmpeg.

Quando o ffmpeg é a escolha certa

4. Método 3: conversores online (e seus limites)

Vários sites oferecem conversão M3U8 para MP4 no browser: cole uma URL, baixe um MP4. São tentadores porque não exigem instalar nada, mas falham muito mais do que funcionam, por três razões estruturais.

Por que conversores online geralmente falham

  1. Sem contexto de sessão. O conversor roda num servidor remoto. Não tem acesso aos seus cookies, ao Referer da página de origem nem aos tokens de auth gerados em JavaScript. Qualquer M3U8 atrás de paywall, login ou URL assinada retorna 403 Forbidden.
  2. Sem suporte a AES-128. A maioria das ferramentas online baratas concatena segmentos brutos sem checar a tag EXT-X-KEY. Streams criptografados produzem saídas quebradas que reproduzem como estática.
  3. Riscos de privacidade. A URL que você cola, mais qualquer metadado extraído, vai parar nos logs do conversor. Seus arquivos de vídeo são processados num servidor que você não controla. Para conteúdo privado, é fora de cogitação.

Quando um conversor online é aceitável

Para um M3U8 público e sem criptografia (uma palestra de conferência gratuita, um recurso educacional aberto, um clipe Creative Commons), um conversor online economiza tempo de instalação. É a ferramenta certa para uso uma vez por ano. Para todo o resto, use um método que rode localmente.

5. Qual método escolher: tabela comparativa

Critério Extensão de browser ffmpeg Conversor online
Tempo de setup2 minutos15 minutos (instalação + DevTools)0
Funciona em streams privadosSimSim (com headers capturados)Não
Trata AES-128SimSimRaramente
Sem reencodeSimSim (com -c copy)Varia
Uso em loteManual, uma aba por vezExcelenteSofrido
PrivacidadeLocalLocalServidor remoto

Para 95 por cento dos usuários, a extensão de browser é a resposta certa. O ffmpeg é a escolha certa se você vive em terminal ou processa em lote. Conversores online são paliativo para arquivos públicos pontuais.

6. Solução de problemas comuns

A saída reproduz como estática ou cor sólida

A ferramenta ignorou a tag EXT-X-KEY e gravou os bytes criptografados crus. Troque por uma ferramenta que trata AES-128 (Vidora, ffmpeg, yt-dlp) e baixe de novo. Bytes criptografados já gravados não podem ser recuperados sem a chave aplicada na hora do fetch.

Sem áudio na saída

A maioria das playlists HLS adaptativas entrega áudio e vídeo como streams separados. Alguns downloaders pegam só o vídeo. ffmpeg com -c copy trata isso nativamente. Para yt-dlp, adicione --merge-output-format mp4. O Vidora faz o mux dos dois de forma transparente.

O arquivo ficou bem maior do que o esperado

A ferramenta reencodou o vídeo. Use -c copy com ffmpeg, o modo padrão do Vidora ou qualquer ferramenta que pule reencode explicitamente. Reencodar gasta tempo e degrada a qualidade.

A conversão para no meio

Um ou mais segmentos falharam (403 Forbidden, token expirado, instabilidade de rede). Reproduza a página de origem novamente para atualizar tokens e reinicie. O ffmpeg tem o par de flags -reconnect 1 -reconnect_streamed 1, que ajuda em falhas intermitentes.

A ferramenta não encontra a playlist

Provavelmente você tentou converter antes do player buscar o M3U8. Clique Play na aba de origem, espere dois segundos e dispare a conversão. Players com lazy-loading só pedem o manifesto quando a reprodução começa.

7. Perguntas frequentes

Posso converter M3U8 em MP4 sem ffmpeg?

Sim. Uma extensão de browser rodando na sua sessão autenticada é o caminho mais simples: detecta o M3U8 automaticamente, baixa cada segmento, faz o mux e grava um único MP4. Sem linha de comando, sem extração manual de URL. O Vidora faz isso em um clique.

Por que meu MP4 convertido ficou bem maior que a fonte?

A ferramenta reencodou o vídeo em vez de fazer mux. Use -c copy com ffmpeg ou uma ferramenta como o Vidora, que faz mux dos streams como estão. Reencodar adiciona overhead e pode degradar a qualidade.

Por que não tem áudio no meu MP4 convertido?

A maioria das playlists HLS adaptativas entrega áudio e vídeo como streams separados. Alguns downloaders pegam só o vídeo. ffmpeg com -c copy resolve nativamente. O Vidora trata o mux de forma transparente.

Quanto tempo leva a conversão?

Sem reencode, mais ou menos o tempo necessário para baixar os segmentos. Um stream 1080p de 30 minutos leva de 2 a 4 minutos numa conexão normal. Reencodar pode multiplicar isso por 5 a 10 dependendo do preset do codec.

Conversores online lidam com streams privados ou pagos?

Geralmente não. Conversores online rodam num servidor remoto sem acesso à sua sessão de browser, aos seus cookies ou ao Referer que o CDN espera. Funcionam só em URLs M3U8 públicas e sem autenticação.

Posso converter dezenas de arquivos M3U8 em lote?

O ffmpeg é a ferramenta certa para uso em lote: um simples loop de shell processa uma pasta de URLs sem supervisão. Extensões de browser não são feitas para uso em lote, e conversores online viram um inferno passando de 5 a 10 arquivos.

Sobre o autor

RGC Digital LLC desenvolve o Vidora, uma extensão Pro do Chrome para download de vídeo do Vimeo, Bunny.net, streams HLS e MP4. Sediada em Albuquerque, NM. Escrevemos sobre ferramentas de vídeo, protocolos de streaming e desenvolvimento de extensões para Chrome.

Leituras relacionadas