Se já ouviste o termo "M3U" mas as explicações que leste mergulharam logo em tipos MIME e atributos estendidos, é esta a versão que querias. Uma M3U é um ficheiro de texto simples a conter uma lista de URLs de media. É este o conceito todo. Tudo o resto é pormenor.
Este artigo destrincha o que está mesmo lá dentro, o que distingue "M3U" de "M3U8" e de "M3U estendida", e porque é que todos os fornecedores de IPTV usam o formato.
A M3U mais simples possível
Aqui está o formato todo em três linhas:
#EXTM3U
#EXTINF:-1,Big Buck Bunny
https://example.com/bunny.mp4
Um cabeçalho (#EXTM3U), uma entrada de canal (uma linha #EXTINF seguida do URL), pronto. Qualquer leitor de media que suporte M3U lê estas três linhas e propõe reproduzir "Big Buck Bunny". Podes gravar o exemplo de cima como test.m3u, dar duplo clique e o VLC reproduz. Não há compilador, codificação nem validador de esquema. É o equivalente, em formato de ficheiro, a uma lista de compras.
O que está mesmo dentro de #EXTINF
Numa playlist IPTV real, cada canal é mais parecido com isto:
#EXTINF:-1 tvg-id="bbc1.uk" tvg-logo="https://logos.example/bbc1.png" group-title="UK",BBC One HD
http://provider.example/live/abc123/index.m3u8
As peças:
-1— a duração em segundos. Para canais em direto é sempre-1(significa "desconhecida / ilimitada"). As entradas de VOD põem aqui uma duração real.tvg-id— um identificador usado para emparelhar este canal com as suas entradas no guia eletrónico de programação. Se o ficheiro EPG listar<channel id="bbc1.uk">, o leitor IPTV sabe que aqueles dados pertencem a este canal.tvg-logo— um URL para o logótipo do canal. Opcional; se faltar, o leitor mostra um marcador de lugar.group-title— a categoria sob a qual este canal aparece no leitor. Nomes convencionais: "UK", "Desporto", "Filmes", "Notícias".BBC One HD— tudo o que vem depois da vírgula é o nome do canal tal como é apresentado.
Há ainda o URL na linha seguinte, que é o stream propriamente dito. Costuma ser uma playlist HLS (a terminar em .m3u8) ou um stream TS (a terminar em .ts).
A playlist de um fornecedor real não é mais do que milhares destas, empilhadas umas sobre as outras.
O que significa "M3U8"
M3U8 é o mesmo formato, codificado em UTF-8. A extensão .m3u8 existe porque a especificação original do M3U assumia Latin-1 ou code pages locais, que não conseguiam representar nomes de canais em árabe, cirílico ou línguas asiáticas. A M3U8 resolveu isso.
No IPTV moderno, na prática, está tudo em M3U8, mesmo quando o ficheiro tem extensão .m3u. Trata-os como sinónimos.
O que é um "URL M3U"
Quando um fornecedor de IPTV te envia um URL deste género:
http://provider.example:8080/get.php?username=ABC&password=XYZ&type=m3u_plus
Esse URL devolve um ficheiro M3U quando é pedido. O fornecedor gera o ficheiro na hora com as tuas credenciais lá dentro. O ficheiro em si é exatamente o mesmo formato de texto simples descrito acima — só é entregue por HTTP em vez de ser enviado por email em anexo.
Se quiseres ver exatamente o que o teu fornecedor envia, cola o URL no browser. A maioria dos browsers mostra o texto bruto. (Se em vez de mostrar fizerem download, abre o ficheiro descarregado num editor de texto.)
Como verificar uma playlist antes de a importar
A competência mais útil para quem está a começar em IPTV: confirmar que a playlist funciona antes de a importares para uma app. O testador de playlists M3U gratuito deste site recebe o URL, vai buscar o ficheiro, analisa a lista de canais e sonda os primeiros 100 streams em paralelo. Diz-te quantos resolvem. Se a resposta for "zero", o teu fornecedor está estragado; não percas tempo com o leitor.
Isto resulta porque o formato M3U é tão direto que dá para verificar toda a cadeia em poucos segundos sem instalar nada.

Na prática, importar uma M3U é só colar — o leitor trata do resto da análise.
Porque é que os fornecedores usam M3U
O formato tem mais de 25 anos e foi originalmente desenhado para playlists de MP3 no Winamp. Sobreviveu por duas razões: é trivial de gerar (qualquer backend é capaz de juntar uns milhares de linhas #EXTINF) e todos os leitores de media alguma vez escritos sabem lê-lo. Não há alternativa a sério. Houve tentativas — JSPF, XSPF — mas nenhuma vingou.
Se hoje constróis um leitor, suportas M3U porque toda a gente entrega M3U. Se és fornecedor, entregas M3U porque todos os leitores o leem. O formato não vai a lado nenhum.
Editar uma M3U à mão
Como é texto simples, podes editar uma playlist em qualquer editor de texto. Motivos comuns:
- Remover canais que nunca vais ver — o fornecedor dá-te 5000 canais de 80 países, tu só vês 200. Guarda uma versão mais magra.
- Recategorizar — passar
group-title="UK Sports"paragroup-title="Desporto"para consolidar. - Corrigir logótipos partidos — substituir URLs
tvg-logodesatualizados por outros que funcionem. - Combinar fornecedores — colar canais de dois ficheiros M3U num só. A maioria dos leitores lê isso sem problemas.
O ficheiro editado funciona da mesma forma que o original. Grava-o localmente como a-minha-playlist.m3u e aponta o leitor para o ficheiro (não para um URL).
O que não é
Uma M3U não é:
- Um ficheiro de vídeo. É uma lista de apontadores para vídeo.
- Um protocolo. É um formato de ficheiro. Os streams para os quais aponta podem usar qualquer protocolo.
- Uma forma de fazer canais piratas funcionar. A M3U é só texto; o que importa é se os URLs lá dentro funcionam e se os streams por trás desses URLs estão publicados legitimamente.
Se percebes "um ficheiro de texto a listar URLs", percebes M3U. Tudo o resto é o leitor e o servidor. Para o quadro mais amplo, vê o nosso guia simples sobre IPTV; para o formato alternativo que o teu fornecedor pode oferecer, vê Xtream Codes vs M3U.