Los archivos temporales de transcodificación siguen llenando la unidad del sistema: cómo detenerlo

Eva Wong es la Redactora técnica y manitas residente en ZimaSpace. Una geek de toda la vida con pasión por los homelabs y el software de código abierto, se especializa en traducir conceptos técnicos complejos en guías accesibles y prácticas. Eva cree que el autoalojamiento debe ser divertido, no intimidante. A través de sus tutoriales, empodera a la comunidad para desmitificar las configuraciones de hardware, desde construir su primer NAS hasta dominar los contenedores Docker.

Detén la carga de transcodificación activa, verifica dónde se escriben los segmentos temporales y, después, impón la limpieza y mueve la ruta fuera de la unidad del sistema.

Un servidor multimedia puede almacenar segmentos HLS, transmisiones remultiplexadas, archivos generados al incrustar subtítulos y archivos de sesión incompletos en su directorio de caché o aplicación predeterminado, incluso cuando la biblioteca de origen se encuentra en un grupo de almacenamiento grande. La unidad del sistema se llena cuando esos archivos no se eliminan con suficiente rapidez, el directorio de transcodificación está asignado incorrectamente o quedan sesiones abandonadas después de finalizar la reproducción. Diagnostica el directorio y la sesión reales antes de eliminar archivos o reubicar la caché.

Localiza el directorio de transcodificación activo y sus sesiones más grandes

Inicia una transcodificación controlada y observa qué directorio aumenta de tamaño. Registra la configuración de la aplicación, la ruta del contenedor, el montaje enlazado del host, el sistema de archivos, el espacio disponible, el número de archivos y los subdirectorios de sesión más grandes.

Jellyfin expone una ubicación independiente con permisos de escritura para los archivos temporales de transcodificación, lo que confirma que la ruta de transcodificación es distinta de la biblioteca multimedia permanente y de la ruta de metadatos. La configuración relevante es la ruta temporal de transcodificación.

Si la aplicación muestra una ruta, pero la unidad del host que se llena es otra, inspecciona los montajes efectivos de Docker y la capa de escritura. La ausencia de un montaje enlazado puede hacer que el contenedor escriba archivos temporales en el sistema de archivos del contenedor respaldado por el sistema, en lugar de hacerlo en el volumen de caché previsto.

Detén el proceso que genera los archivos antes de realizar una limpieza de emergencia

Identifica las sesiones de reproducción activas y detén únicamente las transcodificaciones asociadas con los archivos que crecen rápidamente. Guarda el registro más reciente de FFmpeg, el título de origen, el cliente, la tasa de bits de salida, los subtítulos y la hora de inicio antes de recuperar espacio.

Anteriormente, algunos archivos de transcodificación permanecieron después de finalizar la reproducción y provocaron que el disco se llenara hasta impedir que el servidor se iniciara. Un problema de Jellyfin documenta una película que seguía ocupando la carpeta temporal de transcodificación horas después de que el usuario dejara de verla.

No elimines archivos pertenecientes a una sesión activa mientras FFmpeg siga escribiendo en ellos. Detén la sesión o el servidor correctamente, confirma que los archivos ya no estén abiertos y, después, elimina únicamente la salida temporal confirmada, en lugar de borrar toda la caché o la base de datos de la aplicación.

Activa la eliminación de segmentos para sesiones de streaming prolongadas

Comprueba si el servidor elimina los segmentos HLS descargados durante la reproducción. Sin la eliminación de segmentos, una película larga o una transmisión en directo puede requerir suficiente espacio en disco para conservar toda la salida generada.

Jellyfin describe la eliminación de segmentos como el proceso de quitar los segmentos antiguos después de que el cliente los descarga, para que el servidor no tenga que almacenar el archivo transcodificado completo. La opción existe específicamente para evitar almacenar la transmisión completa.

