Si ya tienes un receptor Enigma2 (Vu+, Zgemma, GigaBlue y similares) para tu propia suscripción de satélite o cable, ya cuentas con un sintonizador perfectamente válido. El problema es que Emby no habla Enigma2. Headend es un plugin de Emby que hace de puente entre ambos: lee tu receptor a través de OpenWebif y expone los canales que sintoniza tu receptor como canales de Emby TV en directo, con guía, logotipos de canal y control parental.
Algo que conviene dejar claro antes de empezar: Headend no proporciona canales, listas de reproducción ni ninguna suscripción IPTV. Emite lo que sintoniza tu propio receptor desde satélite o cable, en hardware que tú controlas. Si buscas canales que comprar, este no es ese producto, y este tutorial no te ayudará con ello.
Este recorrido cubre una configuración completa de Emby TV en directo con un receptor Enigma2: conexión, elección de bouquets, fusión de datos de guía, picons, PIN para adultos y vigilancia del receptor.
Requisitos previos
- Emby Server 4.10.1 o superior, con Emby Premiere para las funciones de TV en directo.
- Un receptor Enigma2 con una imagen reciente (VTi, OpenATV, OpenPLi y similares) y OpenWebif 1.2.9 o superior, accesible desde el servidor Emby. La combinación probada en la documentación es un Vu+ Duo 4K con VTi 15.
- Opcional: una GPU NVIDIA con NVENC si quieres escalar canales SD en el servidor.
- Opcional: acceso SSH root al receptor (sin contraseña o con clave) si quieres la vigilancia del receptor.
- Una licencia de Headend para tu servidor Emby. Sin una licencia válida el plugin se detiene: las tareas automáticas no se ejecutan y sus páginas responden con el motivo, así que haz primero el paso de licencia.
Paso 1: Instalar el plugin y activar la licencia
- Inicia sesión en tu cuenta de MediaLab Works, abre Licenses y descarga la DLL del plugin. Está disponible con una suscripción activa, una licencia de por vida dentro de su ventana de actualizaciones o durante la prueba gratuita de 30 días.
- Copia la DLL en la carpeta de plugins de Emby y reinicia Emby Server:
- Linux (paquete):
/var/lib/emby/plugins/ - Docker: la carpeta
pluginsdentro de tu volumen de configuración de Emby - Windows:
%AppData%\Emby-Server\programdata\plugins\
- Linux (paquete):
- Abre Emby Dashboard → Plugins, haz clic en el plugin, pega tu clave de licencia y guarda. El plugin contacta con el servidor de licencias, vincula la clave a este servidor Emby y muestra la licencia como Active.
La licencia se comprueba una vez al día y en cada arranque de Emby. Sin internet el plugin sigue funcionando 7 días después de la última comprobación correcta; pasado ese plazo se detiene hasta que pueda comprobar de nuevo. No se borra nada y todo se reanuda cuando la licencia vuelve a ser válida.
Paso 2: Conectar con el receptor
Abre Dashboard → Plugins → Headend. En la sección Receiver, introduce la IP o el nombre de host, el puerto de OpenWebif (80 por defecto) y un usuario y contraseña si tu OpenWebif tiene la autenticación activada. Haz clic en Test connection.
Si la prueba falla, comprueba desde el propio host de Emby que OpenWebif responde, por ejemplo abriendo http://receiver/api/getallservices en un navegador. Ese es también el primer paso de diagnóstico más adelante si no aparecen canales.
Una nota sobre las credenciales: desde la versión 0.2.9 la contraseña de OpenWebif se cifra en reposo en secrets.enc.json en la carpeta de datos del plugin (AES-256-GCM con una clave aleatoria vinculada al id del servidor, archivos con modo 600) y nunca se envía al navegador. Las versiones anteriores la mantienen en texto plano en la configuración del sintonizador de TV en directo, así que actualiza si puedes.
Paso 3: Elegir bouquets
En la sección Bouquets, elige qué bouquets se convierten en canales de Emby. La numeración de canales sigue el orden de los bouquets, así que aquí decides el orden de canales que verán tus usuarios. Hazlo con criterio: una lista corta y ordenada de bouquets es más fácil de manejar con el mando de la TV que toda la parrilla de tu receptor.
Paso 4: Datos de guía (EPG)
La EPG propia del receptor está activada por defecto, así que tienes guía sin trabajo extra. Para una mejor cobertura puedes añadir URLs XMLTV externas y mapear canales por nombre o por referencia de servicio. Los datos de guía se fusionan por canal, de modo que los datos del receptor y tus fuentes XMLTV se complementan en lugar de sobrescribirse.
Ten en cuenta a qué contacta la opción de guía externa. En instalaciones nuevas desde la versión 0.2.9 la guía externa está desactivada por defecto y se puede activar en la lista de comprobación de la primera configuración; en las actualizaciones se queda como estaba. Cuando está activada, se ejecuta a diario a las 04:00 con 2 segundos entre peticiones y contacta con www.programetv.ro, www.cinemagia.ro, epgshare01.online y open-epg.com, además de tus propias fuentes XMLTV (desactivadas por defecto). Solo se solicitan páginas de programas y archivos; no se envían datos de usuario. Las imágenes de programas se pasan al servidor como URLs externas, y el servidor puede descargarlas.
Paso 5: Picons (logotipos de canal)
En la sección Picons puedes usar los picons que ya están en tu receptor o indicar al plugin una carpeta local de picons. Eso es todo: el plugin no descarga paquetes de picons por sí mismo, y los logotipos desde un enlace se obtienen solo con una acción del administrador, con un límite de 10 MB.
Paso 6: Escalado NVENC opcional
Si tu servidor tiene una GPU NVIDIA con NVENC, puedes activar el escalado, elegir la resolución de destino y fijar un número máximo de streams simultáneos. Esto escala los canales SD en el servidor antes de que lleguen a los clientes. Si después la reproducción se entrecorta, baja la resolución de destino o desactiva el escalado y revisa la red entre el receptor y el servidor.
Paso 7: Canales para adultos y el PIN
Marca los canales que quieres tras el control parental y define un PIN. Solo se almacena un hash PBKDF2-SHA256 del PIN (200.000 iteraciones, con sal). Desde la versión 0.2.10 los PIN nuevos deben tener al menos 6 dígitos (un PIN existente sigue funcionando), 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, por cuenta.
Paso 8: La vigilancia del receptor (opcional)
Un receptor colgado significa un stream de TV en directo muerto. La vigilancia es opcional y está desactivada en instalaciones nuevas desde la versión 0.2.9 (en las actualizaciones se queda como estaba). Cuando la activas, defines el intervalo de comprobación y la acción: reiniciar enigma2 o despertar el receptor del modo de espera.
Funciona por SSH al receptor, así que necesita SSH root sin contraseña o con clave. Ejecuta una comprobación TCP/HTTP cada 3 minutos; tras 2 fallos envía la orden de reinicio mediante ssh (usuario root por defecto, clave opcional), luego reinicia, recopilando diagnósticos por SSH antes de reiniciar. También gestiona el modo de espera tras 10 minutos inactivo y un escaneo nocturno de canales entre las 02:00 y las 06:00. Desde la versión 0.2.9 se verifica la clave de host SSH (trust on first use): se guarda en la primera conexión en ssh/known_hosts en la carpeta de datos, y si cambia no se envía la orden y se muestra un mensaje claro. Puedes ver y olvidar la huella guardada desde la página.
Paso 9: Añadir el sintonizador en Emby y refrescar la guía
Ve a Live TV → Settings → Tuner devices. Headend aparece ahí como un sintonizador. Añádelo y luego refresca la guía.
Uso diario y límites
Los canales y la guía aparecen en Live TV, y la grabación funciona como con cualquier sintonizador de Emby. Ten en cuenta las cuentas de sintonizadores: un sintonizador del receptor lleva un canal a la vez, aunque los canales del mismo transpondedor pueden compartirlo. Planifica tus grabaciones simultáneas en consecuencia.
El soporte de clientes se sirve a través de la TV en directo del servidor, así que canales, guía, streams, bloqueo de canales para adultos y preferencias de audio/subtítulos deberían funcionar en cualquier app con TV en directo. Emby Web está verificado de extremo a extremo con un Vu+ Duo 4K (VTi, OpenWebif), con un arranque en frío de 4,4–5,7 s. Las apps nativas y los navegadores de TV no están probados. La página de administración, la página "TV" y la página "Adult channels" son solo para navegador.
Consejos y diagnóstico
- No aparecen canales: confirma que OpenWebif es accesible desde el host de Emby (
http://receiver/api/getallservices) y vuelve a revisar la dirección y el puerto del receptor en el plugin. - Sin datos de guía: asegúrate de que la EPG del receptor está activada, añade URLs XMLTV y revisa el mapeo de canales por nombre o referencia de servicio. Recuerda que la guía externa está desactivada por defecto en instalaciones nuevas.
- Cortes en la reproducción: baja el destino de escalado o desactiva el escalado, y revisa la ruta de red entre el receptor y el servidor.
- El receptor se cuelga: activa la vigilancia para que reinicie enigma2 cuando los streams dejen de responder.
- Sintonizador ocupado: otro canal ya está usando el sintonizador. Espera a que termine o graba desde el mismo transpondedor.
- Privacidad: los clientes nunca ven la dirección del receptor; los streams pasan por el servidor. Tus propias listas M3U son opcionales, y los canales de internet (iptv-org) están desactivados en instalaciones nuevas desde la versión 0.2.9.
Conclusión
Headend te permite seguir usando el receptor que ya tienes como sintonizador legal para Emby TV en directo, con tus bouquets, una guía fusionada, picons y una vigilancia que te ahorra una subida al desván. Empieza por la página del producto, sigue la guía de usuario para los campos exactos y ten a mano el changelog cuando actualices. Si algo no encaja, la base de conocimiento y las FAQ son el siguiente paso, y siempre puedes contactarnos.