Tdarr is a cross-platform distributed transcoding automation system built on FFmpeg and HandBrake, offering video transcode, remux, and health checking for large media libraries.
- v1.2066-Beta
- Published at
- Sep 18, 2020
- 4,361
- Stars
- 9,618
- Download
- Synced at
- 8d ago
The author no longer ships through GitHub Releases, but the repository is still active (last push 13d ago). Get the latest version from:
Latest release
v1.2066-BetaSep 18, 2020, 08:47 PMPre-releaseREADME
Project Overview
Tdarr is a cross-platform media library transcoding automation system for Windows, macOS, Linux, and Docker. It uses a distributed Server plus Node architecture: a central server schedules tasks while nodes on other devices execute them, turning idle hardware into a parallel processing fleet. A common use is batch converting H.264 video to H.265 (HEVC), saving 40%-50% of storage without visible quality loss. The app is driven through a web interface and works well alongside Sonarr and Radarr.
| Item | Value |
|---|---|
| Platform | Windows, macOS, Linux, Docker |
| Engines | FFmpeg, HandBrake |
| Architecture | Server + distributed Nodes |
| Interface | Web UI |
Turn idle machines into a transcode cluster and normalize your video library to space-saving formats.
Key Features
- Distributed transcoding: Server and Node are decoupled, letting multiple devices process one library in parallel
- CPU/GPU workers: transcode and health-check workers each come in CPU and GPU flavors, started and stopped as needed
- Plugin stacks: conditional plugins written in JavaScript, chained to clean up and standardize files
- Health checking: detects corrupt video files and repairs or remuxes them automatically
- Stream cleanup: batch removal of extra audio, subtitle, and metadata streams for better direct play
- Library analytics: search files by hundreds of properties; track size, codec distribution, and history
- 24/7 scheduling: per-library rules, filters, and schedules across a 7-day, 24-hour planner
- Folder watcher: monitored directories pick up new files automatically
Target Audience
- Users with large local media collections
- Media enthusiasts running NAS or home servers
- Users building libraries for Plex, Jellyfin, or Emby
- Tinkerers unifying video codecs and containers
- Owners of multiple idle PCs or GPUs
Quick Start
- Download the server and node builds for your platform, or use the Docker image
- Start Tdarr Server and open the web interface in a browser
- Add local or remote nodes and allocate CPU/GPU workers
- Add a library, then set transcode rules, plugin stacks, and schedules
- Review scan results, start processing, and track jobs in the reports view
Core Advantages
- Space savings: H.264 to H.265 conversion typically reduces size by 40%-50%
- Horizontal scaling: old PCs and NAS boxes can join as nodes whenever available
- Programmable pipeline: plugin stacks with conditions can express almost any workflow
- Battle tested: officially tested against a dummy library of one million files
System Requirements
| Item | Requirement |
|---|---|
| Server | Windows, macOS, Linux, or Docker |
| Node | Windows, Linux (incl. arm/arm64), macOS |
| GPU transcode | Intel QSV, NVIDIA NVENC, and similar hardware encoders |
| Companion tools | optionally pairs with Sonarr, Radarr, and similar |
Notes
- Transcode time: a full first pass on a large library may take days; trial rules on a small subset first
- GPU setup: hardware transcoding needs proper drivers; enable the Nvidia runtime on unRAID or Ubuntu
- Keep originals: confirm original files are backed up before stripping streams