Configuração de fontes

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.

Portátil e café sobre uma secretária, representando o lado técnico, de editor de texto, de construir uma playlist M3U
IPTV Expert 8 minutos de leitura

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-id e group-title sã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.

Pessoa a segurar um telemóvel, representando o momento em que um URL de playlist é introduzido no formulário de configuração de um leitor

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.

Baixar

IPTV Expert não fornece, hospeda ou vende canais, playlists ou assinaturas.