u/Mathiasrex24

Hi! I'm fairly new to the hobby, and a few days ago I've built a server using only used pc hardware. The hardware in question:

- CPU: Intel i3-4170 (4 threads @ 3.70GHz)

- RAM: 8GB DDR3

- GPU: NVIDIA GTX 1050 2GB (NVENC working and confirmed with nvidia-smi)

- Storage: 2x 1TB HDD 7200rpm (one for OS/LXC, one for media)

I'm running Jellyfin in a Docker container inside an unprivileged LXC container on Proxmox (Debian 13 Trixie), and I'm experiencing severe IO delay whenever Jellyfin transcodes a file. Looking for advice on whether this is a hardware limitation or a configuration issue.

Software stack:

  • Proxmox VE 9.1.9 on kernel 6.14.11-7-pve
  • Unprivileged LXC container running Debian 12
  • NVIDIA driver 550.163.01 with full GPU passthrough to LXC
  • nvidia-container-toolkit installed, Docker runtime configured for NVIDIA

The problem is when Jellyfin transcodes a file (even for a single stream), IO delay spikes to 95%+ and load average hits 35+. The specific file causing issues is a 1080p HEVC + Dolby Vision Profile 8.1 (HDR10) WEBRip with Hungarian AC3 5.1 audio. Jellyfin cannot Direct Play this and falls back to transcoding.

What iotop shows during transcoding:

ffmpeg -analyzeduration 200M -probesize 1G -ss [timestamp] 
-noaccurate_seek -fflags +genpt+cont -y /dev/shm/jellyfin-transcode/[file]

Current Jellyfin transcoding setup:

- NVENC hardware acceleration enabled

- Transcode temp directory: /dev/shm/jellyfin-transcode (RAM disk)

- nvidia-smi confirms ffmpeg process uses GPU during transcoding (274MiB VRAM, 6-14% GPU util)

What we've already done:

- NVENC confirmed working (nvidia-smi shows ffmpeg process on GPU)

- Transcode cache moved to RAM (/dev/shm) to avoid HDD write bottleneck

- Tdarr set up for automated DTS/TrueHD → EAC3 conversion (scheduled overnight)

- Radarr/Sonarr configured to avoid DTS/TrueHD/DoVi releases going forward

My main question is whether the extreme IO delay (95%+) during transcoding is expected even when NVENC is active and the transcode cache is on a RAM disk. The HDD shouldn't be involved in writing since temp files go to /dev/shm, but reads from the source file seem to be killing IO.

Is the -probesize 1G -analyzeduration 200M in the ffmpeg command normal for Jellyfin? That seems like it would cause massive source file reads on HDD.

I can provide the transcoding log snippet if needed. Thanks in advance!

reddit.com
u/Mathiasrex24 — 11 days ago