# tvheadend

## Instalación

Primero de todo, descarga este repositorio y muévete a la carpeta donde esté.

Copia el archivo `.env.example` a `.env` y modifica este último, rellenando los campos:

| Campo | Valor |
|---|---|
| TVH_URL | ip:port - IP y puerto del servidor donde esté TVHeadend |
| TVH_TUNER_COUNT | Número de tuners (streams simultáneos) configurados en TVHeadend |
| TVH_PROXY_HOST | IP del servidor donde esté TVHProxy |

Ejecuta `docker-compose up -d`, esto construirá las imágen del tvhProxy y tvh_server_nm3u8dl y arrancará TVHeadend.

Entra a `ip:9981` para acceder a la interfaz web de TVHeadend, y en la pantalla de inicio pon `Default view level:` en `Expert`.

Ve a `Configuration` -> `Channel/EPG` -> `EPG Grabber Modules`, desactiva todos menos `XMLTV: EPG_dobleM - Movistar+` (acuérdate de guardar), luego ve a `EPG Grabber` y pon:

```
# Todos los días a las 8:04, 14:04 y 20:04
4 8 * * *
4 14 * * *
4 20 * * *
```
en `Cron multi-line:` de `Internal Grabber Settings`. Guarda.

Ve a `Configuration` -> `DVB Inputs` -> `Networks` y añade una de tipo `IPTV Automatic Network`, ponle de nombre `IPTV`, en `Maximum # input streams` pon `5`, en `URL:` pon `file:///opt/channels/tvheadend.m3u` y en `Channel numbers from:` pon `1`, quita la selección de `Scan after creation`, en Expert Settings pon `Service ID: 1` y guarda la configuración.

Ve a `Services` y haz click en `Map services` -> `Map all services`, luego ve a `Configuration` -> `Channel / EPG`, aquí aparecerán todos los canales disponibles, fíjate en la columna de `EPG Source`, habrá algunos vacíos que tienes que poner manualmente, hazlo y guarda (alguno no existe en el EPG).

Para acabar, vuelve a `Configuration` -> `DVB Inputs` -> `Networks` y modifica la `Network` que has añadido, cambia el `Maximum # input streams` por `5`.

## Ver canales

Para ver los canales puedos importarlos a plex (usando TVHProxy), a Jellyfin (con el plugin de TVHeadend o con TVHProxy) o simplemente accediendo a `<ip>:9981/playlist` con tu reproductor de m3u favorito (por ejemplo VLC).

Las URLs de TVHProxy que vas a necesitar son:
* HDHomeRun: `http://<ip>:5004`
* EPG XML: `http://<ip>:5004/epg.xml`

## Actualizar canales

Si el archivo `vodafone.m3u` dentro de la carpeta `tools` se actualiza, hay que moverse a la carpeta `tools` y ejecutar `python3 generator.py`, esto generará de nuevo los archivos `channels/channels.json` y `channels/tvheadend.m3u`, por lo que luego habrá que reiniciar los contenedores para que cojan los valores de nuevo, para ello vuelve a la carpeta raíz del repositorio y ejecuta `docker-compose restart`.

Una vez reiniciado, tocará volver a pasar por los pasos descritos en el apartado de Instalación, yendo a Muxes para comprobar que están los nuevos canales, mapeando los servicios, etc.