119 lines
5.0 KiB
Markdown
119 lines
5.0 KiB
Markdown
---
|
|
title: Tdarr
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, arr, transcoding, video, ffmpeg, automation]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=*arr, https://github.com/HaveAGitGat/Tdarr]
|
|
---
|
|
|
|
# 🎬 Tdarr
|
|
|
|
> Transcodage vidéo automatisé pour la suite *arr : convertit massivement les fichiers en H.264/H.265/AV1 via FFmpeg + GPU, optimise la bibliothèque Plex/Jellyfin.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Attribut | Valeur |
|
|
|----------|--------|
|
|
| **Nom** | Tdarr |
|
|
| **Slug** | tdarr |
|
|
| **Description** | Transcodage vidéo distribué et automatisé : transcode, remuxe, encode la bibliothèque *arr via FFmpeg + accélération GPU (NVENC, QSV, VAAPI) |
|
|
| **Site officiel** | https://tdarr.io |
|
|
| **Repository** | https://github.com/HaveAGitGat/Tdarr |
|
|
| **Stars** | 4 154 ⭐ |
|
|
| **Licence** | GPL-3.0 |
|
|
| **Langage principal** | TypeScript (Node.js) + FFmpeg |
|
|
| **Catégorie** | *arr |
|
|
| **Tags** | [catalogue, arr, transcoding, video, ffmpeg, automation] |
|
|
|
|
## 📝 Description
|
|
Tdarr est l'outil de **transcodage vidéo** de référence pour les utilisateurs avancés de la suite *arr. Son rôle : prendre une bibliothèque brute (fichiers volumineux, codecs obsolètes, mauvaise qualité, mal réencodés) et la transformer en une bibliothèque optimisée pour le streaming (Plex, Jellyfin, Emby) en utilisant FFmpeg avec accélération **GPU** (NVENC NVIDIA, QSV Intel, VAAPI AMD).
|
|
|
|
L'architecture est distribuée : un **serveur** (Tdarr Server) gère la planification et l'UI, un ou plusieurs **nœuds** (Tdarr Node) exécutent les jobs FFmpeg. On peut ainsi répartir le transcodage sur plusieurs machines (un serveur puissant + des workers modestes, ou un cluster avec GPU).
|
|
|
|
La logique de transcodage est définie par des **plugins** (Tdarr Plugins) : community plugins (Tdarr_Plugin_00tdarrcore_main) et plugins custom. Chaque plugin applique une **flow** (chaîne d'actions) : scan → analyze → decide → transcode. Les cas typiques : réencoder en H.265 pour gagner 50% d'espace, normaliser l'audio (5.1 AC3 → EAC3 Atmos), supprimer les pistes inutiles, ou transrater à 1080p pour économiser du CPU à la lecture.
|
|
|
|
Tdarr s'intègre nativement avec **Sonarr/Radarr** : un plugin peut déclencher un re-scan après transcodage pour mettre à jour la bibliothèque.
|
|
|
|
## 🚀 Installation
|
|
### Via Docker (recommandé)
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
tdarr_server:
|
|
image: ghcr.io/haveagitgat/tdarr_server:latest
|
|
container_name: tdarr_server
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8265:8265" # UI web
|
|
- "8266:8266" # API
|
|
volumes:
|
|
- ./server:/app/server
|
|
- ./configs:/app/configs
|
|
- /data/movies:/movies
|
|
- /data/tv:/tv
|
|
environment:
|
|
- TZ=Europe/Paris
|
|
|
|
tdarr_node:
|
|
image: ghcr.io/haveagitgat/tdarr_node:latest
|
|
container_name: tdarr_node
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- tdarr_server
|
|
volumes:
|
|
- /data/movies:/movies
|
|
- /data/tv:/tv
|
|
environment:
|
|
- TZ=Europe/Paris
|
|
- nodeID=MainNode
|
|
devices:
|
|
- /dev/dri:/dev/dri # pour VAAPI
|
|
deploy:
|
|
resources:
|
|
reservations:
|
|
devices:
|
|
- capabilities: [gpu] # pour NVIDIA
|
|
```
|
|
### Installation manuelle
|
|
Binaires Linux/macOS/Windows sur le site officiel et la page Releases.
|
|
|
|
## ⚙️ Configuration
|
|
- **Libraries** : pointer vers les dossiers de `/movies` et `/tv` montés depuis la suite *arr.
|
|
- **Transcode cache** : disque SSD rapide, idéalement 100+ Go pour éviter les IO bottleneck.
|
|
- **Plugins** : Tdarr_Plugin_00tdarrcore_main_community (transcode H.265 générique) + plugins custom.
|
|
- **Hardware acceleration** : NVIDIA (NVENC), Intel QSV, AMD VAAPI selon la config.
|
|
- **Plex/Jellyfin** : activer "remove HDR/DV" selon vos besoins, attention à la compatibilité TV.
|
|
- **Flow scheduling** : worker count, heures creuses, quotas CPU/GPU.
|
|
|
|
## 🔗 Alternatives
|
|
- **Unmanic** — concurrent direct, UI plus simple, mais moins de plugins communautaires.
|
|
- **FileBot** — renommage et conversion de conteneurs, pas de transcodage réel.
|
|
- **HandBrake (CLI)** — transcodage manuel, pas d'automatisation.
|
|
- **AV1 hardware** — pas encore supporté largement (à venir sur RTX 40+).
|
|
|
|
## 🔒 Sécurité
|
|
- **Pas d'auth par défaut** sur l'UI Tdarr : **impérativement** derrière reverse proxy avec Authelia/Authentik.
|
|
- **GPU** : le transcodage intensif peut chauffer le hardware, monitoring température recommandé.
|
|
- **Espace disque** : le transcode cache peut doubler la taille de la bibliothèque pendant le traitement.
|
|
- **Backup** des fichiers sources avant tout transcodage destructif (utiliser `--backup` dans Tdarr).
|
|
- **fail2ban** sur l'API.
|
|
|
|
## 📚 Ressources
|
|
- Site officiel : https://tdarr.io
|
|
- Documentation : https://docs.tdarr.io
|
|
- Plugins Hub : https://github.com/HaveAGitGat/Tdarr_Plugins
|
|
|
|
## 🔗 Pages Liées
|
|
- [[cat-arr]]
|
|
- [[app-sonarr]] — déclenche des re-scans après Tdarr
|
|
- [[app-radarr]]
|
|
- [[app-jellyfin]]
|
|
- [[app-plex]]
|
|
- [[app-traefik]]
|
|
- [[app-authelia]]
|
|
- [[recettes-docker-compose]]
|
|
- [[securisation-home-lab]]
|