---
title: EPG para middleware OTT
url: https://doc2.pstreamer.tv/es/manual/streamer/epg/middleware.html
lang: es
product: Perfect Streamer
version: 2.0.2.362
---

# EPG para middleware OTT

La guía de programación de la base de datos EPG se entrega a los sistemas externos — descodificadores, aplicaciones y middleware OTT — de dos formas: como documento XMLTV completo mediante un servidor EPG dedicado y como programación diaria de un canal en JSON mediante la API HTTP del nodo.

## Entrega de XMLTV

XMLTV lo distribuye un servidor EPG integrado independiente. Se habilita en la pantalla «Servidor EPG» ([Servidor EPG](../../webui/administration.md#webui-epg-server)): «Habilitar el servidor EPG», el puerto HTTP (43973 por defecto), si es necesario HTTPS con certificado (puerto 43983 por defecto) y el «Nombre de host».

El acceso se concede por cuentas (pestaña «Cuentas» de la pantalla «Ajustes de EPG», [Ajustes de EPG](../../webui/configure.md#webui-epg-settings)): usuario y contraseña, «Conjunto de canales», «Fecha de finalización» de la vigencia, «IP permitida» y el indicador «Pausado». El contenido de la entrega lo determina el conjunto de canales:

- los conjuntos se crean en la pestaña «Conjuntos de canales»;
- los canales se incluyen en los conjuntos en la base de datos EPG ([Base de datos EPG](xmltv.md#streamer-epg-database)); un canal puede pertenecer a varios conjuntos;
- a una cuenta se le asigna un único conjunto — sin él la entrega está vacía.

El documento está disponible en la ruta `/xmltv` (y `/xmltv.gz` — el archivo comprimido); la autorización se realiza mediante HTTP Digest o a través de los parámetros de la consulta. Las horas de los programas se emiten con la zona horaria del canal; en el documento solo se incluyen los eventos actuales y futuros. Si un mismo identificador de canal ha llegado de fuentes distintas, el canal se emite una sola vez y la omisión se comunica en el registro.

## Programación diaria en JSON

Para las interfaces de middleware el nodo devuelve la programación de un canal correspondiente a un día con una sola consulta a la API HTTP en formato JSON (la autorización es la misma que para el resto de las consultas de la API):

```
GET /data/epg/channel?src=<fuente>&ch=<canal>&lang=<idioma>&t=<hora>
```

Se devuelve la lista de los eventos del día (en UTC) en el que se sitúa la hora `t`: inicio, fin, título y descripción de cada programa en el idioma solicitado; si no hay traducción, se utiliza el idioma por defecto y, a continuación, cualquiera de los disponibles. Un día vacío es una lista vacía válida. El servidor almacena las respuestas en caché y las actualiza automáticamente cuando llegan nuevos datos de EPG.

La caché integrada está dimensionada para aproximadamente mil clientes simultáneos; en instalaciones mayores se recomienda situar tanto la entrega de XMLTV como la de JSON detrás de un proxy inverso con caché o de una CDN.

La reproducción del archivo DVR a partir de un evento de la guía de programación (parámetro `epg` en la URL de reproducción) se describe en [Reproducción del archivo (VOD)](../ott_dvr.md#streamer-dvr-vod).
