Dicas práticas

Converter M3U8 para MP4: FFmpeg, VLC e erros comuns

Guarde um ficheiro ou URL M3U8 como MP4: cópia de fluxos, H.264/AAC, VLC e verificação de acesso e som.

Atualizado

M3U8 é uma lista de reprodução; MP4 é um contentor que pode guardar vídeo e áudio.

O editor não abre o M3U8 mesmo depois de mudar o nome para MP4? Confira primeiro se os segmentos referidos estão disponíveis. O guia usa uma fonte HLS concluída que possui ou tem autorização para guardar.

Separe a lista dos segmentos de vídeo

M3U8 costuma ser uma lista de texto com segmentos HLS, não o vídeo. Pode apontar para outras qualidades ou listas de áudio. Mudar a extensão para .mp4 não cria os dados de vídeo.

A lista e os recursos referidos têm de estar acessíveis. Localmente, também precisa dos .ts, .m4s e ficheiros de inicialização. Mantenha a estrutura de pastas para caminhos relativos. O guia usa uma fonte concluída, não um direto em curso.

Tente primeiro copiar os fluxos no FFmpeg

Execute primeiro ffmpeg -version num terminal novo. Se o comando não for reconhecido, confira a instalação e o caminho do executável. O exemplo escolhe o primeiro vídeo e primeiro áudio, não necessariamente a melhor qualidade ou língua. Um vídeo sem áudio gera MP4 sem som. Listas apenas de áudio precisam de outro comando; legendas e faixas restantes não são incluídas.

-c copy muda o contentor sem recodificar. Evita outra geração de compressão, mas não recupera segmentos nem torna um codec compatível com MP4. Use apenas entradas autorizadas e mantenha espaços ou parâmetros entre aspas. +faststart coloca os metadados MP4 no início para ajudar o arranque da reprodução. Não aumenta a velocidade de download da rede.

  1. Abra um terminal na pasta de destino. Para uma lista local, prepare uma cópia com os segmentos e mantenha a estrutura original de pastas.
  2. Substitua a entrada pelo caminho real ou URL da lista e escolha outro nome de saída.
  3. Execute a cópia e confira os erros e a reprodução.
Salvar MP4 sem recodificar
ffmpeg -i "input.m3u8" -map 0:v:0 -map "0:a:0?" -c copy -movflags +faststart "output.mp4"

Recodifique para compatibilidade ou utilize VLC

Se a cópia não reproduzir no destino, experimente H.264 e AAC. O comando exige libx264 e AAC no FFmpeg. A recodificação demora e pode alterar qualidade e tamanho; preserve o original. Este é um exemplo para SDR normal; converter as cores de HDR para SDR exige definições separadas.

Recodificar para compatibilidade: H.264 e AAC
ffmpeg -i "input.m3u8" -map 0:v:0 -map "0:a:0?" -c:v libx264 -crf 20 -preset medium -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart "output-compatible.mp4"

No Windows, VLC costuma usar Media → Convert/Save, entrada Network, perfil e destino. O perfil pode chamar-se H.264 + MP3 (MP4); AAC e os nomes variam com a versão. Os menus do macOS são diferentes.

  1. Procure Media → Convert/Save e o separador Network.
  2. Introduza o URL M3U8 e selecione Convert.
  3. Confira o perfil MP4 e um novo destino .mp4.
  4. Escolha Start e abra o resultado. Se o ecrã diferir, consulte a ajuda da sua versão.

Distinga 403, 404 e falta de som

Em 403, veja permissões e validade; em 404, endereço alterado ou removido. Se falhar um segmento, confira caminho e inicialização. Mover pastas locais também quebra referências. Recodificar não substitui dados em falta.

Sem som, veja a existência de áudio, uma lista separada e a faixa escolhida. A primeira pode não ser a língua desejada. Use endereços atuais autorizados ou downloads oficiais. Para DRM e restrições, use o método de guardar disponibilizado pelo serviço.

Confira opções móveis e o resultado

No telemóvel, procure primeiro download oficial ou função offline. Veja se um conversor online precisa dos segmentos e envia ficheiros ou URLs para servidores. Leia tratamento e retenção antes de fornecer vídeos privados ou ligações autenticadas.

Reproduza início, meio e fim com som e compare a duração. Um direto sem marca final pode não terminar automaticamente; segmentos antigos removidos continuam ausentes. Prefira VOD concluído. A demonstração usa o nosso próprio HLS curto e finalizado.

Inspecionar o resultado: fluxos e duração Substitua output.mp4 pelo nome que guardou. O exemplo de recodificação cria output-compatible.mp4.
ffprobe -v error -show_entries format=duration:stream=codec_type,codec_name,width,height -of json "output.mp4"
Este MP4 foi guardado a partir do nosso próprio exemplo HLS curto. Confira a duração e o som.

Compare a duração e reproduza início, meio e fim com som. Partilhe o MP4 verificado e conserve a lista e os segmentos originais até terminar a revisão.

Ferramentas

Fontes

Baseado em documentação pública; não é uma auditoria completa de funções ou segurança.

Todos os guias →