Jellyfin AI Upscalerv1.6.1.16

Hardware guide

Which GPU + how much VRAM + which execution provider you actually need. No marketing fluff.

The four providers, ranked

TierProviderWhat it looks like
1NVIDIA CUDA + TensorRTRTX 2060 and up, ≥6 GB VRAM. Best latency, widest model support, TensorRT FP16 paths on Ampere+.
2Intel OpenVINOArc A-series discrete, Iris Xe iGPU, N100/N305 mini-PCs. Great power/perf for home-lab, needs /dev/dri in container.
3AMD ROCmRDNA2+ (6600/6700/7000 series) on Linux hosts with /dev/kfd. Works, but fewer models have official ROCm kernels.
4CPU (ONNX)AVX2-capable modern x86. Works for FSRCNN/ESPCN real-time, anything ESRGAN+ will be minutes-per-frame.

VRAM budget by model

These numbers are measured on CUDA at FP16 with a single 1080p→4K pass. Double them for 4K→8K.

Model familyMin VRAM (FP16)Comfort VRAM
FSRCNN / ESPCN500 MB1 GB
Waifu2x1.5 GB3 GB
Real-ESRGAN / RealESRGAN-Anime3 GB6 GB
SwinIR-M / HAT-S4 GB8 GB
SwinIR-L / HAT-L / AnimeSR-v27 GB12 GB
EDVR-M / RealBasicVSR (multi-frame)8 GB16 GB
GFPGAN + Upscaler (face restore pipeline)+1 GB on top+2 GB on top
Headroom matters: if your GPU also serves Jellyfin transcoding (NVENC/QSV), keep ~2 GB free for the transcode session or you will see OOM kills on simultaneous playback.

Recommended setups

Budget home lab (Intel N100 / Arc A380)

Mid-range (RTX 3060 12GB / RTX 4060)

High-end (RTX 4090 / A100)

CPU-only NAS (e.g. Synology DS920+)

Jellyfin-side hardware acceleration

Orthogonal to the AI upscaler — Jellyfin still handles decoding the source file and encoding the final MP4 itself.

Remote transcoding (optional)

Set Enable Remote Transcoding and the plugin installs a wrapper script that redirects Jellyfin's FFmpeg invocations to the AI service host over SSH. Use this when your Jellyfin server has no GPU but a separate desktop on the LAN does.

POST /Upscaler/wrapper/install
# generates on-disk next to the plugin DLL:
#   Linux : upscale-wrapper.sh
#   Win   : upscale-wrapper.bat + upscale-logic.ps1
Prereq: password-less SSH from Jellyfin host to the GPU host, with ffmpeg on the $PATH at the remote end.