Entender

XMLTV ou API de metadados: o que alimenta um guia de TV moderno, e por que um player precisa dos dois

A grade ao lado de um canal ao vivo e o pôster na página de um filme vêm de dois tipos diferentes de dados: uma grade de transmissão (XMLTV) e um catálogo de obras (uma API de metadados como o TMDB). O que cada um sabe, o que não tem como saber, como um player combina os dois, e por que a aba de filmes parece rica enquanto o guia parece pelado.

5 min de leitura

Em resumo

  • O XMLTV responde 'o que passa neste canal a esta hora'. Uma API de metadados responde 'que filme é este, quem está nele, como é o pôster'. Não são intercambiáveis.
  • Canais ao vivo precisam de uma grade, que só o provedor ou um arquivo XMLTV pode dar. Filmes e séries precisam de um catálogo, que um banco de dados público fornece para qualquer título do mundo.
  • É por isso que um player consegue mostrar pôsteres, elenco e sinopses em todo filme enquanto o guia ao vivo depende inteiramente do que o seu provedor publica.
Nesta página

Abra um bom player de IPTV e duas coisas ficam lado a lado: um guia ao vivo que diz o que passa em cada canal, e uma aba de filmes cheia de pôsteres, sinopses e notas. Parecem partes do mesmo sistema. Não são. Vêm de dois tipos de dados que sabem coisas diferentes, e entender essa divisão explica uma das surpresas mais comuns do IPTV: uma biblioteca de filmes com cara de Netflix ao lado de um guia ao vivo cheio de buracos.

Duas perguntas, dois tipos de dado

"O que está passando neste canal agora?" é uma pergunta sobre uma transmissão: um horário, um canal, um programa. A resposta muda a cada hora e é diferente por país e por provedor. Ela vive numa fonte de grade, o arquivo XMLTV ou o equivalente do provedor, descrito no nosso guia sobre como o EPG funciona.

"Que filme é este?" é uma pergunta sobre uma obra: um título, um ano, um diretor, um elenco, um pôster, uma sinopse, uma nota. A resposta não muda e é a mesma para todo mundo. Ela vive num catálogo, e os melhores catálogos são bancos de dados públicos com uma API, sendo o TMDB o que a maioria dos players usa.

Uma fonte de grade sabe que "Filme: Duna 2" passa às 21h no canal 12. Não sabe quem dirigiu. Um catálogo sabe tudo sobre Duna: Parte Dois. Não sabe que o canal 12 passa isso hoje à noite. Um player que quer os dois precisa usar os dois.

O que o XMLTV sabe, e o que não sabe

Uma fonte de grade é uma lista de programas por canal com horários, títulos e, no melhor dos casos, uma descrição curta e uma categoria. Os pontos fortes são os que importam para TV ao vivo: é presa ao tempo, presa ao canal, e atualizada diariamente. Os pontos fracos são igualmente estruturais:

  • A cobertura é escolha do provedor. Uma fonte cobre os canais que alguém se deu ao trabalho de incluir. Os grandes canais nacionais sempre; os pequenos como acharem por bem. Um canal ausente é um buraco no guia, e nenhuma outra fonte de dados consegue preencher.
  • As descrições são magras. Um título e duas linhas, às vezes nada. Sem pôster, sem elenco.
  • O casamento é frágil. Os identificadores de canal da fonte precisam bater com os da lista, senão os programas se prendem ao canal errado, como o guia sobre guia vazio explica.

Tudo o que um guia ao vivo consegue mostrar vem dessa fonte. Um player pode fazer carregar mais rápido, guardar em cache, e tentar de novo, mas não pode acrescentar o que a fonte não contém.

O que uma API de metadados sabe, e o que não sabe

Uma API de catálogo responde perguntas sobre obras sob demanda: busque um título, receba um identificador, depois receba tudo o que está preso a ele. O TMDB, o que o IPTV Guard usa, guarda por volta de um milhão de filmes e centenas de milhares de séries, com pôsteres, imagens de fundo, sinopses em dezenas de idiomas, elenco, notas, listas de episódios por temporada.

