O Que É uma Playlist M3U? Formato, Exemplos e Configuração no Leitor
O que é uma playlist M3U, como funcionam as 2 tags centrais da RFC 8216 EXTM3U e EXTINF, a diferença real entre M3U e M3U8, e como um leitor a carrega.
Uma playlist M3U é um ficheiro de texto simples. É essa a definição completa. A confusão à sua volta vem de duas comunidades diferentes que estendem esse mesmo formato simples em direções distintas.
Os engenheiros de streaming usam o M3U8 tal como a RFC 8216 o define: como o formato de playlist por trás do streaming de vídeo HLS. Os fornecedores de IPTV usam o M3U simples de forma informal, acrescentando as suas próprias tags para nomes e logótipos de canais que nunca fizeram parte de nenhuma especificação oficial. Ambos os usos são corretos. Este guia separa claramente os dois casos, mostra um exemplo anotado de cada um e explica onde o ficheiro se encaixa quando estiver pronto para o carregar num leitor.
Principais conclusões
- Uma playlist M3U é uma lista de texto simples de entradas de transmissão, que começa com a tag
#EXTM3U.- M3U8 significa especificamente que o ficheiro está codificado em UTF-8, segundo a secção 4.1 da RFC 8216. É essa a diferença prática face ao M3U simples.
- Tags ao estilo IPTV como
tvg-idegroup-titlesão uma convenção amplamente usada, não fazem parte da especificação oficial do HLS.
O que é, exatamente, uma playlist M3U?
Uma playlist M3U é um ficheiro de texto que indica a um leitor de media o que reproduzir e por que ordem, uma entrada por linha. Na sua forma estendida, o ficheiro abre com #EXTM3U como primeira linha, um requisito definido na RFC 8216, secção 4.3.1.1.
Cada entrada pode ser precedida por uma tag #EXTINF, que a mesma RFC define na secção 4.3.2.1 como #EXTINF:<duração>,[<título>]: um valor de duração seguido de um título opcional. É este todo o formato base: uma linha de cabeçalho, depois pares de metadados e URLs. Tudo o resto que encontrar numa playlist real é uma extensão sobreposta a esta estrutura mínima.
M3U vs. M3U8: qual é a diferença real?
M3U8 significa especificamente que a playlist está codificada em UTF-8, um requisito que a RFC 8216 estabelece diretamente na secção 4.1. O M3U simples, pelo contrário, não tem uma convenção de codificação fixa. É anterior a qualquer requisito formal e foi historicamente tratado como Latin-1 ou o que quer que fosse a predefinição do sistema local.
| M3U | M3U8 | |
|---|---|---|
| Codificação | Não fixa (historicamente Latin-1 ou predefinição do sistema) | UTF-8, exigido pela RFC 8216 §4.1 |
| Regido por uma especificação? | Sem uma norma única | Sim, RFC 8216 (para uso em HLS) |
| Extensão de ficheiro habitual | .m3u |
.m3u8 |
| Sintoma comum de incompatibilidade | Nomes de canais com acentos ou caracteres não latinos ilegíveis | N/A quando a codificação está correta |
Nota-se a distinção de codificação sobretudo quando um nome de canal usa caracteres acentuados ou um alfabeto não latino. Se um leitor esperar UTF-8 e receber um ficheiro codificado de forma diferente, esses caracteres podem aparecer como símbolos ilegíveis, mesmo que a playlist funcione bem no resto. Quando vir caracteres corrompidos nos nomes dos canais mas tudo continuar a reproduzir, a causa costuma ser a codificação, não a estrutura da playlist em si.
Exemplo anotado — uma playlist HLS M3U8 padrão
A RFC 8216 define diretamente este formato: uma playlist composta por referências a segmentos, cada um com a sua duração #EXTINF, usada para entregar uma única transmissão em pedaços. É este o formato que carrega de facto o nome "M3U8" na própria especificação.
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:9.009,
segment-000.ts
#EXTINF:9.009,
segment-001.ts
#EXTINF:9.009,
segment-002.ts
#EXT-X-ENDLIST
Cada linha importa aqui. #EXT-X-VERSION e #EXT-X-TARGETDURATION são tags específicas do HLS, da mesma RFC, e cada ficheiro .ts é um pequeno segmento de vídeo que o leitor obtém em sequência. É este o formato sobre o qual assenta de facto a infraestrutura de vídeo web. Raramente é o que um fornecedor de IPTV lhe entrega diretamente, mas é frequentemente o que o seu leitor está a obter em segundo plano assim que uma fonte está a reproduzir.
As implementações reais de HLS costumam acrescentar mais uma camada: uma playlist principal, marcada com #EXT-X-STREAM-INF, que lista várias versões da mesma transmissão em diferentes taxas de bits ou resoluções e permite ao leitor alternar entre elas consoante as condições da rede. Um único URL que lhe seja fornecido pode apontar para essa playlist principal, em vez de diretamente para a lista de segmentos mostrada acima; o leitor resolve o resto automaticamente.
A maioria dos explicadores focados em IPTV ignora por completo esta estrutura em camadas, já que as playlists IPTV raramente a usam. Ainda assim é importante: é a estrutura real que um leitor de vídeo foi construído para compreender, mesmo quando o ficheiro M3U que lhe entregam não se parece nada com isto.
Exemplo anotado — uma playlist M3U típica ao estilo IPTV
Os fornecedores de IPTV estendem o formato base de modo informal, acrescentando atributos como tvg-id, tvg-logo e group-title a cada entrada. Nenhum destes está definido na RFC 8216. São uma convenção de facto que se espalhou entre leitores e fornecedores de IPTV por serem úteis, não porque um organismo de normalização os tenha especificado.
#EXTM3U
#EXTINF:-1 tvg-id="canal.um" tvg-logo="https://exemplo-fornecedor.test/logo1.png" group-title="Notícias",Canal Um
https://exemplo-fornecedor.test/stream/TOKEN_CANAL_1
#EXTINF:-1 tvg-id="canal.dois" tvg-logo="https://exemplo-fornecedor.test/logo2.png" group-title="Desporto",Canal Dois
https://exemplo-fornecedor.test/stream/TOKEN_CANAL_2
Os URLs e tokens acima são exemplos fictícios — nunca publique nem partilhe um URL de playlist real publicamente. Quem tiver o link verdadeiro pode usar a sua fonte, tal como quem tiver uma palavra-passe pode entrar numa conta.
Repare na duração -1: é uma convenção para transmissões em direto, que significa "sem duração fixa", diferente das durações finitas de segmentos no exemplo HLS acima. A mesma tag, com um significado prático diferente consoante qual das duas tradições produziu o ficheiro.
Onde entra a EPG?
Alguns ficheiros M3U incluem um cabeçalho url-tvg= que aponta para um ficheiro de guia de programação separado, mas os dados do guia em si vivem fora da playlist. A playlist diz a um leitor que transmissões existem; um ficheiro XMLTV separado diz-lhe o que está programado em cada uma.
Essa separação é deliberada, não uma limitação. Os fornecedores podem atualizar os dados do guia segundo o seu próprio calendário, várias vezes por dia se a programação mudar, sem tocar na playlist em si. A lista de canais e o horário são dois ficheiros mantidos de forma independente que, ainda assim, funcionam em conjunto.
Se a sua M3U incluir um cabeçalho url-tvg=, um leitor que o suporte pode obter os dados do guia automaticamente, sem ter de introduzir um segundo URL à mão. Se não incluir, o guia tem de ser adicionado à parte, o que é um passo de configuração diferente do de adicionar a playlist em si e está fora do âmbito deste artigo.
Como é que um leitor como o IPTV Expert usa um ficheiro M3U?
Um leitor só precisa de duas coisas para usar uma fonte M3U: um nome à sua escolha e o URL da playlist em si. É exatamente essa a informação que o formulário de adicionar fonte do IPTV Expert pede, nada mais, sem qualquer passo separado para analisar tags como tvg-logo manualmente.

