TV en directo en Jellyfin con un receptor Enigma2 (Vu+): canales, guía EPG y picons

Convierte tu propio receptor Enigma2 (Vu+) en una fuente de TV en directo para Jellyfin con Headend: importa bouquets, obtén la guía y los picons, y transmite a través del servidor para que el receptor quede oculto.

Por qué usar tu propio receptor como sintonizador

Si ya tienes un equipo Enigma2 (Vu+, Zgemma, GigaBlue y similares) para canales en abierto o de suscripción que tienes licencia para ver, ya posees la parte más difícil de una instalación de TV en directo: el sintonizador y la lista de canales. Headend conecta ese receptor a Jellyfin mediante OpenWebif, de modo que los canales, la guía de programación y los logotipos de canal provienen del mismo equipo. El plugin no vende ni suministra nada: Headend no proporciona canales, solo expone los que tu receptor ya recibe.

La transmisión pasa a través del servidor Jellyfin, así que las apps nunca conocen la dirección del receptor. Varios espectadores del mismo canal comparten un sintonizador, y un sintonizador ocupado devuelve un error claro en lugar de fallar en silencio. Si quieres la lista completa de funciones, consulta la página del producto; este tutorial es el camino práctico desde cero hasta una guía funcional.

Requisitos previos

  • Jellyfin Server 12.2 o superior, en Linux, Windows o Docker.
  • Un receptor Enigma2 con OpenWebif activado y accesible desde el servidor Jellyfin, normalmente en la misma red. OpenWebif suele escuchar en el puerto 80 y transmite en el puerto 8001.
  • jellyfin-ffmpeg, la compilación de ffmpeg que incluye Jellyfin.
  • Una cuenta de MediaLab Works con una licencia que cubra el plugin: una suscripción activa, una licencia de por vida dentro de su ventana de actualizaciones, el bundle de Jellyfin o la prueba gratuita de 30 días.
  • Opcional: acceso SSH como root al receptor (sin contraseña o con clave) si quieres el watchdog del receptor. Está desactivado en las instalaciones nuevas.

Paso 1 — Instalar Headend

La vía recomendada es tu repositorio privado de plugins, para que Jellyfin instale y actualice el plugin por sí mismo.

  1. En tu cuenta de MediaLab Works abre Licenses → Jellyfin plugin repository y haz clic en Create address. Cópiala; contiene un token, así que mantenla privada.
  2. En Jellyfin abre Dashboard → Plugins → Repositories, haz clic en +, ponle un nombre (por ejemplo MediaLab Works), pega la dirección y guarda.
  3. En Dashboard → Plugins → Catalog busca Headend by MediaLab, haz clic en Install y reinicia Jellyfin.

Si prefieres una instalación manual, descarga el zip desde Account → Licenses, extráelo en una carpeta nueva llamada Headend by MediaLab_x.y.z.0 dentro de la carpeta de plugins de Jellyfin (/var/lib/jellyfin/plugins/ en una instalación de Linux con paquete, /config/plugins/ en la imagen oficial de Docker, %ProgramData%\Jellyfin\Server\plugins\ en Windows) y reinicia Jellyfin. La guía enumera las rutas exactas y la opción del catálogo público.

Paso 2 — Activar la licencia

Abre Dashboard → Plugins → Headend by MediaLab y haz clic en Open License page. Pega tu clave de licencia y haz clic en Activate with key; el plugin vincula la clave a este servidor y muestra la licencia como Active. ¿Aún no tienes clave? Introduce tu correo electrónico en la misma página para iniciar la prueba gratuita de 30 días. La licencia se comprueba una vez al día y en cada arranque de Jellyfin; sin internet, el plugin sigue funcionando durante 7 días después de la última comprobación correcta.

Paso 3 — Añadir el receptor como sintonizador

  1. Abre Dashboard → Live TV y añade un dispositivo sintonizador de tipo Headend (Enigma2 / Vu+).
  2. Introduce la dirección del receptor, el puerto de OpenWebif (80), el puerto de transmisión (8001) y el nombre de usuario y la contraseña si OpenWebif los pide.
  3. Elige los bouquets que quieres importar. Solo los bouquets que selecciones se convierten en canales en Jellyfin.

Desde la versión 1.0.5, la contraseña de OpenWebif se cifra en reposo en la carpeta de datos del plugin y nunca se envía al navegador; la página solo muestra «set ✓».

Paso 4 — Añadir el proveedor de guía

En la misma página Dashboard → Live TV, añade el proveedor de guía Headend. La guía de programación pasa a venir del receptor para todos los canales. Headend actualiza la guía desde el receptor cada 60 minutos, y puedes forzar una actualización desde Dashboard → Scheduled Tasks → Refresh Guide.

Paso 5 — Dar forma a la lista de canales

