Smart Skip para Jellyfin — guía

Instalación

Necesitas Jellyfin Server 12.2 o más nuevo y una cuenta de MediaLab Works con una licencia que cubra el plugin (una suscripción activa, una licencia de por vida dentro de su período de actualizaciones, el paquete Jellyfin o la prueba gratuita de 30 días).

Desde tu repositorio de plugins (recomendado). Jellyfin instala y actualiza 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: es privada (contiene un token), así que no la compartas; puedes regenerarla o revocarla en cualquier momento.
  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 Smart Skip by MediaLab, haz clic en Install y reinicia Jellyfin.

El repositorio solo enumera los plugins que tus licencias cubren, y solo las versiones que permiten. Sus enlaces de descarga están firmados y caducan a las pocas horas, así que Jellyfin siempre lee una lista fresca.

Desde el catálogo público. https://medialab.works/jellyfin/manifest.json enumera cada plugin de MediaLab Works publicado con su compilación pública; medialab Server lo añade por sí mismo. Puedes añadirlo del mismo modo para instalar un plugin antes de tener una clave: el plugin te pedirá entonces la licencia, o iniciará la prueba, en su página License. Con una licencia de por vida cuyo período de actualizaciones ha terminado, mantente en tu repositorio privado, que solo ofrece las versiones que tu licencia permite.

Manualmente, desde un archivo zip.

  1. En Account → Licenses descarga jf-smartskip_x.y.z.zip (el SHA-256 del archivo se muestra junto al botón).
  2. Extráelo en una carpeta nueva Smart Skip by MediaLab_x.y.z.0 dentro de la carpeta de plugins de Jellyfin:
    • Linux (paquete): /var/lib/jellyfin/plugins/
    • Docker (imagen oficial): /config/plugins/ en el volumen de configuración
    • Windows: %ProgramData%\Jellyfin\Server\plugins\
  3. Reinicia Jellyfin.

Activación de la licencia

  1. Abre la página del plugin en Dashboard → Plugins → Smart Skip by MediaLab y haz clic en License.
  2. 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 Jellyfin y muestra la licencia como Active.
  3. ¿Todavía no tienes clave? En la misma página introduce tu correo e inicia la prueba gratuita de 30 días (se necesita tarjeta, nada que pagar hoy) o compra una licencia; el plugin se activa solo cuando el pago se realiza.

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 tras la última comprobación exitosa. Sin una licencia válida, el plugin detiene su trabajo y solo su página License sigue funcionando (prueba, clave, renovación); no se elimina 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.

Actualizaciones y reversión

  • Desde el repositorio: Jellyfin muestra las nuevas versiones en Dashboard → Plugins y puede actualizar el plugin automáticamente; reinicia Jellyfin para cargar la nueva versión.
  • Desde la página License del plugin: con una licencia válida, Install update instala la versión más nueva que tu licencia permite y Roll back to x.y.z vuelve a la versión anterior (por ejemplo, si algo dejó de funcionar tras una actualización). Reinicia Jellyfin después de cualquiera de las dos. Ambos paquetes se verifican contra la suma de comprobación publicada por el servidor de licencias.
  • Una licencia de por vida recibe las versiones publicadas durante su período de actualizaciones; después, el plugin sigue funcionando en la última versión que puede usar.
  • Tras una reversión, si tu repositorio de plugins está añadido en Jellyfin, la tarea programada de Jellyfin Update Plugins (al arrancar y cada día) instala de nuevo la versión más nueva. Para quedarte un tiempo en la versión anterior, elimina los disparadores de esa tarea en Dashboard → Scheduled Tasks y añádelos de nuevo más tarde.

Código fuente

El código fuente GPL-3.0 de cada versión está en Account → Licenses (Source code), junto a la descarga, como archivo .tar.gz creado a partir del commit exacto de esa versión.

Análisis automático

No hay nada que instalar aparte del plugin: Smart Skip usa el ffmpeg de tu servidor Jellyfin (chromaprint, signalstats), con prioridad baja, y sin tarjeta gráfica.

  • Los episodios y películas nuevos se analizan automáticamente, aproximadamente un minuto después de llegar (una temporada añadida de golpe se analiza una vez).
  • Una tarea nocturna (Smart Skip en Dashboard → Scheduled Tasks, por defecto a las 03:30) analiza el resto de la biblioteca. Analyze now en la página del plugin la inicia de inmediato.
  • Las intros se encuentran por temporada, comparando las huellas de audio de los episodios, incluidos los episodios con una escena antes de la cabecera. Las huellas se conservan, así que un episodio nuevo no hace que toda la temporada se vuelva a decodificar.
  • Los recaps («Previously on…») también se detectan. Con la detección de recaps activada, una temporada nueva tarda aproximadamente el doble en analizarse; puedes desactivar la detección de recaps.
  • Los créditos finales se encuentran para episodios y películas; los epílogos de las películas están protegidos.
  • Un archivo que falló al analizarse no se reintenta en cada ejecución, solo cuando el archivo cambia.

Ajustes

Abre Smart Skip en el menú del panel de control de Jellyfin, pestaña Settings (solo administradores): análisis activado o desactivado, intros, recaps, créditos finales, películas, y hasta dónde buscar: los primeros minutos para la intro (15 por defecto, como máximo un cuarto del episodio), los últimos segundos para los créditos de los episodios (450) y de las películas (900).

Revisión de los resultados

La pestaña Overview muestra cuántos títulos están analizados, con intro, con recap o con créditos, fallidos, corregidos y en cola. La pestaña Titles los enumera:

  • Cada título muestra su confianza (seguro o probable).
  • El filtro To review reúne los títulos donde el análisis no está seguro, los episodios sin intro en una temporada donde los demás la tienen, y los fallidos.
  • El editor muestra los fotogramas exactos en cada límite (inicio y fin de la intro, el recap y los créditos), para que puedas comprobarlos y corregirlos.
  • Las correcciones manuales se conservan: un análisis posterior nunca las sobrescribe, hasta que haces clic en Re-analyze para ese título. Una corrección actualiza los segmentos de Jellyfin de inmediato.

En Jellyfin

  • Smart Skip es un proveedor de segmentos de medios: Jellyfin lee de él los segmentos Intro, Recap y Outro, y las apps de Jellyfin que admiten segmentos de medios muestran su propio botón de salto.
  • Cuando no sigue nada después de los créditos, el Outro llega hasta el final del archivo, así que Jellyfin ofrece el siguiente episodio en cuanto empiezan los créditos.
  • Ningún segmento empieza en 0:00, y una intro de la que el análisis no está seguro no se entrega a Jellyfin.
  • En Jellyfin Web, cada usuario elige qué ocurre en cada tipo de segmento en Settings → Playback → Media segments; para los recaps, lo predeterminado es no hacer nada.

Qué envía y a dónde

Nada: el análisis es totalmente local. Solo la comprobación de la licencia llega a medialab.works.

Límites

  • Los avances de «Next time on» no se detectan.
  • Los recaps remezclados solo se detectan a veces; Smart Skip prefiere no marcar nada a marcar la parte equivocada. Revisa esos títulos en la lista To review.
  • Una temporada con un solo episodio no tiene intro: no hay nada con lo que compararla.