Assim que guarda esses dois campos, a app transfere o ficheiro a partir desse URL e analisa-o antes de considerar a fonte ativa. Lê as entradas #EXTINF, recolhe pelo caminho quaisquer metadados group-title e tvg-logo, e constrói a sua lista de canais a partir do que encontra. Se quiser os passos exatos para o seu dispositivo, Como Adicionar uma Playlist M3U ao IPTV Expert cobre individualmente Android, iOS, Windows, Mac, Linux, Android TV e Fire TV.
Se ainda não instalou o IPTV Expert, comece pelo seletor completo de downloads e escolha a versão para o seu dispositivo, ou veja Melhores Leitores IPTV Gratuitos em 2026 se ainda estiver a comparar opções.
Conclusão
Três ideias atravessam tudo o que foi dito: uma playlist M3U é texto simples construído à volta de #EXTM3U e #EXTINF; M3U8 significa especificamente codificação UTF-8; e as tags ao estilo IPTV que vai encontrar em playlists reais — tvg-id, tvg-logo, group-title — são uma convenção amplamente adotada, sobreposta ao formato, não algo que a RFC 8216 defina. Esclarecido isto, configurar uma num leitor resume-se a dois campos: um nome e um URL.
IPTV Expert
Assista na sua tela
Baixe IPTV Expert para sua plataforma preferida.
IPTV Expert não fornece, hospeda ou vende canais, playlists ou assinaturas.