Automate Your Jellyfin Library with Tdarr (2026)
You have 2,000 movies. Some are H.264, some H.265, some are 50 GB Blu-ray remuxes, and some are ancient XviD files from 2008. Your storage is filling up, and half your remote users trigger transcoding because their clients cannot handle HEVC.
Tdarr solves this by automatically transcoding your entire library in the background - converting files to your preferred codec, compressing oversized files, and ensuring every item Direct Plays on every client.
What Is Tdarr?
Tdarr is a self-hosted media transcoding application with:
- Automatic library scanning - detects files that need processing
- Plugin-based workflows - flexible rules for what to transcode and how
- Distributed workers - offload transcoding to multiple machines
- GPU acceleration - NVENC, QSV, AMF support
- Jellyfin integration - triggers library refresh after processing
Docker Compose Setup
services:
tdarr:
image: ghcr.io/haveagitgat/tdarr:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- serverIP=0.0.0.0
- serverPort=8266
- webUIPort=8265
volumes:
- ./tdarr/server:/app/server
- ./tdarr/configs:/app/configs
- ./tdarr/logs:/app/logs
- /path/to/media:/media
- /tmp/tdarr:/temp
ports:
- 8265:8265
- 8266:8266
devices:
- /dev/dri:/dev/dri
restart: unless-stopped
tdarr-node:
image: ghcr.io/haveagitgat/tdarr_node:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- nodeID=MainNode
- serverIP=tdarr
- serverPort=8266
volumes:
- ./tdarr/configs:/app/configs
- ./tdarr/logs:/app/logs
- /path/to/media:/media
- /tmp/tdarr:/temp
devices:
- /dev/dri:/dev/dri
restart: unless-stopped
Recommended Tdarr Workflows for Jellyfin
Workflow 1: Convert everything to H.265 (save 40-60% storage)
Plugin: Tdarr_Plugin_MC93_Migz1FFMPEG_CPU/GPU
Settings:
- Target codec: HEVC (H.265)
- Target container: MKV
- Quality: CRF 22 (visually transparent)
- Skip if already H.265
This is the most popular workflow. A 20 GB H.264 movie becomes ~8-12 GB in H.265 with no visible quality loss.
Workflow 2: Ensure compatibility (H.264 for max Direct Play)
If your users have older devices that cannot play H.265:
- Target codec: H.264
- Target container: MP4
- Max resolution: 1080p
- Audio: AAC stereo
Every file will Direct Play on every device - phones, smart TVs, browsers.
Workflow 3: Remove unwanted audio/subtitle tracks
Strip unnecessary audio tracks (commentary, foreign dubs) and subtitle tracks to save space:
- Keep: English audio, English/French subtitles
- Remove: everything else
- Saves 1-5 GB per movie on Blu-ray remuxes
Workflow 4: Compress oversized files
Target files above a certain bitrate:
- If movie > 15 GB → re-encode to CRF 23
- If episode > 3 GB → re-encode to CRF 24
- Skip files already under threshold
GPU Acceleration in Tdarr
Intel QSV
Map /dev/dri in Docker. Select QSV encoder in Tdarr plugin settings.
NVIDIA NVENC
Add NVIDIA runtime to Docker. Select NVENC encoder.
GPU transcoding is 5-10x faster than CPU - essential for large libraries.
Connecting Tdarr to Jellyfin
After Tdarr processes a file, Jellyfin needs to know:
- In Tdarr → Libraries → Post-processing → Add webhook
- URL:
http://jellyfin:8096/Library/Refresh?api_key=YOUR_KEY - Jellyfin rescans and updates metadata for the processed file
Alternatively, set Jellyfin to scan libraries on a schedule (every 6 hours).
Storage Savings Example
| Library | Before (H.264) | After (H.265) | Saved |
|---|---|---|---|
| 500 movies | 8 TB | 3.5 TB | 4.5 TB (56%) |
| 2000 episodes | 4 TB | 1.8 TB | 2.2 TB (55%) |
| Total | 12 TB | 5.3 TB | 6.7 TB |
At current HDD prices (~$15/TB), that is ~$100 saved in storage costs.
Tdarr Best Practices
- Use a dedicated temp drive - transcoding writes heavily; use an SSD for
/temp - Process during off-peak hours - schedule Tdarr workers to run at night
- Start with a small batch - test your workflow on 10 files before processing thousands
- Keep originals temporarily - Tdarr can keep originals in a backup folder until you verify quality
- Monitor CPU/GPU during processing - use JellyWatch to ensure Tdarr is not impacting active streams
FAQ
Does Tdarr modify my original files? By default, yes - it replaces the original. Configure a backup folder to keep originals until verified.
Can Tdarr run while users are streaming? Yes, but it competes for CPU/GPU resources. Schedule heavy processing during off-peak hours.
Does Tdarr work with Radarr and Sonarr? Yes. Tdarr processes files after Radarr/Sonarr import them. The workflow is: Download → Import → Tdarr → Jellyfin.
Processing your library with Tdarr? Make sure active streams are not affected. Download JellyWatch on Google Play - monitor CPU usage, active transcodes, and server health while Tdarr works in the background.




Comments 2
Tdarr saved me 6 TB by converting H.264 to H.265. CRF 22, no visible quality loss. Paid for itself in HDD savings.
Pro tip from experience: use a dedicated SSD for the /temp folder. Transcoding writes are brutal on HDDs.
Leave a comment