Skip to main content
Hardware acceleration uses your GPU to transcode media, providing 10-20x faster performance compared to CPU-only encoding while significantly reducing CPU usage.

Supported Hardware Acceleration Types

Jellyfin supports multiple hardware acceleration platforms:

Intel Quick Sync

Intel integrated graphics (6th gen+)

NVIDIA NVENC

NVIDIA GPUs (GTX 900+ series)

AMD AMF

AMD GPUs (GCN architecture+)

VA-API

Linux video acceleration API

VideoToolbox

Apple hardware (macOS/iOS)

Video4Linux

V4L2 M2M (Raspberry Pi, etc.)

Rockchip MPP

Rockchip SoC devices

Software

CPU-only encoding (no GPU)

Hardware Acceleration Configuration

Enabling Hardware Acceleration

In encoding.xml:
Available types:
  • none - Software encoding only
  • qsv - Intel Quick Sync Video
  • nvenc - NVIDIA NVENC
  • amf - AMD Advanced Media Framework
  • vaapi - VA-API (Linux)
  • videotoolbox - Apple VideoToolbox
  • v4l2m2m - Video4Linux M2M
  • rkmpp - Rockchip Media Process Platform

Intel Quick Sync Video (QSV)

Requirements

1

Hardware Requirements

  • Intel CPU with integrated graphics (6th generation or newer recommended)
  • Intel Iris Xe or UHD Graphics
  • Compatible chipset with Quick Sync support
2

Driver Requirements

Linux:
Windows: Install latest Intel graphics drivers from Intel’s website.
3

Device Permissions (Linux)

Add Jellyfin user to video and render groups:

QSV Configuration

For most Intel GPUs (6th-11th gen):

Supported Codecs (QSV)

QSV Tone Mapping

Intel VPP (Video Post Processing) provides hardware-accelerated HDR to SDR tone mapping on supported platforms.

NVIDIA NVENC

Requirements

1

Hardware Requirements

  • NVIDIA GPU with NVENC support:
    • GeForce GTX 900 series or newer
    • RTX series (best performance)
    • Quadro/Tesla professional GPUs
2

Driver Requirements

Linux:
Windows: Install latest GeForce or Studio drivers from NVIDIA’s website.
3

NVENC Session Limits

Consumer GPUs have encoding session limits:
  • GTX/RTX cards: 3 concurrent sessions (can be patched)
  • Quadro/Tesla: Unlimited sessions
Use nvidia-patch to remove session limits on consumer cards.

NVENC Configuration

Enhanced NVDEC

Enables enhanced NVDEC decoder for:
  • Dolby Vision to SDR tone mapping
  • Better HDR support
  • Improved compatibility

Supported Codecs (NVENC)

CUDA Tone Mapping

NVENC supports CUDA-accelerated tone mapping:
CUDA tone mapping requires:
  • FFmpeg built with CUDA support
  • Compatible NVIDIA GPU (Pascal or newer)

AMD AMF

Requirements

1

Hardware Requirements

  • AMD GPU with GCN architecture or newer:
    • Radeon RX 400 series or newer (recommended)
    • Radeon VII
    • RX 5000/6000/7000 series
2

Driver Requirements

Linux:
Windows: Install AMD Adrenalin drivers from AMD’s website.

AMF Configuration

Supported Codecs (AMF)

On Linux, AMF uses VA-API as the backend. Consider using VA-API directly for better compatibility.

VA-API (Linux)

Requirements

1

Install VA-API Drivers

2

Verify VA-API

Should show available profiles and entrypoints.
3

Device Permissions

VA-API Configuration

The default VA-API device is /dev/dri/renderD128, which works for most single-GPU systems.

Multiple GPUs

For systems with multiple GPUs:
Specify the desired device:

VA-API Tone Mapping

VA-API supports hardware tone mapping on Intel GPUs (9th gen+).

Apple VideoToolbox

Requirements

  • macOS device with Apple Silicon or Intel CPU with integrated graphics
  • macOS 10.13 or newer

VideoToolbox Configuration

Supported Codecs (VideoToolbox)

Docker Configuration

Intel QSV (Docker)

Find your render group ID with: getent group render | cut -d: -f3

NVIDIA (Docker)

Requires NVIDIA Container Toolkit installed on the host.

AMD VA-API (Docker)

Performance Comparison

Typical 1080p H.264 transcoding performance:
Speed multipliers are approximate and vary based on hardware, source material, and encoding settings.

Troubleshooting

1

Hardware Acceleration Not Working

Check:
2

Permission Denied Errors

3

Quality Issues

  • Reduce CRF value for higher quality
  • Check if source supports hardware decoding
  • Verify hardware encoder supports desired codec
  • Try different tone mapping algorithm
4

NVIDIA Session Limit

If you hit the 3-session limit on consumer GPUs:
  • Apply nvidia-patch
  • Use a Quadro/Tesla GPU (no limits)
  • Reduce concurrent transcoding sessions
5

Docker Hardware Access

Ensure:
  • Devices are properly mounted (--device)
  • Correct group IDs are added (--group-add)
  • Runtime is specified for NVIDIA (--runtime nvidia)

Best Practices

Match Hardware to Workload

Use Intel QSV for efficiency, NVIDIA for maximum performance, and VA-API for compatibility.

Enable Hardware Decoding

Configure hardware decoding for codecs your GPU supports to reduce CPU usage further.

Monitor Temperatures

Ensure adequate cooling, especially during sustained transcoding sessions.

Test Before Deployment

Verify quality and compatibility with your media library before enabling for all users.

Codec Selection by Platform

Best for:
  • H.264/HEVC transcoding
  • Low power consumption
  • Integrated graphics systems
  • Multiple concurrent streams (no session limits)

Next Steps

Transcoding Settings

Fine-tune quality, codecs, and performance options

Network Configuration

Configure remote access and bandwidth limits