Transcode Doctor para Jellyfin

Haz que la transcodificación se ejecute en la tarjeta gráfica y no en el procesador: prueba la aceleración por hardware, aplica los ajustes que funcionan y descubre por qué se transcodifica cada reproducción.

Hardware acceleration diagnosis on a real server: NVIDIA NVENC, Intel QuickSync and VA-API tested for every codec, with measured speed1 de 4

Jellyfin no detecta tu tarjeta gráfica por sí solo: el método de aceleración y los códecs se eligen a mano, y una elección equivocada o un permiso que falta devuelven la transcodificación al procesador sin ningún aviso. Transcode Doctor prueba lo que tu servidor puede hacer de verdad, te dice qué falta y aplica los ajustes que funcionan.

Qué hace

  • Diagnóstico de la aceleración por hardware: comprueba ffmpeg, la tarjeta NVIDIA y los dispositivos /dev/dri (con los permisos del proceso de Jellyfin) y luego ejecuta breves transcodificaciones de prueba en el servidor con cada método: NVIDIA NVENC, Intel QuickSync y VA-API (Intel / AMD). Cada método se prueba en la decodificación de H.264, HEVC, HEVC 10 bits, MPEG-2 (TV), VP9 y AV1 y en la codificación de H.264 y HEVC, con la velocidad medida. ffmpeg genera los clips de prueba en la carpeta de caché de Jellyfin; tus archivos multimedia no se tocan.
  • Problemas con la solución exacta: por ejemplo «Jellyfin no puede acceder a /dev/dri/renderD128 — sudo usermod -aG render jellyfin y después reinicia Jellyfin», una tarjeta NVIDIA cuyo controlador no responde o ffmpeg ausente en la ruta configurada.
  • Recomendación y aplicación con un clic: el método que mejor funciona, los códecs de decodificación que superaron la prueba, la codificación por hardware y una estimación de cuántas transcodificaciones 1080p pueden ejecutarse a la vez. Apply the settings las escribe en los ajustes de transcodificación de Jellyfin; no cambia nada hasta que haces clic.
  • Restauración con un clic: antes de aplicar, el plugin guarda tus ajustes de transcodificación anteriores; Restore the previous settings los devuelve exactamente.
  • Por qué transcodifica: las reproducciones transcodificadas recientes, cada una con los motivos de Jellyfin explicados en palabras sencillas y lo que se puede hacer (por ejemplo, subtítulos PGS incrustados, HDR en una pantalla SDR, el límite de tasa de bits de la app). Se guardan hasta 500 reproducciones.
  • Alerta de recurso al procesador: una entrada en el registro de actividad de Jellyfin cuando una transcodificación de vídeo se ejecuta en el procesador aunque la aceleración por hardware esté configurada.
  • En inglés y en rumano.

Qué cambia en Jellyfin

Solo cuando haces clic en Apply the settings, y solo en Dashboard → Playback → Transcoding: el método de aceleración por hardware, los códecs de decodificación por hardware (los que superaron la prueba; VC-1, VP8 y MPEG-4, que no se pueden probar, se quedan como los configuraste), la decodificación HEVC de 10 bits, la codificación por hardware y el dispositivo VA-API / QuickSync. La codificación HEVC se desactiva si no superó la prueba; el plugin nunca la activa. La restauración devuelve los ajustes de antes de la última aplicación.

Requisitos

  • Jellyfin Server 12.2 o posterior, con jellyfin-ffmpeg (la compilación de ffmpeg que viene con Jellyfin).
  • Una tarjeta gráfica NVIDIA, Intel o AMD con su controlador: para NVIDIA, el controlador con nvidia-smi; para Intel y AMD, un dispositivo de renderizado /dev/dri que el usuario de Jellyfin pueda abrir (normalmente a través del grupo render). En Docker, el dispositivo debe pasarse al contenedor.

Preguntas frecuentes

¿Por qué Jellyfin transcodifica en el procesador aunque mi servidor tenga GPU? Normalmente el método de aceleración o los códecs están mal configurados, o el usuario de Jellyfin no tiene acceso a la GPU. Transcode Doctor encuentra cuál es el caso y corrige los ajustes. Consulta la guía.

¿Puede estropear mi transcodificación? Solo aplica ajustes que superaron las pruebas en tu servidor, después de que hagas clic, y guarda los anteriores para restaurarlos con un clic.

Qué envía y adónde

  • Ningún contacto externo aparte del cliente de licencias. No descarga archivos de prueba: los clips de muestra (H.264, HEVC, HEVC 10 bits, MPEG-2, VP9, AV1) se generan localmente con jellyfin-ffmpeg, en la carpeta de caché del servidor (transcode-doctor/). Tus archivos multimedia no se tocan.
  • Procesos locales: jellyfin-ffmpeg, nvidia-smi (solo si hay una tarjeta NVIDIA), una comprobación de acceso a /dev/dri/renderD*.
  • El diagnóstico se ejecuta solo cuando haces clic en el botón. La vigilancia de sesiones (cada 15 s, solo con licencia) lee la información de transcodificación de las reproducciones activas; la alerta de «recurso al procesador» (activada por defecto) solo escribe en el registro de actividad local.
  • «Apply» (un clic, iniciado solo por el administrador) guarda los ajustes de aceleración por hardware recomendados, después de guardar los antiguos en state/encoding-before.json; «Revert» los restaura.
  • Además, el cliente de licencias, el mismo en todos los plugins: consulta Licencias y privacidad en nuestros plugins.

