@extends('admin.layout') @section('title', 'GPU Accelerator') @section('page_title', 'GPU Accelerator') @section('extra_styles') @include('admin.partials.settings-styles') @endsection @section('content')

GPU Accelerator

@if(session('success'))
{{ session('success') }}
@endif @if($errors->any())
{{ $errors->first() }}
@endif
@csrf
GPU Accelerated Processing @if(count($gpus)) {{ count($gpus) }} GPU{{ count($gpus) > 1 ? 's' : '' }} detected @else No GPU detected @endif @if($nvencWorks) NVENC encoding ✓ @else NVENC encoding ✗ @endif
@if(!$nvencWorks && count($gpus))
⚠ NVENC is not working with the current FFmpeg binary.
The GPU is detected but FFmpeg cannot initialise CUDA on this driver.
Fix: Install a newer FFmpeg with CUDA 12+ support (e.g. jellyfin-ffmpeg7), then update the binary path below.
Until then, video encoding will automatically fall back to CPU (libx264).
@endif
Available GPUs
@if(count($gpus)) @include('admin.partials.gpu-cards', ['gpus' => $gpus, 'selectedDevice' => $settings['gpu_device']]) @else

No NVIDIA GPUs detected. Click "Detect GPUs" to scan.

@endif
Enable GPU acceleration When enabled, video encoding uses the NVIDIA GPU. When disabled, falls back to CPU (libx264).
Video encoder h264_nvenc is broadly compatible. hevc_nvenc produces smaller files (H.265) but requires compatible players. libx264 forces CPU encoding regardless of the toggle above.
@foreach([ ['h264_nvenc', 'H.264 NVENC', 'GPU · max compatibility'], ['hevc_nvenc', 'H.265 NVENC', 'GPU · smaller files'], ['libx264', 'libx264', 'CPU · software fallback'], ] as [$val, $label, $desc]) @endforeach
Encoding preset NVENC presets: p1 (fastest) → p7 (best quality). libx264 presets: fast / medium / slow. Preset only affects speed vs file size; quality is controlled by CQ/CRF.
Hardware decode acceleration Use CUDA to decode the source video on the GPU before re-encoding, speeding up the pipeline. Disable if you see CUDA errors in the logs.
FFmpeg binary path Absolute path to the ffmpeg executable. Change this to use a newer build (e.g. /usr/lib/jellyfin-ffmpeg/ffmpeg) that supports your GPU driver. Current: {{ config('ffmpeg.ffmpeg', '/usr/bin/ffmpeg') }}
Cancel
@endsection @section('scripts') @endsection