Abre Dashboard → Headend. Aquí es donde conviertes una lista cruda del receptor en algo que una casa pueda usar:

  • Ocultar canales sin nombre.
  • Ocultar la versión SD cuando existe la versión HD.
  • Ajustar nombres, números y orden.
  • Los logotipos de canal (picons) vienen del receptor; también puedes establecer un logotipo desde un enlace, mediante una acción de administrador, de hasta 10 MB. El plugin no descarga paquetes de picons.

Mantén la lista corta y ordenada tal como la gente hace zapping de verdad. Una lista ordenada marca la diferencia entre una fuente de TV en directo que se usa y otra que se ignora.

Paso 6 — Conceder acceso por usuario

Los usuarios nuevos empiezan sin acceso a la TV en directo a través de Headend. En la página Headend concédelo a las cuentas que deban tenerlo. Aquí también se gestionan los canales para adultos: están detrás de un PIN, que se desbloquea por usuario durante un tiempo limitado. Desde la versión 1.0.6, los PIN nuevos tienen al menos 6 dígitos, solo se almacena un hash PBKDF2-SHA256 y los intentos fallidos se limitan con bloqueos crecientes que sobreviven a un reinicio. En las apps, el PIN se desbloquea desde un navegador en /Headend/Unlock para esa cuenta.

Paso 7 — Ver

Actualiza la guía y luego abre Live TV en Jellyfin. Los canales, la guía y los logotipos se sirven a través del Live TV del servidor, así que cualquier app con Live TV debería funcionar; Jellyfin Web es el cliente verificado (reproducción HD en el rango de 4,4–4,7 s en las pruebas publicadas). En Jellyfin oficial, el enlace de la página TV se añade manualmente en config.json bajo menuLinks; en medialab Server aparece automáticamente.

Consejos y solución de problemas

  • No hay canales. Comprueba que OpenWebif se abre en un navegador desde el servidor Jellyfin en la dirección que introdujiste. Si el servidor no puede alcanzarlo, Jellyfin tampoco podrá.
  • Un canal no se reproduce. Un sintonizador puede recibir un transpondedor cada vez; una grabación u otro espectador en un transpondedor distinto puede ocuparlo. Es el comportamiento esperado, no un fallo del plugin.
  • Un usuario no ve la TV en directo. Dale acceso al usuario desde la página Headend; los usuarios nuevos empiezan sin él.
  • Guía vacía. Confirma que el proveedor de guía Headend está añadido en Dashboard → Live TV y luego ejecuta Refresh Guide desde Scheduled Tasks. La guía se obtiene del receptor cada 60 minutos.
  • La transmisión de OpenWebif no funciona. Vuelve a comprobar el puerto de transmisión (8001 por defecto) y cualquier autenticación de OpenWebif. La dirección del receptor nunca se entrega a los clientes, así que prueba desde el lado del servidor Jellyfin, no desde un móvil.
  • Watchdog y SSH. El watchdog del receptor está desactivado en las instalaciones nuevas. Si lo activas, la clave de host SSH se verifica desde la versión 1.0.5: se guarda en la primera conexión en ssh/known_hosts en la carpeta de datos, y si cambia no se envía el comando. Puedes ver y olvidar la huella guardada desde la página.
  • Actualizaciones. Si usas una licencia de por vida fuera de su ventana de actualizaciones, quédate en tu repositorio privado para que Jellyfin no descargue versiones que tu licencia no cubre. Roll back to x.y.z en la página License vuelve a la versión anterior y desactiva las actualizaciones automáticas del plugin hasta el siguiente Install update. El changelog muestra qué cambió en cada versión.

Conclusión

Headend hace un solo trabajo: convierte el receptor que ya tienes en una fuente de TV en directo de primera clase en Jellyfin, con sus propios bouquets, guía y picons, y mantiene la dirección del receptor en el lado del servidor. Configura el sintonizador y el proveedor de guía, dedica diez minutos a la lista de canales, concede acceso por usuario y tendrás una instalación de TV legal y autoalojada que se comporta como cualquier otra biblioteca de Jellyfin. Para detalles más allá de este recorrido, la guía de usuario y la base de conocimiento son los siguientes pasos; si algo no cuadra, contacta con nosotros.

Esta publicación se redactó con ayuda de IA a partir de la documentación de nuestros productos o de las fuentes indicadas y se revisó automáticamente antes de publicarse.

Sigue leyendo

Aceleración por hardware en Emby: ¿transcodifica la GPU o la CPU?

Comprueba si la aceleración por hardware de Emby funciona de verdad: prueba VA-API, QuickSync y NVENC con el ffmpeg de Emby, aplica la solución exacta para el grupo render y los drivers, y descubre por qué se transcodifica cada reproducción.

¿Usas Emby, Jellyfin o Nextcloud?

Nuestros plugins y apps añaden TV en directo, subtítulos, registro de usuarios y seguridad a tu propio servidor, con prueba gratuita.