Guardado localmente (state/ en la carpeta de datos del plugin): report.json (último diagnóstico: ruta de ffmpeg, GPU, resultados), history.json (las últimas 500 reproducciones transcodificadas: hora, usuario, app, dispositivo, título, motivos de la transcodificación, hardware/procesador), clips sintéticos en la caché.

Nunca se envía: nada de lo anterior sale del servidor.

Compatibilidad con clientes

  • La vigilancia y las alertas funcionan en el servidor: 🟢 con cualquier cliente que provoque una transcodificación.
  • Interfaz: solo la página de administración — Jellyfin Web / medialab Server ✅ (comprobado visualmente; sin prueba automática de extremo a extremo).
  • Hardware probado: NVIDIA (NVENC) en una Quadro M2000 real ✅. Intel QSV / VA-API: detectados y probados por el plugin, ❔ no probado en hardware real. AMD AMF, Apple VideoToolbox, Rockchip: no compatibles.
  • Las comprobaciones están orientadas a Linux (/dev/dri, nvidia-smi, grupo render); Windows/macOS: ❔ no probado.

Leyenda: ✅ verificado (prueba de extremo a extremo o en el dispositivo) · 🟢 en el servidor, funciona con cualquier cliente (por diseño, sin prueba específica para cada cliente) · ➖ no aplicable · ❔ no probado.

Licencia

El plugin es de código abierto (GPL-3.0). Las compilaciones listas para instalar son públicas, igual que el código fuente. Lo que compras es la suscripción: la licencia para usar el plugin en un servidor Jellyfin, las actualizaciones que incluye tu plan y el soporte: todas las actualizaciones mientras la suscripción esté activa, a través de tu repositorio privado de plugins, y ayuda cuando algo no funciona. El plugin comprueba la clave de suscripción una vez al día; sin una suscripción válida se detiene hasta que renuevas (no se borra nada). Mensual, anual o de por vida (la de por vida incluye un año de actualizaciones), o incluido en el paquete para Jellyfin. 30 días de prueba gratis.

Código fuente. Para cada versión, el código fuente correspondiente completo es público, junto a la compilación, en el registro de cambios, y también en tu cuenta (Cuenta → Licencias, Código fuente); cada archivo incluye el texto completo de la GPL-3.0 (LICENSE). Si necesitas el código fuente de una versión que ya no puedes descargar, pídenoslo y te lo enviamos. Consulta la sección 10 del EULA.

Transcode Doctor es código propio, escrito por MediaLab Works para Jellyfin; no contiene código de terceros.

Funciona mejor con medialab Server

Este plugin funciona en Jellyfin oficial 12.2 o posterior. En medialab Server, nuestro servidor basado en Jellyfin con los mismos datos, bibliotecas, usuarios y apps, funciona mejor:

  • Verified – medialab. El servidor comprueba la firma de nuestros plugins y te muestra que los archivos son exactamente los que publicamos. Si un plugin se modifica después de publicarse, se marca.
  • Integrado en la interfaz. Los plugins pueden añadir botones y enlaces al menú de tus usuarios (por ejemplo, "TV", "Share") sin configurar nada a mano en la web.
  • Prioridad de forma predeterminada. Los plugins de medialab aparecen primero donde importa: sintonizadores de TV en directo, fuentes de guía y proveedores de subtítulos. El orden lo decides tú: puedes cambiarlo en cualquier momento.
  • El catálogo de medialab.works incluido, con instalación sin confirmaciones adicionales.
  • Actualizaciones desde la interfaz web, sin terminal (con Self-Update de MediaLab): comprueba, actualiza y vuelve a la versión anterior desde el panel de control; si una versión nueva no arranca, el servidor vuelve por sí solo a la anterior con tus datos intactos.
  • El mismo Jellyfin, al día. medialab Server sigue cada semana las versiones estables de Jellyfin 12.x; una versión nueva solo se publica después de superar todas las pruebas, incluidas las de nuestros plugins.

Las apps de Jellyfin (Android, iOS, TV, web) se conectan exactamente igual que a Jellyfin oficial.

Para instalarlo, ejecuta la imagen del contenedor (guía) o, en Debian 12, los paquetes apt, que sustituyen a jellyfin-server y jellyfin-web y conservan tus datos donde están (guía).

medialab Server es software libre (GPL-2.0), basado en Jellyfin. El código fuente es público: medialab-server y medialab-server-web.

Requisitos

  • Jellyfin Server 12.2 o posterior (Linux, Windows o Docker)
  • jellyfin-ffmpeg, la compilación de ffmpeg que viene con Jellyfin
  • Una tarjeta gráfica NVIDIA, Intel o AMD con su controlador, accesible para Jellyfin (grupo render para /dev/dri)
  • Código abierto (GPL-3.0): el código fuente de cada versión está en tu cuenta

Última versión

0.1.5
publicada el 20 oct 2026
Ver todos los cambios →

La compilación es pública; para usar el plugin necesitas una licencia o la prueba gratuita de 30 días.