Os pontos fortes são os que deixam uma aba de filmes agradável: completo, multilíngue, visual, e o mesmo para todo provedor. Os pontos fracos são o espelho dos do XMLTV:

  • Não sabe nada sobre transmissões. Sem canal, sem horário, sem "hoje à noite".
  • Precisa de um título limpo para casar. Uma entrada de lista como BR - Duna.Parte.Dois.2024.1080p.DUAL precisa virar "Duna: Parte Dois, 2024" antes de o catálogo conseguir encontrar. Essa limpeza é trabalho do player, e os provedores dificultam com etiquetas, anos faltando, e títulos na língua errada.
  • Tem limite de uso e é compartilhada. Uma API pública serve todo mundo; um player precisa guardar em cache agressivamente e casar uma vez, não em toda tela.

Como um player combina os dois

Canais ao vivo: o player pede ao provedor a grade de cada canal (o Xtream Codes entrega por canal), casa, guarda em cache, mostra "Ao vivo" onde não há nada. Filmes e séries: o player pega cada título da lista, limpa o nome, busca no catálogo, guarda o casamento, e desenha a página com os dados do catálogo: pôster, sinopse, nota, elenco, temporadas e episódios para séries, com a lista fornecendo só o stream.

Mais duas coisas decorrem desse desenho. Primeiro, esportes: uma página de jogo com times, competição e horário não é nem grade nem filme; o IPTV Guard monta a partir de uma fonte de dados esportivos e depois procura na sua lista os canais que transmitem a partida, que é como "qual canal passa o jogo" é respondido. Segundo, retomada de onde parou e "próximo episódio" só funcionam quando o catálogo identifica o episódio, e é por isso que uma M3U com arquivos mal nomeados às vezes retoma no episódio errado.

Por que isso importa na hora de escolher o formato da lista

Com Xtream Codes, o provedor entrega ao player um catálogo estruturado: categorias, filmes com ano, séries com temporadas. O casamento com o TMDB é confiável e a grade ao vivo vem do mesmo servidor. Com uma M3U, filmes e séries são linhas soltas cujos nomes o player precisa interpretar, e o guia ao vivo não tem fonte nenhuma no IPTV Guard. O guia M3U versus Xtream Codes tira a conclusão prática: quando você pode escolher, escolha Xtream.

O que lembrar

Duas perguntas, duas fontes de dados. O guia ao vivo só é tão bom quanto a grade que o seu provedor publica; as páginas de filme e série são tão boas quanto o catálogo público, que é muito bom. O trabalho de um player é buscar os dois, casar bem, guardar em cache, e ser honesto quando um deles não tem nada a dizer.

No IPTV Guard

O IPTV Guard pega a grade ao vivo do servidor Xtream Codes do seu provedor, e preenche filmes e séries a partir do TMDB: pôsteres, sinopses, notas, elenco, próximo episódio. Os dois nunca se misturam: o guia é tão bom quanto a fonte do provedor, as páginas de filme são tão boas quanto o maior banco de dados aberto de cinema do mundo. A atribuição ao TMDB está no app e neste site, como os termos deles exigem.

Perguntas frequentes

Por que meus filmes estão lindamente apresentados enquanto meus canais ao vivo não têm guia?

Porque os dois vêm de lugares diferentes. As páginas de filme são montadas a partir de um catálogo público que conhece todo filme já lançado. O guia ao vivo precisa da grade do seu provedor, e se o provedor não publica nada para um canal, nenhum catálogo do mundo consegue inventar o que está passando nele agora.

Uma API de metadados pode substituir o EPG?

Não. Ela conhece obras, não transmissões. Pode dizer tudo sobre os times de um jogo ou sobre um filme, não que o canal 12 passa isso às 21h de hoje. Só uma fonte de grade sabe disso.

De onde vêm os pôsteres?

Do TMDB, The Movie Database, um catálogo mantido pela comunidade com uma API aberta. O IPTV Guard casa cada título da sua lista com ele, e é por isso que um filme chamado 'Duna.Parte.Dois.2024.1080p' na lista aparece como Duna: Parte Dois com o pôster de verdade.

O que acontece quando um título não é encontrado?

O player mostra o nome da lista, sem pôster nem sinopse. Geralmente quer dizer que o nome do provedor é incomum: um título com erro de digitação, um ano faltando, um título em outra língua. O canal toca do mesmo jeito.

O XMLTV é obsoleto?

É velho, e ainda é o formato em que todo provedor e todo player concordam para grades. Nada substituiu ele, porque nada precisou: ele faz uma coisa só, e faz bem.

Guias relacionados