Jellyfin hace buffering cuando una parte de la ruta de reproducción no puede entregar, convertir o decodificar video más rápido que el avance de la línea de tiempo. La transcodificación de video es una causa común, pero no la única. Una transmisión también puede detenerse por límites del códec del cliente, procesamiento de subtítulos, Wi-Fi inestable, ancho de banda de subida remoto insuficiente, contención de almacenamiento o un directorio de transcodificación que no puede aceptar más datos temporales.
La forma más rápida de encontrar el cuello de botella es verificar el modo de reproducción actual antes de cambiar la configuración del hardware. Luego compara si el problema afecta a todos los archivos, solo a medios 4K o HDR, a un cliente, usuarios remotos, reproducción con subtítulos habilitados o varias transmisiones simultáneas.
Verifica el modo de reproducción antes de cambiar cualquier cosa
Abre el panel de control de Jellyfin mientras se reproduce el video afectado e inspecciona la sesión activa. Esto establece si el servidor está entregando el archivo original o convirtiendo activamente parte de él.
Jellyfin separa la reproducción en cuatro rutas de reproducción con carga progresivamente mayor en el servidor: Reproducción directa, Remux, Transmisión directa y Transcodificación de video. La reproducción directa envía el archivo original con casi ningún procesamiento. Remux cambia el contenedor, la transmisión directa convierte el audio mientras preserva el video, y la transcodificación recodifica la secuencia de video.
Este primer resultado cambia toda la dirección de la solución de problemas. Si la reproducción directa hace buffering, comienza con la red, almacenamiento, cliente y archivo multimedia. Si la transcodificación de video hace buffering, verifica por qué se solicitó la conversión y si el servidor puede completar todo el proceso lo suficientemente rápido.
| Modo de reproducción | Qué está haciendo el servidor | Verificar primero |
| Reproducción directa | Enviando el archivo original | Red, decodificación del cliente, almacenamiento, archivo |
| Remux | Cambiando el contenedor | Compatibilidad del contenedor y almacenamiento temporal |
| Transmisión directa | Convirtiendo audio pero preservando el video | Códec de audio, disposición de canales, soporte del cliente |
| Transcodificación de video | Decodificación y recodificación de video | CPU, GPU, subtítulos, HDR, ruta de transcodificación |
| Error de reproducción | Conversión o entrega fallida | Registro de FFmpeg, permisos, espacio libre |
Descubre por qué Jellyfin solicitó una transcodificación
Un archivo no se reproduce directamente solo porque el cliente soporte su códec de video. Jellyfin evalúa la combinación completa de contenedor, códec de video, perfil del códec, profundidad de bits, resolución, formato de audio, disposición de canales, subtítulos, tasa de bits y restricciones de reproducción del cliente.
Por ejemplo, el cliente puede soportar video HEVC pero no la pista de audio TrueHD incluida. Otro cliente puede decodificar ambas transmisiones pero no renderizar el formato de subtítulos seleccionado. Esas diferencias pueden convertir el mismo archivo en reproducción directa en un dispositivo, conversión de audio en otro y transcodificación completa de video en un navegador.
Registre la razón de la reproducción antes de cambiar la configuración. También pruebe otra pista de audio, desactive los subtítulos y reproduzca el mismo archivo en otro cliente Jellyfin. Estas pruebas controladas son más útiles que habilitar todas las casillas de códecs en el menú de transcodificación.
La transcodificación por software puede sobrecargar un servidor pequeño
La transcodificación por software usa la CPU para decodificar la fuente, aplicar filtros, escalar la imagen y codificar un nuevo flujo en tiempo real. Un procesador de baja potencia puede manejar una conversión 1080p pero fallar cuando la fuente es video 4K HEVC, de 10 bits o HDR.
Cuando la conversión no puede mantenerse por delante de la reproducción, el cliente eventualmente consume los segmentos de video almacenados en búfer y se pausa. El uso de CPU puede mantenerse cerca de su máximo mientras Jellyfin intenta repetidamente construir suficientes datos por delante de la posición actual.
Si el servidor tiene una GPU integrada o discreta compatible, la aceleración de hardware configurada correctamente suele ser más útil que cambiar el número de hilos de FFmpeg. Si el servidor no tiene un codificador compatible, reducir la resolución o el bitrate solicitado puede confirmar que la capacidad de transcodificación es el factor limitante.
La aceleración de hardware es una tubería de múltiples etapas
Seleccionar Intel Quick Sync, VA-API, NVIDIA NVENC o AMD AMF en el Panel no garantiza que todas las partes de la conversión se ejecuten en la GPU.
Una transcodificación en Jellyfin puede incluir decodificación, desentrelazado, escalado, conversión de formato, mapeo de tonos HDR, incrustación de subtítulos y codificación. Jellyfin señala que algunas etapas pueden permanecer en la CPU debido a limitaciones de hardware, controladores o software. Por lo tanto, la aceleración parcial puede producir un alto uso de CPU incluso cuando se observa actividad en la GPU.
Verifique todo el trabajo en lugar de solo la presencia de una GPU. Fuerce una transcodificación predecible, observe los motores de decodificación y codificación de video, inspeccione el comando FFmpeg y busque filtros que hayan vuelto al software.
No habilite formatos de decodificación que su GPU no pueda manejar
La página de aceleración de hardware permite a los administradores seleccionar formatos de video que Jellyfin puede intentar decodificar mediante la GPU. Habilitar un formato no soportado no añade esa capacidad al hardware.
Si la GPU no puede decodificar el perfil exacto del códec o la profundidad de bits, Jellyfin puede recurrir a la decodificación por software o fallar al inicializar la ruta de hardware. Por eso un archivo HEVC puede funcionar mientras otro causa un uso inesperadamente alto de CPU.
Confirme la generación de la GPU y los perfiles soportados, luego habilite solo los formatos que realmente pueda procesar. Pruebe archivos comunes H.264, HEVC Main 10 y HDR por separado en lugar de tratar todos los medios 4K como una sola carga de trabajo.
Docker debe tener acceso a la GPU
Una GPU detectada por el sistema operativo host no está automáticamente disponible dentro de un contenedor Jellyfin. El contenedor también necesita la asignación correcta de dispositivos, runtime, controladores, grupos y permisos.
Para GPUs Intel y AMD en Linux, el host comúnmente expone dispositivos de renderizado bajo /dev/dri. El usuario del contenedor debe poder acceder al dispositivo de renderizado relevante. Las configuraciones NVIDIA requieren el controlador del host y un runtime de contenedor apropiado. Las comprobaciones prácticas en Docker incluyen verificar el dispositivo de renderizado, mapearlo en el contenedor y añadir el GID correcto del grupo de renderizado.
No deje el contenedor en modo privilegiado como solución permanente. Puede usarse brevemente para confirmar que el problema subyacente es el acceso al dispositivo, pero la implementación final debe exponer solo los recursos y permisos de GPU necesarios.
Verifique la actividad de la GPU durante una transcodificación real
El inicio exitoso de un contenedor no prueba que la transcodificación por hardware funcione. Jellyfin puede funcionar normalmente, escanear la biblioteca y reproducir archivos directamente sin tener acceso utilizable a la GPU.
Forzar una transcodificación eligiendo temporalmente una calidad de cliente inferior a la fuente. En sistemas Intel, monitoree los motores de video con una herramienta como intel_gpu_topEn sistemas NVIDIA, inspeccione los procesos activos y la actividad del codificador mediante nvidia-smiTambién verifique si el uso de la CPU disminuye en comparación con la transcodificación por software.
Si no hay actividad de GPU, confirme el dispositivo asignado, el usuario del contenedor, la membresía del grupo de renderizado, el método de aceleración de hardware y el registro de FFmpeg. Si la GPU está activa pero la reproducción sigue siendo lenta, otra etapa de la canalización puede estar ejecutándose aún en software.
Los Subtítulos Pueden Activar una Transcodificación Completa de Video
Un síntoma común es la reproducción fluida hasta que se activan los subtítulos. Esto ocurre a menudo con subtítulos basados en imágenes o formatos con estilo que el cliente seleccionado no puede renderizar directamente.
Cuando Jellyfin debe incrustar los subtítulos en la imagen, decodifica cada cuadro, renderiza la capa de subtítulos y codifica un nuevo flujo de video. Eso puede convertir una sesión de Direct Play de baja carga en una de las rutas de reproducción más costosas del servidor.
Desactiva los subtítulos y reproduce la misma escena. Si el almacenamiento en búfer desaparece, prueba una pista de subtítulos basada en texto como SRT, prueba otro cliente o verifica si la ruta de hardware seleccionada puede acelerar las operaciones de decodificación, filtrado y codificación circundantes.
El Mapeo de Tonos HDR Puede Ser Más Exigente Que la Transcodificación Normal
Si los medios 1080p y 4K SDR ordinarios se reproducen correctamente pero el contenido HDR se almacena en búfer en un cliente SDR, el mapeo de tonos es un candidato probable.
El servidor puede necesitar decodificar una fuente HDR de 10 bits, convertir su rango de color y brillo para SDR, escalarla y codificar un nuevo flujo de video. Un sistema capaz de transcodificación normal H.264 puede no ser capaz de realizar esa carga completa en tiempo real mediante software.
Prueba el mismo archivo HDR en un cliente compatible con HDR, luego fuerza una transcodificación SDR y compara la actividad de CPU y GPU. El soporte de hardware para decodificación HEVC no prueba automáticamente que el método de mapeo de tonos seleccionado esté completamente acelerado.
El Cliente Determina Gran Parte del Camino de Reproducción
Jellyfin puede reproducir un archivo con Direct Play en un cliente de escritorio mientras lo transcodifica en una aplicación de navegador o televisión. Esa diferencia no significa que la configuración del servidor haya cambiado entre sesiones.
Cada cliente informa sus códecs, contenedores, formatos de audio, subtítulos, resoluciones y límites de bitrate compatibles. Un reproductor más capaz puede evitar la conversión, mientras que uno restringido puede requerir conversión de audio, remuxing o transcodificación completa de video.
Prueba el mismo archivo, pista de audio, pista de subtítulos y conexión de red en dos clientes. Si el problema sigue a un cliente, investiga las capacidades de reproducción y la configuración de la aplicación de ese dispositivo antes de modificar el servidor.
Direct Play Puede Seguir Almacenando en Búfer
Direct Play elimina la conversión de video como el principal cuello de botella, pero no garantiza que todas las demás partes del camino estén funcionando correctamente.
El NAS aún tiene que leer el medio, la red debe entregarlo de forma continua y el cliente debe decodificarlo y reproducirlo. Picos de alto bitrate, Wi-Fi inestable, una interfaz de cliente lenta, reintentos por errores de almacenamiento o un reproductor con poca potencia pueden interrumpir una transmisión que de otro modo sería directa.
Copia el archivo problemático al cliente y reprodúcelo localmente. Si la reproducción local también se entrecorta, investiga el archivo multimedia o el decodificador del cliente. Si la copia local funciona mientras Jellyfin Direct Play se almacena en búfer, enfócate en la red y la ruta de almacenamiento del servidor.
Prueba la ruta LAN real en lugar de un test de velocidad de internet.
Un resultado rápido de internet no mide el camino desde el servidor Jellyfin hasta un televisor, teléfono o caja de transmisión dentro del hogar. Tampoco revela fluctuaciones de Wi-Fi, pérdida de paquetes, congestión del backhaul de malla o una interfaz de dispositivo lenta.
Un diagnóstico local útil compara el rendimiento sostenido de copia de archivos, un cliente cableado, una codificación de menor tasa de bits y el archivo original de alta tasa de bits. Las comprobaciones prácticas de transmisión local también incluyen probar Ethernet, verificar si el cliente está forzando una transcodificación y mover tareas pesadas en segundo plano fuera de las horas de visualización.
Busca un rendimiento sostenido en lugar del valor más alto mostrado por unos segundos. El video con picos grandes de tasa de bits necesita suficiente margen para sobrevivir a breves ralentizaciones de la red sin agotar el búfer del cliente.
El almacenamiento en búfer remoto generalmente tiene una causa diferente.
Si el mismo medio se reproduce correctamente en casa pero se almacena en búfer a través de una conexión externa, el ancho de banda de subida del servidor y la ruta remota son los principales sospechosos.
La tasa utilizable está limitada por la velocidad de subida de la conexión doméstica, la velocidad de descarga del cliente remoto, la sobrecarga del VPN o proxy inverso, el tráfico doméstico en competencia y la tasa de bits de la transmisión. Un remux grande puede superar la capacidad de subida disponible aunque se reproduzca perfectamente en Direct Play a través de la LAN.
Reduce temporalmente la calidad de reproducción remota. Si eso resuelve el almacenamiento en búfer, establece una tasa de bits remota sostenible o usa transcodificación por hardware para crear una transmisión más pequeña. Trata la configuración más baja como evidencia de un límite de ancho de banda, no como prueba de que el archivo original está defectuoso.
El almacenamiento es más propenso a fallar bajo trabajo concurrente.
Un disco duro en buen estado generalmente puede reproducir una transmisión de película ordinaria sin dificultad. El almacenamiento se vuelve más sospechoso cuando la reproducción se superpone con descargas, copias de seguridad, escaneos de biblioteca, generación de miniaturas, operaciones de paridad, limpiezas o varios usuarios.
Esas tareas generan lecturas, escrituras y búsquedas en competencia. Un disco puede mostrar una velocidad secuencial aceptable en un benchmark mientras desarrolla una alta latencia bajo actividad mixta.
Monitoree la utilización y latencia mientras ocurre el almacenamiento en búfer. Pausa las descargas y trabajos de mantenimiento, luego reproduzca el mismo archivo. Mantenga la base de datos, metadatos y caché de Jellyfin en almacenamiento de menor latencia cuando sea posible, mientras que los archivos multimedia grandes pueden permanecer en discos orientados a capacidad.
Un directorio de transcodificación lleno puede detener la reproducción
El video transcodificado se escribe como segmentos temporales antes de que el cliente lo consuma. Si el sistema de archivos asignado, SSD, disco RAM o volumen Docker tiene espacio libre insuficiente, FFmpeg ya no puede producir nuevos segmentos.
Un problema anterior de Jellyfin documentó cómo la reproducción solo podía continuar hasta alcanzar el último segmento creado antes de que el directorio de transcodificación se llenara. El informe es antiguo y cerrado, pero el síntoma sigue siendo una razón útil para inspeccionar el espacio cuando una transmisión transcodificada se detiene después de varios minutos.
Verifique el espacio libre, la disponibilidad de inodos, el mapeo del contenedor, los permisos de escritura y el límite de capacidad de la ruta de transcodificación. Tenga especial cuidado con los discos RAM pequeños o sistemas de archivos temporales: usar memoria puede reducir la latencia de almacenamiento, pero un límite insuficiente puede crear una falla abrupta en la reproducción.
Un archivo problemático generalmente apunta al medio
Si muchos archivos con resolución y tasa de bits similares se reproducen correctamente, es menos probable que un solo título que falla demuestre que todo el servidor está subdimensionado.
El archivo puede contener un perfil de códec inusual, cuadros dañados, una disposición de audio no compatible, una pista de subtítulos de imagen, marcas de tiempo incorrectas o un pico extremo de tasa de bits. Una temporada de un programa también puede haber sido codificada de manera diferente a las otras.
Pruebe otra pista de audio, desactive los subtítulos, inspeccione la información del medio y compare el archivo con otro título que use el mismo códec. Un simple remux en un nuevo contenedor puede ayudar a determinar si el contenedor o las marcas de tiempo están involucrados sin volver a codificar todo el video.
Múltiples transmisiones revelan límites de recursos compartidos
Un servidor doméstico puede manejar una transmisión perfectamente y comenzar a almacenar en búfer solo cuando otro usuario inicia la reproducción. Compare el modo de reproducción de cada sesión activa antes de asumir que solo la red es responsable.
Varias sesiones de reproducción directa principalmente aumentan la carga de almacenamiento y red. Varias transcodificaciones de video también compiten por la capacidad de codificación de la GPU, filtros de CPU, ancho de banda de memoria y espacio en el directorio de transcodificación.
Prueba una sesión, luego añade transmisiones una a una mientras observas el uso de CPU, GPU, disco y red. Esto identifica si el límite práctico es el número de conversiones, la tasa de bits agregada del medio o la actividad mixta de almacenamiento.
Lee el registro de FFmpeg antes de reinstalar Jellyfin.
El Panel de Control del servidor te indica qué tipo de reproducción está ocurriendo, mientras que el registro de FFmpeg correspondiente explica cómo Jellyfin intentó procesar el archivo.
Busca fallos en la inicialización del dispositivo de hardware, errores de permisos, perfiles no soportados, retroceso a software, filtros de subtítulos, filtros de mapeo de tonos, errores de entrada/salida, códigos de salida de procesos y errores de espacio de almacenamiento.
Captura el registro de la sesión exacta que se detiene para cargar. Un registro de una reproducción directa no relacionada o una transcodificación exitosa puede llevar a una conclusión errónea. Reinstalar el servidor rara vez soluciona un límite de códec del cliente, un dispositivo GPU inaccesible o un directorio temporal lleno.
Usa el síntoma para elegir la siguiente prueba.
| Síntoma. | Dirección más probable. | Prueba siguiente. |
| Solo se detiene para cargar con subtítulos. | Subtítulos incrustados. | Desactiva los subtítulos o selecciona SRT. |
| Solo un cliente se detiene para cargar. | Códec o decodificador del cliente. | Reproduce el mismo archivo en otro cliente. |
| La reproducción directa se detiene para cargar. | Red, cliente, almacenamiento o archivo. | Copia el archivo localmente y prueba con Ethernet. |
| La CPU alcanza el máximo durante la reproducción. | Transcodificación por software o parcial. | Revisa la actividad de la GPU y los filtros de FFmpeg. |
| La aceleración por hardware está habilitada pero no se usa. | Dispositivo, tiempo de ejecución, grupo o controlador. | Verifica el acceso a la GPU dentro del contenedor. |
| Solo los archivos HDR se detienen para cargar. | Mapeo de tonos o decodificación a 10 bits. | Prueba en un cliente HDR e inspecciona las etapas de la GPU. |
| Funciona localmente pero en remoto se detiene para cargar. | Ancho de banda de carga o tasa de bits remota. | Reduce temporalmente la calidad remota. |
| La reproducción se detiene después de varios minutos. | Agotamiento de almacenamiento o recursos para transcodificación. | Verifica el espacio libre y el registro de FFmpeg. |
| Solo un archivo falla. | Perfil de códec, subtítulo, audio o corrupción. | Cambia de pista e inspecciona la información del medio. |
| La segunda transmisión hace que ambas se detengan para cargar. | Límite compartido de cómputo, red o almacenamiento. | Compara todos los modos de sesión y utilización. |
Sigue este orden de solución de problemas.
- Reproduce el problema con el mismo archivo y cliente.
- Abre el Panel de Control de Jellyfin y anota el modo de reproducción.
- Registra la razón indicada para la transcodificación o compatibilidad.
- Desactiva los subtítulos y prueba otra pista de audio.
- Reproduce el mismo archivo en otro cliente.
- Revisa la actividad de la CPU y GPU durante la sesión afectada.
- Abre el registro de FFmpeg correspondiente.
- Verifica el espacio y los permisos de escritura en el directorio de transcodificación.
- Prueba el rendimiento sostenido de la LAN o la capacidad de carga remota.
- Pausa las descargas, copias de seguridad, escaneos y mantenimiento de almacenamiento.
- Compara el archivo problemático con medios similares.
- Considera nuevo hardware solo después de que la evidencia muestre un límite de cómputo.
Este orden evita que cambios no relacionados oculten la causa original. Cambia una variable a la vez y reproduce la misma escena para que los resultados sean comparables.
Conclusión final
El buffering en Jellyfin no significa automáticamente que el servidor doméstico necesite una CPU más rápida. Comienza con el modo de reproducción activo, porque la Reproducción Directa y la transcodificación de video apuntan a diferentes partes del sistema.
Para sesiones transcodificadas, identifica por qué se requiere la conversión, verifica toda la cadena de aceleración por hardware, prueba sin subtítulos, inspecciona el mapeo de tonos HDR y confirma que la ruta de transcodificación tenga suficiente espacio de escritura. En Docker, verifica la GPU desde dentro del contenedor en lugar de confiar solo en la detección del host.
Para la Reproducción Directa, enfócate en el rendimiento sostenido de la red, la decodificación del cliente, la actividad del almacenamiento y el archivo multimedia individual. La combinación del modo de reproducción, cliente, códec, subtítulos, actividad de recursos y registros de FFmpeg proporciona un diagnóstico más confiable que cambiar configuraciones al azar o reemplazar hardware primero.
Preguntas frecuentes
¿Por qué Jellyfin hace buffering solo cuando los subtítulos están activados?
El formato de subtítulos seleccionado puede requerir incrustación. Jellyfin debe entonces decodificar el video, renderizar los subtítulos en cada cuadro y codificar un nuevo flujo. Intenta desactivar los subtítulos, seleccionar una pista basada en texto o usar un cliente que pueda renderizar directamente el formato de subtítulos.
¿Por qué Jellyfin transcodifica en un dispositivo pero usa Reproducción Directa en otro?
Los clientes soportan diferentes combinaciones de contenedores, códecs de video, formatos de audio, tipos de subtítulos, perfiles y tasas de bits. El dispositivo menos compatible solicita al servidor convertir la parte del archivo que no soporta.
¿Cómo puedo confirmar que la aceleración por hardware de Jellyfin está funcionando?
Forza una transcodificación de video y luego inspecciona los motores de decodificación y codificación GPU del servidor. También confirma que el registro de FFmpeg use el dispositivo de hardware esperado y que el contenedor pueda acceder al dispositivo sin errores de permisos.
¿Por qué Jellyfin hace buffering aunque dice Reproducción Directa?
La reproducción directa elimina la transcodificación de video del proceso, pero la red, el almacenamiento, el archivo multimedia y el decodificador del cliente aún pueden ser demasiado lentos o inestables. Prueba el archivo localmente en el mismo cliente y compara la reproducción por cable y por inalámbrico.
¿Debería Jellyfin usar un SSD para la transcodificación?
Un SSD puede reducir la latencia de segmentos temporales y es útil para la base de datos, metadatos y caché de Jellyfin. El requisito más importante es una ruta de transcodificación con espacio suficiente, escrituras confiables y permisos correctos. Un disco RAM de tamaño adecuado también puede funcionar, pero uno con tamaño insuficiente puede detener la reproducción.
Soporte y Consejos
Más para leer

Cómo optimizar el almacenamiento NAS para la edición en Adobe Premiere Pro
Mantén los medios compartidos en el NAS, la caché de Premiere en un SSD local y dimensiona la red según la tasa de bits...

Instalación de la aplicación CasaOS fallida: registros, DNS y puertos
Esta guía explica cómo solucionar fallos en la instalación de aplicaciones de CasaOS revisando los registros de CasaOS, los registros de Docker, la resolución...

10 aplicaciones autoalojadas que vale la pena probar en un servidor doméstico
Explora 10 aplicaciones prácticas autoalojadas, incluyendo Immich, Jellyfin, Vaultwarden, Nextcloud, Home Assistant, Stirling-PDF y AdGuard Home.

