¿Qué es un EPG y por qué lo necesitas?
EPG son las siglas de Electronic Program Guide, o Guía Electrónica de Programación en español. Es básicamente el "qué hay ahora" y "qué viene después" que ves cuando navegas los canales en tu televisor, tu app de IPTV, o cualquier plataforma de TV en vivo.
Si estás operando un canal de TV online — ya sea un canal 24/7 con playlist, un canal FAST o un servicio IPTV — el EPG es lo que transforma tu transmisión de "un video que corre indefinidamente" a una experiencia de televisión real. Sin EPG, tu canal es un stream sin contexto. Con EPG, es un canal profesional con programación.
¿Qué información contiene un EPG?
- 📌 Nombre del programa (título del contenido que se está emitiendo)
- 📝 Descripción (sinopsis, invitados, tema del episodio)
- ⏰ Horario de inicio y fin (cuándo empieza y termina cada programa)
- 🎬 Categoría (noticias, deportes, entretenimiento, educación)
- 🖼️ Imagen del programa (thumbnail o poster)
- 📅 Fecha (programación por día, semana o mes)
📺 Dato: Según estudios de experiencia de usuario en plataformas de TV, los canales que muestran EPG tienen un tiempo de permanencia del espectador entre 25% y 40% mayor que aquellos que no lo tienen. El espectador decide quedarse si sabe qué viene después.
Formatos de EPG: XMLTV, JSON y EIT
No todos los sistemas leen el EPG de la misma forma. Los tres formatos más comunes son:
XMLTV (el estándar de facto)
Es el formato más utilizado en IPTV y plataformas OTT. Es un archivo XML con una estructura específica que lista canales y programas. Casi todas las apps de IPTV lo soportan: TiviMate, IPTV Smarters, GSE Smart Player, Perfect Player, etc.
Un archivo XMLTV se ve así:
<tv>
<channel id="canal-1">
<display-name>Mi Canal HD</display-name>
<icon src="https://micanal.com/logo.png" />
</channel>
<programme start="20260313180000 -0300"
stop="20260313190000 -0300"
channel="canal-1">
<title>Noticiero Central</title>
<desc>Las noticias más importantes del día</desc>
<category>Noticias</category>
</programme>
</tv>
JSON EPG
Algunas plataformas modernas (especialmente los reproductores web) usan EPG en formato JSON. Es más ligero y fácil de procesar en aplicaciones web. No es estándar universal, pero funciona bien para reproductores personalizados.
EIT (Event Information Table)
Es el estándar de EPG para televisión digital terrestre (DVB-T, DVB-S). Se transmite como metadatos embebidos dentro del transport stream MPEG-TS. No es relevante para streaming por internet — solo para TV digital convencional.
| Formato | Uso principal | Compatibilidad IPTV | Facilidad de crear |
|---|---|---|---|
| XMLTV | IPTV, apps, OTT | ✅ Universal | Media |
| JSON EPG | Web players, APIs | Parcial | Fácil |
| EIT/DVB | TV digital terrestre | ❌ No aplica | Compleja |
🎯 Recomendación: Si operas un canal IPTV u OTT, el formato XMLTV es tu mejor opción. Es el que soportan la inmensa mayoría de reproductores y apps de IPTV. Para tu web, puedes convertirlo a JSON fácilmente.
Cómo crear tu propio EPG paso a paso
Crear un EPG no tiene por qué ser complicado. Dependiendo de tu nivel técnico y tu escala, tienes varias opciones:
Opción 1: Generador manual con hoja de cálculo
Para canales pequeños con programación semanal fija, puedes crear tu EPG en Google Sheets o Excel y exportarlo a XMLTV. El flujo es:
- Crea una hoja con columnas:
Programa,Inicio,Fin,Descripción,Categoría - Llena la programación de la semana
- Usa un script o herramienta online para convertir el CSV a XMLTV
- Sube el archivo XMLTV a tu servidor y apunta tu app IPTV a esa URL
Opción 2: Generación automática desde tu plataforma de playout
Las plataformas de cloud playout más avanzadas generan el EPG automáticamente basado en la playlist. Si ya tienes tu programación organizada en el sistema, el EPG se crea solo. Este es el método ideal porque elimina la doble entrada de datos.
Opción 3: Software de gestión de EPG
Para operaciones más grandes (múltiples canales, programación compleja), existen herramientas especializadas:
- tv_grab: Suite de scripts open source para generar XMLTV desde diversas fuentes
- EPG Collector: Herramienta para recopilar EPG de múltiples fuentes y consolidarlo
- WebGrab+Plus: Scraper que genera XMLTV a partir de sitios web de programación
Opción 4: API propia
Si tienes un equipo de desarrollo, puedes crear un endpoint API que genere el EPG dinámicamente desde tu base de datos de programación. Esto permite actualizar la información en tiempo real cuando hay cambios de última hora.
Cómo conectar tu EPG con apps y reproductores IPTV
Una vez que tienes tu archivo XMLTV generado, necesitas hacerlo accesible para los reproductores. El proceso es bastante directo:
1. Hostea tu archivo EPG
Sube tu archivo XMLTV (generalmente con extensión .xml o .xml.gz comprimido) a un servidor web accesible. La URL debe quedar algo así:
https://tudominio.com/epg/guia.xml
2. Configura tu lista M3U con referencia al EPG
En tu archivo M3U/M3U8, agrega la directiva de EPG al inicio:
#EXTM3U url-tvg="https://tudominio.com/epg/guia.xml"
#EXTINF:-1 tvg-id="canal-1" tvg-name="Mi Canal HD" tvg-logo="https://tudominio.com/logo.png",Mi Canal HD
https://tudominio.com/stream/canal1.m3u8
El atributo tvg-id debe coincidir con el channel id del archivo XMLTV. Esto es lo que vincula la programación con el canal correcto.
3. Configura el reproductor
En apps como TiviMate, IPTV Smarters o Perfect Player:
- Ve a la configuración de playlist/EPG
- Pega la URL de tu archivo XMLTV como fuente de EPG
- Configura la frecuencia de actualización (cada 6-24 horas es lo recomendado)
- El reproductoras descargará y mostrará la programación automáticamente
4. Verifica que funcione
- ✅ ¿Aparece la guía de programación al navegar canales?
- ✅ ¿Los horarios coinciden con tu zona horaria?
- ✅ ¿El programa actual se muestra correctamente?
- ✅ ¿La información del próximo programa aparece al cambiar de canal?
⚠️ Error común: El problema número 1 con EPGs es la zona horaria. Si tu XMLTV define horarios en UTC pero tu espectador está en GMT-3, los programas aparecerán desfasados 3 horas. Asegúrate de usar el offset correcto:20260313180000 -0300para horario de Santiago/Buenos Aires,-0500para Bogotá/Lima/Ciudad de México.
EPG profesional: mejores prácticas para operadores
Si operas un canal broadcast serio, tu EPG necesita más que solo títulos y horarios. Estas son las mejores prácticas de la industria:
Metadata rica
- 📸 Thumbnails por programa: Agrega imágenes atractivas para cada programa. Los reproductores las muestran como poster cuando el espectador navega la guía
- 🏷️ Categorías consistentes: Usa categorías estándar (Noticias, Deportes, Entretenimiento, Educación, Religioso, Música) para que los reproductores puedan filtrar
- 🌐 Idioma declarado: Indica el idioma del programa para que los sistemas multilingües lo manejen correctamente
- ⭐ Clasificación de contenido: Si tu canal incluye contenido con restricción de edad, inclúyelo en los metadatos
Actualización automática
No dependas de actualizar manualmente el EPG cada semana. Las mejores prácticas incluyen:
- 🔄 Generar el EPG automáticamente desde tu sistema de playout cada 6 horas
- 📅 Mantener al menos 7 días de programación futura disponible
- 🕐 Incluir un
last-modifiedheader HTTP para que los clientes detecten cambios - 📦 Servir el archivo con gzip (
.xml.gz) para reducir el ancho de banda
Consistencia con la señal real
Nada genera más frustración que un EPG que dice "Noticiero" a las 20:00 pero en realidad está pasando una película. Si usas cloud playout con playlist automatizada, asegúrate de que el EPG se genere a partir de la misma fuente que la playlist — así la programación siempre coincide con lo que realmente se emite.
📡 Tip pro: Para distribución IPTV profesional en Latinoamérica, incluye siempre el logo del canal en formato PNG con fondo transparente, dimensiones de 256x256 o 512x512 píxeles. Los reproductores IPTV lo muestran en la guía y al cambiar de canal.
¿Quieres operar un canal con programación profesional?
XtreamCast Live Station gestiona tu programación 24/7 con playlist automatizada, transición seamless con encoder en vivo, y salida M3U8 compatible con todas las apps IPTV.