Actívala para un cliente de prueba y supervisa la reproducción, la búsqueda y la reanudación. Mantenla desactivada únicamente cuando un problema reproducible del cliente requiera conservar los segmentos y compénsalo con un volumen de transcodificación dedicado más grande y una limpieza de sesiones más estricta.

Mueve la ruta de transcodificación a un volumen rápido dedicado

Elige un SSD, una caché NVMe o un sistema de archivos temporal con capacidad suficiente, separado de la raíz del sistema operativo. El destino debe soportar escrituras simultáneas y tener capacidad suficiente para las peores sesiones de transcodificación previstas.

Los usuarios que colocan las transcodificaciones en pequeños discos RAM han solicitado un límite de caché porque el directorio puede seguir creciendo hasta agotar el dispositivo temporal. El límite del problema es una caché de transcodificación sin límites, independientemente de si el dispositivo subyacente es RAM o SSD.

Detén el servidor, crea el nuevo directorio con la propiedad correcta para el servicio, asígnalo explícitamente al contenedor y actualiza la configuración de la aplicación con la ruta visible desde el contenedor. Ejecuta una transcodificación y verifica que la unidad del sistema del host ya no aumente de tamaño.

Encuentra sesiones obsoletas y fallos de limpieza

Compara los directorios de sesiones temporales con los identificadores de las sesiones de reproducción activas y los procesos de FFmpeg. Los archivos sin una sesión coincidente, sin un proceso abierto y con fechas de modificación antiguas son candidatos para una limpieza compatible.

No supongas que una tarea genérica de limpieza de caché elimina todos los artefactos de transcodificación. El informe anterior sobre la limpieza de Jellyfin determinó que la tarea de caché normal no eliminaba el archivo de transcodificación obsoleto, por lo que la comprobación real es determinar si la limpieza específica de la sesión se completó.

Revisa el registro del servidor en torno a las desconexiones de clientes, los reinicios de contenedores, los bloqueos, la pérdida de red y la terminación forzada de procesos. Corrige la condición que impide que el servidor reciba un evento de detención correcto, en lugar de depender de un script de eliminación diario como único mecanismo de control.

Mide el espacio máximo ocupado por transcodificaciones simultáneas

Ejecuta una transcodificación remota representativa y mide los bytes temporales por minuto. Repite la prueba con incrustación de subtítulos, mapeo de tonos HDR y la tasa de bits de salida más alta compatible; después, multiplica el resultado por el número previsto de sesiones simultáneas y la duración de retención.

Una unidad del sistema llena puede afectar al servidor multimedia más allá de la reproducción. Un caso de soporte de Jellyfin señaló que las transcodificaciones que llenaban la unidad podían estar relacionadas con que la interfaz web dejara de conectarse, lo que demuestra que el agotamiento del volumen del sistema afecta a la disponibilidad de la aplicación.

Reserva espacio libre para el sistema operativo, los registros, las bases de datos, las actualizaciones de paquetes y los metadatos de Docker. El volumen de transcodificación debe fallar de forma independiente, sin impedir que el servidor se inicie o que la aplicación multimedia se abra.

Verifica la limpieza y añade alertas de capacidad

Prueba el inicio de la reproducción, la búsqueda, la pausa, la desconexión del cliente, el reinicio del servidor y las sesiones simultáneas. Confirma que los archivos activos solo crezcan en la ruta de transcodificación dedicada y disminuyan después de finalizar las sesiones.

La guía de ZimaSpace sobre cómo crear un servidor multimedia doméstico ofrece el proceso de validación más amplio para separar el almacenamiento de origen de las cargas de trabajo de la aplicación y las temporales.

La reparación se completa cuando ya no quedan sesiones obsoletas, la eliminación de segmentos funciona con los clientes compatibles, la unidad del sistema conserva una reserva segura y las alertas se activan antes de que el volumen de transcodificación dedicado o el sistema de archivos raíz alcance su umbral de capacidad.

Soporte y Consejos

Más para leer

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.