EPG significa Electronic Program Guide — guia eletrónico de programação: a lista do que está a dar em cada canal, agora e a seguir. É a faixa que aparece em baixo nas boxes do cabo ("19:30 Os Simpsons / 20:00 Family Guy") e é o que faz com que uma lista de canais soe a televisão em vez de a um muro de streams sem etiqueta.
No IPTV, o EPG não faz parte da lista de canais. É um ficheiro à parte. Este pormenor sozinho explica uns 90% da confusão em que quem está a começar se mete.
O que há num ficheiro EPG
Os dados de EPG vêm em XMLTV — um formato XML usado, na prática, por todos os leitores IPTV. Uma fatia curta parece-se com isto:
<channel id="bbc1.uk">
<display-name>BBC One HD</display-name>
</channel>
<programme start="20260512183000 +0000" stop="20260512190000 +0000" channel="bbc1.uk">
<title>BBC News at Six</title>
<desc>The day's national and international news.</desc>
</programme>
Dois tipos de entradas: canais (apenas um ID e um nome) e programas (um ID, uma hora de início/fim, um título, uma descrição e, por vezes, uma categoria e um número de episódio). Um ficheiro EPG real tem dezenas de milhares destes — uma semana ou duas de programação para cada canal que o fornecedor inclui.
Como é que o EPG se cola à lista de canais
Cada <programme> tem um atributo channel="bbc1.uk". Cada linha #EXTINF da M3U tem tvg-id="bbc1.uk". O leitor faz o emparelhamento por igualdade de strings. Se os IDs baterem certo, vês a programação. Se não baterem, o canal toca sem problemas mas vês "sem informação".
É o erro mais comum em configurações de IPTV. A M3U diz tvg-id="bbc.one.hd"; o EPG diz <channel id="bbc1.uk">; o leitor não consegue perceber que aquilo se refere ao mesmo canal.

Quando os IDs batem certo, cada linha de canal mostra o que está a dar neste momento.
De onde vem mesmo o EPG
A maioria dos fornecedores de IPTV entrega duas coisas: um URL M3U para os canais e um segundo URL para o XMLTV. Nos fornecedores Xtream Codes, o XMLTV está quase sempre em:
http://<servidor>/xmltv.php?username=<u>&password=<p>
Nos fornecedores que não são Xtream pode estar em qualquer sítio — enviam-no por email ou dizem-te para ires buscar um ficheiro estático. O formato é o mesmo, num caso e no outro.
Alguns leitores IPTV incluem também fontes de EPG comunitárias — ficheiros XMLTV gratuitos e públicos, mantidos por voluntários, para milhares de canais. O projeto de EPG do iptv-org é o mais conhecido. Existem porque os EPGs fornecidos pelos próprios fornecedores são notoriamente pouco fiáveis, e um guia comunitário bem mantido é, muitas vezes, mais rigoroso do que aquele pelo qual estás a pagar.
Porque pode estar vazio o teu EPG
Mais ou menos por ordem de frequência:
- Não adicionaste uma fonte de EPG. Comum. Importar a M3U não puxa automaticamente o guia; tens de adicionar o URL XMLTV à parte.
- O
tvg-ide ochannel idnão correspondem. Os canais reproduzem bem, o guia está carregado, mas o leitor não consegue dizer que programa pertence a que canal. Abre o ficheiro EPG num browser e vê que IDs ele usa de facto. - O fuso horário está desfasado em horas. Os programas estão listados corretamente mas aparecem à hora errada, por isso a entrada "a dar agora" nunca parece estar a passar mesmo. O atributo
startdo XMLTV traz informação de fuso horário; há fornecedores que a retiram ou a corrompem. Vê o nosso guia para corrigir o fuso horário do EPG. - O ficheiro XMLTV é grande demais para analisar. Há fornecedores Xtream que entregam ficheiros XMLTV de 200 MB com meses de dados. Alguns leitores chegam ao timeout. O validador de EPG deste site diz-te se o ficheiro é analisado sem problemas.
- O URL XMLTV devolve HTML. O mesmo modo de falha do equivalente em M3U — o teu fornecedor precisa de um cookie de sessão ou aplicou rate limit ao teu IP. Experimenta noutra rede.
Há um diagnóstico passo a passo mais detalhado no guia de resolução de problemas do EPG no Android TV.
O que ganhas com um EPG bom
Três vantagens concretas que justificam a configuração:
- Sobreposição "agora / a seguir". Carregar para cima no comando enquanto um canal toca mostra o que está a dar agora e o que vem a seguir. É a funcionalidade mais usada em qualquer interface de TV.
- Pesquisa na grelha. "A que horas é o futebol?" passa a uma resposta de um segundo, em vez de dez minutos a saltar canais.
- Lembretes e visionamento agendado. Muitos leitores (o Klipa incluído) permitem definir lembretes sobre entradas do EPG.
Se só vês meia dúzia de canais e já sabes o horário deles, o EPG é um extra simpático. Se andas a saltar pela lista de 200 canais de um fornecedor sem fazer ideia do que está em cada um, o EPG é o que torna o IPTV usável.
O que um EPG não é
Não é uma agenda de gravação (embora alguns leitores PVR o usem como tal). Não faz parte da lista de canais. Não é assinado nem autenticado — qualquer pessoa pode fornecer dados de EPG para qualquer canal, e é por isso que existem projetos de EPG comunitários.
É só uma lista de "este canal vai mostrar este programa a esta hora". O difícil é fazer bater certo os IDs.