vdr-rectools (ehemals vdr-reccleaner) ist eine modulare, vollautomatisierte Bash-Suite für den Video Disk Recorder (VDR). Sie dient zur Verwaltung, Reparatur, Konvertierung und nahtlosen Integration von VDR-Aufnahmen in Media-Center wie Plex oder Kodi.
- 📥 Smart Import: Erkennt und verarbeitet diverse Videoformate (z.B. MKV, MP4, AVI, MOV) und Codecs (H.264, HEVC, MiniDV, Web-Formate) automatisch und wählt die optimale Import-Strategie (Remuxing oder Re-Encoding).
- 📝 Intelligente Metadaten: Liest beim Import
.nfo-Dateien (Titel, Plot) ein und schreibt sie direkt in dieinfo-Datei des VDR für eine perfekte Darstellung. - 🎬 TVScraper Integration: Triggert nach dem Import optional einen Metadaten-Scrape im VDR (Modi:
immediateoderbatch). - 🛠️ Smart Repair: Repariert defekte Aufnahmen in einem zweistufigen Verfahren: Zuerst ein schneller Header-Fix, bei Bedarf gefolgt von einem kompletten Re-Encoding.
- 💬 Auto-Subtitles: Sucht beim Import automatisch nach passenden Untertiteln und legt sie als
.srtdirekt zur Aufnahme. - 🗜️ H.265 Shrink-Modus: Komprimiert große Aufnahmen auf Knopfdruck in den platzsparenden HEVC-Codec (H.265).
- 📺 VDR OSD-Integration: Klinkt sich automatisch in das
reccmds.confBefehlsmenü des VDR ein (inkl. Smart Downscaling). - ✉️ Intelligentes Reporting: Sendet Erfolgs- oder Fehlermeldungen per E-Mail.
- 🧹 Auto-Cleanup: Findet und löscht leere Aufnahmeordner im Video-Verzeichnis.
Der Import ist das Herzstück von vdr-rectools. Das Skript durchsucht das IMPORT_DIR nach gängigen Videodateien wie .mkv, .mp4, .avi, .mov oder .ts.
Wenn eine Datei gefunden wird, passiert Folgendes im Hintergrund:
- Metadaten finden: Das Skript sucht nach einer passenden
.nfo-Datei (z.B.Mein Film.nfo). Werden darin<title>und<plot>gefunden, werden diese für die VDR-Aufnahme übernommen. Andernfalls wird der Dateiname als Titel verwendet. - Struktur anlegen: Es wird ein VDR-konformer Aufnahmeordner erstellt (z.B.
/srv/vdr/video/Mein_Film/2026-04-22.10.00.1-0.rec/). - Schonendes Remuxing: Die Quelldatei (
.mkv,.mp4etc.) wird ohne Qualitätsverlust in eine VDR-kompatible.ts-Datei umgewandelt (-c copy). - Reparatur & Index: Die neue
.ts-Datei wird durchsmart_repairgeschickt, um Timestamps zu korrigieren. Anschließend wird der VDR-Index (index) neu generiert. - Metadaten schreiben: Die
info-Datei wird mit Titel und Beschreibung aus Schritt 1 befüllt. - Untertitel & TVScraper: Das Skript sucht nach Untertiteln und triggert (falls konfiguriert) das TVScraper-Plugin.
- Aufräumen: Nach dem erfolgreichen Import wird die Originaldatei aus dem Import-Verzeichnis gelöscht.
Das Skript ist für Debian/Ubuntu-basierte Systeme (wie yaVDR) optimiert. Folgende Abhängigkeiten werden bei der Installation des .deb-Pakets automatisch aufgelöst:
vdrffmpegbash(>= 4.0)coreutils,findutilssubliminal(für den Untertitel-Download)bsd-mailxodermailutils(für das Reporting)
Lade dir das aktuellste Release von der GitHub Releases Seite herunter und installiere es bequem via APT.
# Ersetze * durch die aktuelle Versionsnummer
sudo apt install ./vdr-rectools_*.debDiese Methode ist für Entwickler oder für manuelle Anpassungen gedacht.
# Repository klonen
git clone https://github.com/hotzenplotz5/vdr-rectools.git
cd vdr-rectools
# Paket bauen & installieren
debuild -us -uc
# Ersetze * durch die aktuelle Versionsnummer
sudo dpkg -i ../vdr-rectools_*.debDatei: /etc/vdr/conf.d/vdr-rectools.conf
| Variable | Beschreibung | Standard |
|---|---|---|
| AUTO_START_NIGHT | Erlaubt den nächtlichen Automatik-Scan (1=An, 0=Aus) | 0 |
| AUTO_TIMER | Genereller Schalter für Timer-Aktionen | 0 |
| IMPORT_DIR | Pfad für MKV-Filme zum Import | /srv/video/Filme |
| MAIL_NOTIFY | E-Mail-Adresse für Statusberichte | (leer) |
| AUTO_SUB_DOWNLOAD | Automatischer Download von Untertiteln | 1 |
| SUB_LANG | Sprache für Untertitel (z.B. de, en) | de |
| AUTO_ENCODE_IMPORT | Automatisches Re-Encoding beim Import (1=An, 0=Aus) | 1 |
| CRF_H264_DEFAULT | CRF-Wert für H.264 (niedriger=besser) | 23 |
| PRESET_H264_DEFAULT | Preset für H.264 (z.B. medium, fast) |
medium |
| CRF_H265_DEFAULT | CRF-Wert für H.265 (niedriger=besser) | 23 |
| PRESET_H265_DEFAULT | Preset für H.265 (z.B. medium, fast) |
medium |
| HW_ACCEL | Hardwarebeschleunigung (none, nvenc, vaapi, qsv) |
none |
| SHRINK_MAX_RES | Maximale Auflösung (Höhe) für Shrink. 0=deaktiviert |
0 |
| CRF_H264_FALLBACK | CRF-Wert für Fallback-Encoding | 23 |
| PRESET_H264_FALLBACK | Preset für Fallback-Encoding | fast |
| MIN_COMPRESSION_RATIO_H264 | Max. Dateigröße in % des Originals für H.264-Encodes | 70 |
| MIN_COMPRESSION_RATIO_H265 | Max. Dateigröße in % des Originals für H.265-Encodes | 50 |
| MIN_COMPRESSION_RATIO_H264_FALLBACK | Max. Dateigröße in % des Originals für H.264-Fallback | 70 |
| MIN_FREE_GB | Mindestfreispeicher auf der Festplatte | 20 |
| MAX_FILES | Maximale Anzahl Dateien pro Durchlauf | 10 |
| PAUSE_WORK | Pause zwischen Arbeitsschritten (Sekunden) | 30 |
| PAUSE_CHECK | Pause zwischen Datei-Checks (Sekunden) | 2 |
| SNAPSHOT_TIME | Zeitstempel für generierte Vorschaubilder | 00:05:00 |
vdr-rectools start- Startet einen vollständigen Scan (Import & Cleanup) im Hintergrund.vdr-rectools import- Startet gezielt nur den MKV-Import-Prozess.vdr-rectools repair- Startet einen Reparatur-Lauf für alle Aufnahmen.vdr-rectools status- Zeigt PID, Laufzeit und die letzten Log-Zeilen an.vdr-rectools stop- Beendet laufende Hintergrundprozesse sauber.vdr-rectools cron- Simuliert den Timer-Aufruf (prüftAUTO_START_NIGHT).vdr-rectools repair_single <Pfad>- Repariert gezielt eine einzelne Aufnahme (Pfad zum .rec Ordner).
Der Timer ist standardmäßig aktiv und triggert den Scan (meist nachts). Er führt die Arbeit aber nur aus, wenn AUTO_START_NIGHT=1 gesetzt ist.
sudo systemctl status vdr-rectools.timerAlle Vorgänge werden detailliert protokolliert. Dies ist die erste Anlaufstelle bei Problemen:
- Pfad:
/var/log/vdr-rectools.log - Inhalt: Start/Stop-Zeiten, FFmpeg-Ausgaben beim Re-Muxing, Import-Ergebnisse.
Bei gesetzter MAIL_NOTIFY Adresse versendet das Skript nach jedem Lauf eine E-Mail mit:
- Zusammenfassung der importierten Filme und reparierten Aufnahmen.
- Warnungen bei zu wenig Festplattenplatz (
MIN_FREE_GB). - Detaillierten Fehlermeldungen, falls ein Import oder Re-Muxing fehlgeschlagen ist.
Die Befehle werden automatisch in das VDR-Menü (Befehle-Taste innerhalb einer Aufnahme) eingebunden:
- Aufnahme reparieren (Rectools): Startet Reparatur der aktuellen Aufnahme.
- Werbung schneiden (Rectools): Schneidet Aufnahme basierend auf VDR-Marken.
- Platz sparen H.265 (Rectools): Konvertiert die Aufnahme nach HEVC.
- Plex/Kodi Sync (Rectools): Triggert die Synchronisation für externe Player.
Das Paket installiert Abhängigkeiten wie vdr, ffmpeg, mediainfo, subliminal und mailx automatisch mit.
GPL-3.0+ | Maintainer: Holger Schvestka hotzenplotz5@gmx.de