Transcoding allows Jellyfin to convert media on-the-fly to formats compatible with client devices. Proper configuration ensures optimal quality, performance, and compatibility.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/jellyfin/jellyfin/llms.txt
Use this file to discover all available pages before exploring further.
Encoding Configuration File
Transcoding settings are stored inencoding.xml:
FFmpeg Configuration
FFmpeg Path
Jellyfin requires FFmpeg for transcoding. Configure the path:EncoderAppPath: Path set by user via UIEncoderAppPathDisplay: Currently used path displayed on transcode page
Jellyfin automatically detects FFmpeg if installed in standard locations.
FFmpeg Probe Settings
Configure via environment variables:probesize: Amount of data to analyze (default: 1G)analyzeduration: Duration to analyze (default: 200M)
Video Encoding
H.264 Encoding
- CRF (Quality)
- Software Encoder
- Hardware Encoders
Constant Rate Factor controls encoding quality:
- Lower values = higher quality, larger files
- Higher values = lower quality, smaller files
- Range: 0-51 (default: 23)
- Recommended: 18-28
H.265/HEVC Encoding
CRF Configuration
HEVC typically uses higher CRF values than H.264:
- Default: 28
- Recommended: 24-32
- CRF 28 (HEVC) ≈ CRF 23 (H.264) in quality
AV1 Encoding
Encoder Presets
ultrafast- Fastest, lowest qualitysuperfastveryfast- Good balance for real-time transcodingfasterfastmedium- Default, balanced quality/speedslowslowerveryslow- Best quality, very slow
Audio Encoding
Audio VBR
Downmixing Configuration
- Audio Boost
- Downmix Algorithm
Apply volume boost when downmixing surround to stereo:
- Range: 0-10
- Default: 2
Audio Codec Limitations
Jellyfin enforces channel limits for certain encoders:| Codec | Max Channels |
|---|---|
| libmp3lame | 2 (stereo) |
| libfdk_aac | 6 (5.1) |
| ac3 | 6 (5.1) |
| eac3 | 6 (5.1) |
| AAC | 8 |
| FLAC | 8 |
| ALAC | 8 |
| Opus | 8 |
| Vorbis | 8 |
Transcoding Behavior
Threading
-1: Auto (uses all available CPU cores)0: FFmpeg default1-N: Specific thread count
Setting to -1 allows FFmpeg to utilize all CPU resources for faster transcoding.
Throttling
Segment Management
EnableSegmentDeletion: Auto-delete old segmentsSegmentKeepSeconds: How long to keep segments (default: 720)
Muxing Queue
Temporary Transcoding Path
Subtitle Configuration
Subtitle Extraction
EnableSubtitleExtraction: Allow extracting embedded subtitlesSubtitleExtractionTimeoutMinutes: Maximum time to spend extracting
Fallback Fonts
Hardware Decoding
Codec Selection
h264- H.264/AVChevc- H.265/HEVCvc1- VC-1mpeg2video- MPEG-2vp8- VP8vp9- VP9av1- AV1
Advanced Decoding Options
- 10-bit HEVC
- 10-bit VP9
- HEVC RExt
Enable hardware decoding for 10-bit HEVC:
NVIDIA Enhanced Decoder
System Native Decoder
Deinterlacing
- Method
- Double Rate
Available deinterlacing algorithms:
yadif- Yet Another Deinterlacing Filter (recommended)bwdif- Bob Weaver Deinterlacing Filter
Tone Mapping
Basic Tone Mapping
Algorithm Selection
Choose tone mapping algorithm:Options:
bt2390- ITU-R BT.2390 (recommended)hable- Hable/Unchartedmobius- Mobiusreinhard- Reinhard
Tone Mapping Parameters
TonemappingDesat: Desaturation strength (default: 0)TonemappingPeak: Peak luminance in nits (default: 100)TonemappingParam: Algorithm-specific parameter (default: 0)
Hardware-Specific Tone Mapping
- Intel VPP
- Apple VideoToolbox
Intel Quick Sync Configuration
HLS Audio Seeking
DisableAccurateSeek- Faster seeking, less accurate (default)EnableAccurateSeek- Slower seeking, more accurate
Keyframe Extraction
Performance Optimization
Use Hardware Encoding
Enable hardware acceleration for 10-20x faster transcoding with lower CPU usage.
RAM Disk for Transcodes
Store temporary transcodes in RAM disk for faster I/O and reduced disk wear.
Optimize Thread Count
Set
EncodingThreadCount to -1 to use all CPU cores efficiently.Adjust CRF Values
Balance quality and performance by tuning CRF settings for your use case.
Troubleshooting
Transcoding Fails
Check:
- FFmpeg is installed and path is correct
- Sufficient disk space in transcode directory
- Encoding settings are compatible with source media
Poor Quality Output
Adjust:
- Lower CRF values for better quality
- Use slower encoder preset
- Increase bitrate limits
Slow Transcoding
Optimize:
- Enable hardware encoding
- Use faster encoder preset
- Reduce thread count if CPU is overloaded
Next Steps
Hardware Acceleration
Set up GPU acceleration for optimal performance
Configuration
Review general server configuration options