Automate Your Jellyfin Library with Tdarr: Convert, Compress, and Optimize Every File (2026)

Automate Your Jellyfin Library with Tdarr: Convert, Compress, and Optimize Every File (2026)

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

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

JellyWatchTry JellyWatch — Your Jellyfin companion, everywhere.

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:

  1. In Tdarr → Libraries → Post-processing → Add webhook
  2. URL: http://jellyfin:8096/Library/Refresh?api_key=YOUR_KEY
  3. Jellyfin rescans and updates metadata for the processed file

Alternatively, set Jellyfin to scan libraries on a schedule (every 6 hours).


Storage Savings Example

LibraryBefore (H.264)After (H.265)Saved
500 movies8 TB3.5 TB4.5 TB (56%)
2000 episodes4 TB1.8 TB2.2 TB (55%)
Total12 TB5.3 TB6.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

StorageSaver·

Tdarr saved me 6 TB by converting H.264 to H.265. CRF 22, no visible quality loss. Paid for itself in HDD savings.

TdarrNewbie·

Pro tip from experience: use a dedicated SSD for the /temp folder. Transcoding writes are brutal on HDDs.

Leave a comment

Never displayed publicly.
0 / 2000 · Supports limited Markdown: **bold**, *italic*, `code`, [link](url), lists, > quote.