El problema: un servidor Jellyfin y un televisor sin app de Jellyfin
Tienes Jellyfin en casa o para un grupo pequeño de usuarios. El servidor va bien. El problema es el televisor: un Samsung o LG antiguo, un modelo Philips o una TV de hotel que tiene navegador pero no app de Jellyfin en su tienda. Hacer cast no siempre es una opción, y poner un segundo dispositivo detrás de cada televisor tampoco es lo que quieres.
MediaLab TV toma otro camino. Es un plugin de Jellyfin que sirve una app web, que se abre una vez en el navegador del propio televisor. A partir de ahí, el televisor inicia sesión solo y muestra una interfaz al estilo Netflix pensada para el mando, con reproductor propio, botones de saltar y tu nombre, logotipo, colores y dirección en lugar de los nuestros. Si llevas tiempo buscando una alternativa a la app de Jellyfin para televisores que nunca la tendrán, este es el enfoque: el navegador es el cliente.
Una nota honesta antes de empezar: MediaLab TV no es una app de la tienda de aplicaciones del televisor. Se ha probado en un navegador de TV Philips emulado; los televisores Samsung (Tizen), LG (webOS), Android TV / Google TV y los Philips reales están contemplados en el código (modo TV, teclas del mando, puntero del Magic Remote), pero todavía no se han comprobado en los dispositivos. Lo que un televisor puede reproducir depende de su navegador, y el servidor transcodifica lo que el navegador no puede reproducir.
Requisitos previos
- Jellyfin Server 12.2 o posterior, oficial o medialab Server, en Linux, Windows o Docker.
- Un televisor con navegador web. Ese es todo el requisito en el lado del cliente.
- Quick Connect activado en Jellyfin (Dashboard → General), si quieres inicio de sesión con el móvil y cuentas nuevas desde el móvil. Sin él, el televisor solo muestra el formulario habitual de usuario y contraseña.
- 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.
- Extras opcionales: Quick Connect de MediaLab (código QR a la página de aprobación), Registration de MediaLab (registro desde el móvil) y Cashier de MediaLab (pago antes de que la cuenta se active).
Paso 1 — Instala el plugin desde tu repositorio privado
El método recomendado permite que Jellyfin instale y actualice el plugin por sí mismo.
- En tu cuenta de MediaLab Works, abre Licenses → Jellyfin plugin repository y haz clic en Create address. Cópiala. La dirección es privada porque contiene un token, así que no la compartas; puedes regenerarla o revocarla en cualquier momento.
- En Jellyfin, abre Dashboard → Plugins → Repositories, haz clic en +, ponle un nombre (por ejemplo, MediaLab Works), pega la dirección y guarda.
- En Dashboard → Plugins → Catalog, busca MediaLab TV, haz clic en Install y reinicia Jellyfin.
El repositorio lista solo los plugins que cubren tus licencias, y solo las versiones que estas permiten. Sus enlaces de descarga están firmados y caducan a las pocas horas, así que Jellyfin siempre lee una lista actualizada.
Si lo prefieres, el catálogo público en https://medialab.works/jellyfin/manifest.json lista todos los plugins publicados de MediaLab Works con su build público (medialab Server lo añade por sí mismo). También puedes instalar manualmente: descarga jf-tvapp_x.y.z.zip desde Account → Licenses, extráelo en una carpeta nueva MediaLab TV_x.y.z.0 dentro de la carpeta de plugins (/var/lib/jellyfin/plugins/ en una instalación de Linux con paquete, /config/plugins/ en el volumen de configuración de la imagen oficial de Docker, %ProgramData%\Jellyfin\Server\plugins\ en Windows) y reinicia Jellyfin.
Paso 2 — Activa la licencia
- Abre Dashboard → Plugins → MediaLab TV y haz clic en License.
- Pega tu clave de licencia y haz clic en Activate with key. El plugin contacta con el servidor de licencias, vincula la clave a este servidor y muestra la licencia como Active.
- ¿Todavía no tienes clave? En la misma página, introduce tu correo electrónico y empieza la prueba gratuita de 30 días, o compra una licencia; el plugin se activa solo cuando se completa el pago.
La licencia se comprueba una vez al día y en cada arranque de Jellyfin. Sin internet, el plugin sigue funcionando 7 días después de la última comprobación correcta. Sin una licencia válida, los televisores solo ven una pantalla neutra de «Servicio no disponible», en inglés y rumano, sin tu nombre ni tu logotipo: no se borra nada y todo se reanuda en cuanto la licencia vuelve a ser válida. Move license (release this server) en la misma página libera la clave para otro servidor.
Paso 3 — Configura tu marca
Abre MediaLab TV en el menú del panel de Jellyfin. Todo aquí es opcional, pero es la parte que tus usuarios ven de verdad.
- App name: el título en el televisor (por defecto, «MediaLab TV»).
- Short name: se muestra en la lista de dispositivos del servidor y como nombre de la app guardada en el televisor.
- Line under the name y footer line: por ejemplo, tu sitio web y cómo contactar con soporte. Un pie de página vacío muestra «Unofficial app, compatible with Jellyfin servers» en el idioma del televisor.
- Colors: el color de acento (botones, foco) y el fondo, como
#rrggbb. El color del texto se elige automáticamente para que siga siendo legible. - Language: automático (el idioma del navegador del televisor), inglés o rumano.
- Logo: PNG o SVG, como máximo 512 KB; una imagen cuadrada queda mejor. Los archivos SVG con scripts se rechazan.
La preview muestra el resultado antes de que hagas clic en Save. Los ajustes de marca y el logotipo se quedan en tu servidor.
Paso 4 — Elige la dirección para los televisores
Funcionan dos direcciones:
/MediaLabTv/en la dirección de tu servidor: funciona siempre.- Tu propia ruta, por ejemplo
/web/tv/(la ruta por defecto estv), servida directamente por el propio plugin. La barra de direcciones mantiene/web/tv/, no se escribe nada en los archivos de Jellyfin y no hay que rehacer nada tras las actualizaciones de Jellyfin. Se respeta una URL base configurada en Jellyfin. Nunca se cubre una ruta que ya exista en la interfaz web de Jellyfin, así que elige otra si hay un conflicto.
En medialab Server, la app también aparece en el menú de los usuarios.
Paso 5 — Ábrela una vez en cada televisor
En el televisor, abre el navegador, escribe la dirección corta una vez y guárdala como página de inicio o como favorito. Eso es toda la configuración en el lado del dispositivo.
El modo TV se elige solo en televisores Tizen, webOS, Android TV, Google TV y Philips, o se cambia desde el menú de perfiles. Está dimensionado para pantallas de 720p, 1080p y 4K, con márgenes seguros y un foco grande. Funcionan las flechas, OK, Atrás (con una pregunta antes de salir), las teclas de multimedia, color, canal y número, y también el puntero del LG Magic Remote. La pantalla completa está disponible desde un botón de la cabecera donde el navegador lo permite y con la tecla F; en un televisor, o al abrir desde Quick Connect, el primer OK / clic pasa a pantalla completa (desde la 1.2.1).
Paso 6 — Decide cómo inicia sesión la gente
El televisor guarda el token de sesión del servidor, no la contraseña. El token se comprueba en cada arranque; si se ha revocado, el televisor muestra el formulario de inicio de sesión. «Remember the password on TVs» está desactivado por defecto: actívalo solo para televisores que pierden el token con frecuencia.
Para la mayoría de los hogares, iniciar sesión con el móvil es la opción más cómoda:
- Sign in with your phone: el televisor muestra un código de 6 dígitos. Un usuario con sesión iniciada lo aprueba en el móvil, en la app de Jellyfin (Settings → Quick Connect). Con Quick Connect de MediaLab instalado, el televisor también muestra un código QR que abre la página de aprobación.
- New account (from the phone): con Registration de MediaLab, el televisor muestra un código QR a la página de registro y un código para escribir en el formulario. Cuando la cuenta se activa —tras la aprobación del administrador o, con Cashier de MediaLab, tras el pago—, el televisor inicia sesión por sí mismo.
Recuerda que ambas opciones dependen de que el Quick Connect de Jellyfin esté activado en Dashboard → General.
Paso 7 — Lo que reciben tus usuarios
La interfaz es propia: un banner rotativo y filas de Seguir viendo, A continuación, películas y series añadidas recientemente, cada biblioteca, Mi lista, colecciones, géneros y TV en directo (ahora, películas esta noche, deportes, infantil, próximamente). Las páginas de títulos incluyen fondo, valoraciones, reparto, temporadas y episodios, títulos similares y el tráiler local. Hay cuadrículas, búsqueda con teclado en pantalla y perfiles («Who's watching?»).
El reproductor también es propio: pistas de audio, subtítulos, reanudación, siguiente episodio y los botones Skip intro / recap / credits (los Media Segments de Jellyfin). La reproducción se informa a Jellyfin, así que aparece en Seguir viendo en todas partes. Si alguien prefiere el cliente de serie, el ajuste «After sign-in, open» lo envía a Jellyfin Web; la interfaz de MediaLab TV es la opción por defecto.
Consejos y solución de problemas
- «Servicio no disponible» en el televisor: la licencia no es válida, o el servidor no ha contactado con medialab.works desde hace más de 7 días. Revisa la página License del plugin.
- Falta «Sign in with your phone»: Quick Connect no está activado en Jellyfin. Actívalo en Dashboard → General.
- Algo se rompió tras una actualización: en la página License del plugin, usa Roll back to x.y.z (con una licencia válida) y reinicia Jellyfin. Si tu repositorio privado está añadido, la tarea programada Update Plugins de Jellyfin (al arrancar y a diario) volverá a instalar la versión más reciente: quita sus disparadores en Dashboard → Scheduled Tasks si quieres quedarte un tiempo en la versión anterior, y vuelve a añadirlos después.
- Privacidad: el televisor habla solo con tu servidor Jellyfin; la página bloquea cualquier cosa externa (sin fuentes web, sin CDN, sin tráilers externos). A medialab.works solo se envía la comprobación de licencia.
- Expectativas de compatibilidad: trata el navegador como el cliente. Si un archivo no se reproduce con fluidez, deja que el servidor lo transcodifique en lugar de culpar al televisor.
Conclusión
Para un televisor que nunca tendrá una app de Jellyfin, un cliente basado en el navegador con su propia interfaz adaptada al mando es la respuesta pragmática. MediaLab TV te da eso, además de inicio de sesión con el móvil mediante Quick Connect, botones de saltar respaldados por Media Segments y una marca que hace que el servidor se sienta tuyo. Instálalo desde tu repositorio privado, configura el nombre, el logotipo y los colores, abre /web/tv/ una vez en cada televisor y el dispositivo está listo. La guía de usuario cubre cada ajuste en detalle, el changelog lista cada versión con su código fuente, y la base de conocimiento y las FAQ están ahí cuando algo no se comporta como debería; también puedes contactarnos directamente.