1.0.0 docs
This commit is contained in:
+2
-2
@@ -114,9 +114,9 @@ Importiert einen RAW-Ordner als Job und triggert optional die Analyse des Import
|
||||
|
||||
---
|
||||
|
||||
## POST /api/history/:id/omdb/assign
|
||||
## POST /api/history/:id/metadata/assign
|
||||
|
||||
Weist OMDb-/Filmdaten nachträglich zu.
|
||||
Weist TMDb-Metadaten nachträglich zu oder aktualisiert bestehende Film-/Serien-Metadaten eines Jobs.
|
||||
|
||||
## POST /api/history/:id/cd/assign
|
||||
|
||||
|
||||
@@ -107,9 +107,9 @@ Erzwingt Rescan für ein konkretes Laufwerk.
|
||||
|
||||
---
|
||||
|
||||
## GET /api/pipeline/omdb/search?q=<query>
|
||||
## GET /api/pipeline/tmdb/movie/search?q=<query>
|
||||
|
||||
OMDb-Titelsuche.
|
||||
TMDb-Filmsuche.
|
||||
|
||||
**Response:**
|
||||
|
||||
|
||||
@@ -111,7 +111,7 @@ Features:
|
||||
|
||||
- Job-Liste/Detail inkl. Log-Tail
|
||||
- Orphan-RAW-Erkennung und Import
|
||||
- OMDb-Nachzuweisung
|
||||
- TMDb-Neuzuordnung
|
||||
- Dateilöschung (`raw|movie|both`)
|
||||
- Job-Löschung (`none|raw|movie|both`)
|
||||
|
||||
@@ -222,7 +222,7 @@ Vollständige API-Dokumentation: [Runtime Activities API](../api/runtime-activit
|
||||
- `audnexService.js` (Audnex-API für Audiobook-Metadaten)
|
||||
- `coverArtRecoveryService.js` (Cover-Art-Wiederherstellung)
|
||||
- `thumbnailService.js` (Vorschaubild-Generierung)
|
||||
- `omdbService.js` (OMDb-Metadaten-Suche)
|
||||
- `tmdbService.js` (Film-/Serien-Metadaten-Suche)
|
||||
- `logger.js` (rotierende Datei-Logs)
|
||||
|
||||
---
|
||||
|
||||
@@ -34,7 +34,7 @@ Historie:
|
||||
|
||||
- Job-Liste/Filter
|
||||
- Job-Details + Logs
|
||||
- OMDb-Nachzuweisung
|
||||
- TMDb-Neuzuordnung
|
||||
- Re-Encode/Restart-Workflows
|
||||
|
||||
### `ConverterPage.jsx`
|
||||
@@ -78,7 +78,7 @@ Expert-Modus:
|
||||
## Wichtige Komponenten
|
||||
|
||||
- `PipelineStatusCard.jsx` — Pipeline-Status-Anzeige mit Progress
|
||||
- `MetadataSelectionDialog.jsx` — OMDb-Metadaten-Auswahl
|
||||
- `MetadataSelectionDialog.jsx` — TMDb-Metadaten-Auswahl
|
||||
- `MediaInfoReviewPanel.jsx` — Track-Auswahl-Interface (Video/Audio/Untertitel)
|
||||
- `JobDetailDialog.jsx` — Job-Detailansicht mit Logs
|
||||
- `CronJobsTab.jsx` — Cron-Job-Verwaltung
|
||||
|
||||
@@ -9,7 +9,18 @@ Diese Seite beschreibt **jede** aktuelle Einstellung aus der Settings-GUI: was t
|
||||
- `Was passiert technisch?`: direkte Wirkung im Backend/Pipeline-Verhalten.
|
||||
- `Warum/Wann setzen?`: Praxisgrund inkl. typischem Einsatzzweck.
|
||||
|
||||
## Vollstaendige Feldliste
|
||||
## Wie diese Seite zu lesen ist
|
||||
|
||||
Wenn du nicht von oben bis unten lesen willst, helfen diese typischen Einstiegsfragen:
|
||||
|
||||
- Disc wird nicht sauber erkannt: zuerst `Laufwerk`
|
||||
- falsche Playlist- oder Titelauswahl: zuerst `Tools`
|
||||
- Ausgabe landet im falschen Ordner: zuerst `Pfade`
|
||||
- zu viele oder zu wenige parallele Jobs: zuerst `Tools`
|
||||
- Converter scannt nicht wie erwartet: zuerst `Converter`
|
||||
- Hardware oder Speicher fehlen im Monitoring: zuerst `Monitoring` und `Pfade`
|
||||
|
||||
## Vollständige Feldliste
|
||||
|
||||
## Kategorie: Benachrichtigungen
|
||||
|
||||
@@ -140,6 +151,7 @@ Diese Seite beschreibt **jede** aktuelle Einstellung aus der Settings-GUI: was t
|
||||
| `MakeMKV Key` | `makemkv_registration_key` | `string` | `leer` | Standard | Optionaler Registrierungsschlüssel. Wird beim Speichern nach ~/.MakeMKV/settings.conf synchronisiert. Darunter kann der aktuelle Betakey per API übernommen werden. | Wenn MakeMKV-Features ohne Trial-Limit genutzt werden sollen (inkl. Betakey-Usecase). |
|
||||
| `Mediainfo Kommando` | `mediainfo_command` | `string` | `mediainfo` | Expertenmodus | Pfad oder Befehl für mediainfo. | Wenn ein Tool nicht im PATH liegt oder eine feste Binary genutzt werden soll (voller Pfad). |
|
||||
| `Minimale Titellänge (Minuten)` | `makemkv_min_length_minutes` | `number` | `60` | Standard | Filtert kurze Titel beim Rip. | Wenn kurze Bonus-/Trailer-Titel automatisch ausgefiltert werden sollen. |
|
||||
| `TMDb Runtime-Abzug für Playlistfilter (%)` | `playlist_tmdb_runtime_subtract_percent` | `number` | `0` | Standard | Zieht optional einen Prozentsatz von der TMDb-Laufzeit ab, damit Ripster bei problematischen Blu-rays leicht kürzere Hauptfassungen trotzdem als Playlist-Kandidaten zulässt. Eine Mindesttoleranz von 2 Minuten nach unten bleibt erhalten. | Wenn die Playlist-Analyse bei einzelnen Discs zu streng ist und der Hauptfilm knapp unter der TMDb-Laufzeit liegt. Beispiel: TMDb sagt 120 Minuten, die Disc liefert 116 bis 118 Minuten, aber die Fassung ist trotzdem korrekt. |
|
||||
| `HandBrake Kommando` | `handbrake_command` | `string` | `HandBrakeCLI` | Expertenmodus | Pfad oder Befehl für HandBrakeCLI. | Wenn ein Tool nicht im PATH liegt oder eine feste Binary genutzt werden soll (voller Pfad). |
|
||||
| `Encode-Neustart: unvollständige Ausgabe löschen` | `handbrake_restart_delete_incomplete_output` | `boolean` | `true` | Standard | Wenn aktiv, wird bei "Encode neu starten" der bisherige (nicht erfolgreiche) Output vor Start entfernt. | Wenn bei Encode-Neustart alte, unvollstaendige Dateien sicher entfernt werden sollen. |
|
||||
| `Parallele Jobs` | `pipeline_max_parallel_jobs` | `number` | `1` | Standard | Maximale Anzahl parallel laufender Jobs. Weitere Starts landen in der Queue. Aenderung beeinflusst Queue-Pump und Startentscheidungen fuer neue Jobs. | Wenn Durchsatz und CPU-Last fuer Videojobs ausbalanciert werden sollen. |
|
||||
|
||||
@@ -4,99 +4,148 @@ Diese Seite ist die Betriebs-Checkliste vor dem ersten produktiven Lauf.
|
||||
|
||||
## Ziel der Ersteinrichtung
|
||||
|
||||
Vor dem ersten Job müssen drei Dinge stabil sein:
|
||||
Vor dem ersten Job sollten fünf Bereiche sauber gesetzt sein:
|
||||
|
||||
1. Pfade stimmen (RAW, Output, Logs)
|
||||
2. Tools sind aufrufbar (MakeMKV, HandBrake, MediaInfo)
|
||||
3. Metadatenzugänge funktionieren (OMDb, optional TMDb/MusicBrainz)
|
||||
1. Pfade und Templates
|
||||
2. Laufwerk und Disc-Erkennung
|
||||
3. Metadatenzugang über TMDb
|
||||
4. Encode-Standards und Queue-Regeln
|
||||
5. optionale Automatisierung und Benachrichtigungen
|
||||
|
||||
## Empfohlene Reihenfolge
|
||||
|
||||
### 1) Basis in `Settings -> Konfiguration`
|
||||
### 1. Basis in `Settings -> Konfiguration`
|
||||
|
||||
Setze zuerst:
|
||||
Prüfe zuerst diese Kernfelder:
|
||||
|
||||
- `Raw-Ordner` und `Film-/Serien-Ordner`
|
||||
- RAW- und Zielordner für Blu-ray, DVD, CD, Audiobooks und Converter
|
||||
- `Log Ordner`
|
||||
- `TMDb Read Access Token`
|
||||
- `MakeMKV Kommando`, `HandBrake Kommando`, `Mediainfo Kommando`
|
||||
- `OMDb API Key`
|
||||
- `FFmpeg Kommando`, `FFprobe Kommando`, `cdparanoia Kommando`, `mkvmerge Kommando`, falls du die jeweiligen Workflows nutzt
|
||||
|
||||
Dann speichern.
|
||||
Danach speichern.
|
||||
|
||||
### 2) Profile pro Medium festziehen
|
||||
### 2. Pfade und Templates bewusst festlegen
|
||||
|
||||
Ripster löst viele Werte profilspezifisch auf (`bluray`, `dvd`, `cd`, `audiobook`).
|
||||
Wichtig für den Alltag:
|
||||
|
||||
Pflichtprüfung:
|
||||
- Film-Workflows nutzen `raw_dir_*`, `movie_dir_*` und `output_template_*`
|
||||
- Serien-Workflows nutzen zusätzlich `raw_dir_*_series`, `series_dir_*` und die Episode-/Multi-Episode-Templates
|
||||
- Audiobooks nutzen `raw_dir_audiobook`, `movie_dir_audiobook`, `audiobook_raw_template`, `output_template_audiobook`, `output_chapter_template_audiobook`
|
||||
- Converter nutzt `converter_raw_dir`, `converter_movie_dir`, `converter_audio_dir` und die beiden Converter-Templates
|
||||
- Downloads nutzen `download_dir`
|
||||
|
||||
- RAW-Pfade je Profil
|
||||
- Output-Pfade je Profil
|
||||
- HandBrake-Preset je Profil
|
||||
- Output-Templates je Profil
|
||||
Wenn du auf NAS, USB oder andere Benutzer/Gruppen schreiben willst, prüfe auch die jeweiligen `*_owner`-Felder.
|
||||
|
||||
Für Serien zusätzlich:
|
||||
### 3. Laufwerk und automatische Erkennung prüfen
|
||||
|
||||
- `RAW-Ordner (Blu-ray/DVD Serie)`
|
||||
- `Serien-Ordner (Blu-ray/DVD)`
|
||||
- Serien-Templates (Episode/Multi-Episode)
|
||||
Relevant:
|
||||
|
||||
### 3) Queue-Verhalten definieren
|
||||
- `Laufwerksmodus`
|
||||
- `Explizite Laufwerke`, falls du nicht mit Auto-Discovery arbeiten willst
|
||||
- `Automatische Disk-Erkennung`
|
||||
- `Polling Intervall (ms)` im Expertenmodus
|
||||
- `Laufwerk nach Rip auswerfen`
|
||||
|
||||
Stelle ein:
|
||||
Empfehlung:
|
||||
|
||||
- `Max. parallele Film/Video Encodes`
|
||||
- Einzelnes Standardlaufwerk: `auto`
|
||||
- mehrere stabile Laufwerke oder ungewöhnliche Device-Mappings: `Explizite Laufwerke`
|
||||
|
||||
### 4. TMDb und Metadatenverhalten festlegen
|
||||
|
||||
Relevant:
|
||||
|
||||
- `TMDb Read Access Token`
|
||||
- `Film-Sprache`
|
||||
- `Fallback Sprache`
|
||||
- `Coverart-Nachladen aktiv`
|
||||
- `Coverart-Prüfintervall (Stunden)`
|
||||
- `NFO nach Encode erzeugen`
|
||||
|
||||
Diese Einstellungen wirken direkt in Metadatensuche, Serienzuordnung, Nachpflege von Covern und im finalen Output.
|
||||
|
||||
### 5. Encode- und Review-Standards festlegen
|
||||
|
||||
Für Video-Workflows besonders wichtig:
|
||||
|
||||
- `Minimale Titellänge (Minuten)`
|
||||
- `TMDb Runtime-Abzug für Playlistfilter (%)`
|
||||
- `HandBrake Preset` und `HandBrake Extra Args` je Medium
|
||||
- `Review Audio-Sprachen (...)`
|
||||
- `Review UT-Sprachen (...)`
|
||||
- `Ausgabeformat`
|
||||
|
||||
Praxis:
|
||||
|
||||
- `Minimale Titellänge` filtert Bonusmaterial früh weg
|
||||
- `TMDb Runtime-Abzug ...` lockert bei problematischen Blu-rays die Laufzeitprüfung der Playlist-Kandidaten
|
||||
- Review-Sprachen bestimmen, welche Audio-/Untertitelspuren in der Review schon vorausgewählt sind
|
||||
|
||||
### 6. Queue-Verhalten definieren
|
||||
|
||||
Stelle diese vier Felder bewusst ein:
|
||||
|
||||
- `Parallele Jobs`
|
||||
- `Max. parallele Audio CD Jobs`
|
||||
- `Max. Encodes gesamt`
|
||||
- optional `Audio CDs: Queue-Reihenfolge überspringen`
|
||||
- `Max. Encodes gesamt (medienunabhängig)`
|
||||
- `Audio CDs: Queue-Reihenfolge überspringen`
|
||||
|
||||
Damit steuerst du Durchsatz, Priorität und Lastverteilung.
|
||||
Damit steuerst du, wie aggressiv Ripster mehrere Jobs gleichzeitig startet.
|
||||
|
||||
### 4) Metadatenquellen absichern
|
||||
### 7. Optional: User-Presets und Standard-Zuordnungen
|
||||
|
||||
Film:
|
||||
Unter `Settings -> Encode-Presets` kannst du:
|
||||
|
||||
- OMDb-Key prüfen
|
||||
- eigene HandBrake-User-Presets anlegen
|
||||
- Standard-Zuordnungen für `Blu-ray Film`, `Blu-ray Serie`, `DVD Film`, `DVD Serie` setzen
|
||||
|
||||
Serien:
|
||||
Diese Defaults wirken später in der Review automatisch vorbefüllend.
|
||||
|
||||
- TMDb Read Access Token setzen
|
||||
- Sprache/Fallback-Sprachen festlegen
|
||||
### 8. Optional: Benachrichtigungen
|
||||
|
||||
CD/Audiodaten:
|
||||
Prüfe:
|
||||
|
||||
- `MusicBrainz aktiviert` nach Bedarf
|
||||
- `PushOver aktiviert`
|
||||
- Token/User/optional Device
|
||||
- Event-Toggles wie `Bei manueller Auswahl senden`, `Bei Rip-Start senden`, `Bei Erfolg senden`
|
||||
|
||||
### 5) Optional: Benachrichtigungen
|
||||
Danach in `Settings` den Button `PushOver Test` ausführen.
|
||||
|
||||
- PushOver-Zugangsdaten setzen
|
||||
- `PushOver Test` ausführen
|
||||
- Event-Toggles pro Phase prüfen
|
||||
### 9. Optional: Automatisierung
|
||||
|
||||
### 6) Optional: Automatisierung
|
||||
Erst wenn die Grundkonfiguration stabil ist:
|
||||
|
||||
1. Skripte testen
|
||||
2. Skriptketten bauen/testen
|
||||
3. Cronjobs erst danach aktivieren
|
||||
1. Skripte anlegen und testen
|
||||
2. Skriptketten aufbauen
|
||||
3. Cronjobs aktivieren
|
||||
|
||||
## Funktionsprüfung (Kurztest)
|
||||
## Funktionsprüfung
|
||||
|
||||
1. Disc in `Ripper` erkennen lassen.
|
||||
2. `Analyse starten`.
|
||||
3. Metadaten übernehmen.
|
||||
4. Bis `Bereit zum Encodieren` laufen.
|
||||
5. Encode starten und Abschluss in `Historie` prüfen.
|
||||
Ein sinnvoller Kurztest:
|
||||
|
||||
1. Disc in `Ripper` erkennen lassen
|
||||
2. `Analyse starten`
|
||||
3. TMDb-Metadaten übernehmen
|
||||
4. ggf. Playlist-/RAW-Entscheidung durchlaufen
|
||||
5. bis `Bereit zum Encodieren` kommen
|
||||
6. Encode starten
|
||||
7. Ergebnis in `Historie` prüfen
|
||||
|
||||
## Typische Konfigurationsfehler
|
||||
|
||||
| Symptom | Häufige Ursache |
|
||||
|---|---|
|
||||
| Job bleibt früh auf Fehler | Toolkommando falsch oder nicht im PATH |
|
||||
| RAW/Output landet am falschen Ort | Profilpfade nicht gesetzt, Fallback greift |
|
||||
| Serienausgabe landet bei Filmen | Serienpfade/Serientemplates fehlen |
|
||||
| Queue verhält sich unerwartet | Gesamtlimit und Lane-Limits widersprechen sich |
|
||||
| Disc wird nicht erkannt | Laufwerksmodus oder Auto-Erkennung passt nicht |
|
||||
| Playlist-Auswahl wirkt unplausibel | `Minimale Titellänge` oder `TMDb Runtime-Abzug ...` ist zu streng/zu locker |
|
||||
| falsche Spuren sind in der Review vorausgewählt | Review-Sprachfilter oder HandBrake-Args greifen unerwartet |
|
||||
| Ausgabe landet am falschen Ort | Profilpfade oder Templates greifen über Fallback |
|
||||
| Queue verhält sich unerwartet | `Parallele Jobs`, CD-Limit und Gesamtlimit widersprechen sich |
|
||||
|
||||
## Weiter
|
||||
|
||||
- [Erster Lauf](quickstart.md)
|
||||
- [GUI-Seiten](../gui/index.md)
|
||||
- [Workflows aus Nutzersicht](../workflows/index.md)
|
||||
- [Alle Einstellungen](../configuration/settings-reference.md)
|
||||
|
||||
@@ -1,107 +1,117 @@
|
||||
# Installation
|
||||
|
||||
Die empfohlene Installation läuft über `install.sh` und richtet Ripster vollständig ein.
|
||||
Die empfohlene Installation startet immer über `setup.sh`. `setup.sh` lädt das passende `install.sh` aus dem gewünschten Branch und übergibt alle weiteren Parameter unverändert an den eigentlichen Installer.
|
||||
|
||||
Du musst dafür **keine Tools manuell vorinstallieren**. Das Skript installiert die benötigten Abhängigkeiten automatisch, sofern sie nicht explizit mit `--no-*` übersprungen werden.
|
||||
Wichtig:
|
||||
|
||||
## Unterstützte Systeme und Anforderungen
|
||||
- Standard-Einstieg: `setup.sh`
|
||||
- kein `curl | bash`
|
||||
- du musst die Tools nicht manuell vorinstallieren, sofern du sie nicht bewusst mit `--no-*` auslässt
|
||||
|
||||
- unterstützt laut Script: `debian`, `ubuntu`, `linuxmint`, `pop`
|
||||
- Ausführung als `root` (oder via `sudo`)
|
||||
## Voraussetzungen
|
||||
|
||||
- unterstütztes Linux-System
|
||||
- Root-Rechte oder `sudo`
|
||||
- Internetzugang während der Installation
|
||||
|
||||
## Schritt-für-Schritt
|
||||
Der Installer erkennt aktuell:
|
||||
|
||||
### 1. Installationsskript herunterladen
|
||||
- Debian
|
||||
- Ubuntu
|
||||
- Linux Mint
|
||||
- Pop!_OS
|
||||
|
||||
## Standardinstallation
|
||||
|
||||
```bash
|
||||
wget -qO install.sh https://raw.githubusercontent.com/Mboehmlaender/ripster/main/install.sh
|
||||
wget -qO setup.sh https://raw.githubusercontent.com/Mboehmlaender/ripster/main/setup.sh
|
||||
bash setup.sh
|
||||
```
|
||||
|
||||
### 2. Installation ausführen
|
||||
Ohne `--branch` fragt `setup.sh` interaktiv nach dem gewünschten Branch.
|
||||
|
||||
Die typischen Branches sind:
|
||||
|
||||
- `main`: stabiles Release
|
||||
- `dev`: aktueller Entwicklungsstand
|
||||
|
||||
## Installation mit Branch oder Optionen
|
||||
|
||||
Beispiele:
|
||||
|
||||
```bash
|
||||
sudo bash install.sh
|
||||
bash setup.sh --branch main
|
||||
bash setup.sh --branch dev
|
||||
bash setup.sh --branch dev --dir /opt/ripster --user ripster --port 3001 --host 192.168.1.10
|
||||
```
|
||||
|
||||
Während der Installation wählst du den HandBrake-Modus:
|
||||
`setup.sh` wertet selbst nur `--branch` aus. Alles andere übernimmt `install.sh`.
|
||||
|
||||
- `1` Standard (Paketinstallation)
|
||||
- `2` GPU/NVDEC (gebündeltes Binary)
|
||||
## Wichtige Optionen von `install.sh`
|
||||
|
||||
### 3. Dienststatus prüfen
|
||||
| Option | Default | Zweck |
|
||||
|---|---|---|
|
||||
| `--branch <branch>` | `dev` | installiert genau diesen Git-Branch |
|
||||
| `--dir <pfad>` | `/opt/ripster` | Installationsverzeichnis |
|
||||
| `--user <benutzer>` | `ripster` | Systembenutzer für den Dienst |
|
||||
| `--port <port>` | `3001` | Backend-Port |
|
||||
| `--host <hostname|ip>` | automatisch ermittelte Host-IP | Hostname/IP für Webzugriff und CORS |
|
||||
| `--no-makemkv` | aus | MakeMKV nicht installieren |
|
||||
| `--no-handbrake` | aus | HandBrake nicht installieren |
|
||||
| `--no-nginx` | aus | nginx-Setup überspringen |
|
||||
| `--no-system-deps` | aus | Systemabhängigkeiten nicht nachinstallieren |
|
||||
| `--reinstall` | aus | bestehende Installation aktualisieren |
|
||||
|
||||
## Was der Installer einrichtet
|
||||
|
||||
Typischer Ablauf:
|
||||
|
||||
1. Betriebssystem, Root-Rechte und Host prüfen
|
||||
2. Systemabhängigkeiten installieren
|
||||
3. Node.js 20 sicherstellen
|
||||
4. optional MakeMKV installieren
|
||||
5. optional HandBrakeCLI installieren
|
||||
6. optional nginx konfigurieren
|
||||
7. Repository nach `--dir` klonen oder aktualisieren
|
||||
8. Backend-/Frontend-Abhängigkeiten installieren
|
||||
9. Frontend bauen
|
||||
10. `backend/.env` und Laufzeitverzeichnisse vorbereiten
|
||||
11. `ripster-backend.service` anlegen und starten
|
||||
|
||||
## Dienst prüfen
|
||||
|
||||
```bash
|
||||
sudo systemctl status ripster-backend
|
||||
```
|
||||
|
||||
### 4. Weboberfläche öffnen
|
||||
|
||||
- mit nginx (Standard): `http://<Server-IP>`
|
||||
- ohne nginx (`--no-nginx`): API auf `http://<Server-IP>:3001/api`
|
||||
|
||||
## Was `install.sh` konkret einrichtet
|
||||
|
||||
1. prüft Betriebssystem, Root-Rechte und ermittelt Host/IP
|
||||
2. aktualisiert Paketquellen und installiert Basispakete (`curl`, `wget`, `git`, `mediainfo`, `udev` ...)
|
||||
3. installiert Node.js 20 (falls nicht passend vorhanden)
|
||||
4. installiert optional MakeMKV (Build aus den offiziellen Quellen)
|
||||
5. installiert optional HandBrakeCLI (Standard oder GPU/NVDEC)
|
||||
6. installiert optional nginx
|
||||
7. legt den Systembenutzer `ripster` an (ohne Login-Shell, ohne Home) und ergänzt Gruppen (`cdrom`, `optical`, `disk`, `video`, `render`, falls vorhanden)
|
||||
8. klont das Repository nach `/opt/ripster` (oder aktualisiert bei `--reinstall`)
|
||||
9. legt Verzeichnisse an:
|
||||
- `/opt/ripster/backend/data`
|
||||
- `/opt/ripster/backend/logs`
|
||||
- `/opt/ripster/backend/data/output/raw`
|
||||
- `/opt/ripster/backend/data/output/movies`
|
||||
- `/opt/ripster/backend/data/logs`
|
||||
10. installiert npm-Abhängigkeiten (Root, Backend, Frontend) und baut das Frontend
|
||||
11. erzeugt `backend/.env` (bei `--reinstall` bleibt bestehende `.env` erhalten)
|
||||
12. setzt Rechte/Besitz und erstellt bei sudo-Installation zusätzlich `~/.MakeMKV` für den aufrufenden Benutzer
|
||||
13. erzeugt und startet `ripster-backend.service`
|
||||
14. konfiguriert und startet nginx (falls nicht übersprungen)
|
||||
|
||||
## Wichtige Optionen
|
||||
|
||||
| Option | Default laut Script | Zweck |
|
||||
|---|---|---|
|
||||
| `--branch <branch>` | `dev` | Branch für die Installation |
|
||||
| `--dir <pfad>` | `/opt/ripster` | Installationsverzeichnis |
|
||||
| `--user <benutzer>` | `ripster` | Service-Benutzer |
|
||||
| `--port <port>` | `3001` | Backend-Port |
|
||||
| `--host <hostname>` | automatisch ermittelte Host-IP | Hostname/IP für Webzugriff/CORS |
|
||||
| `--no-makemkv` | aus | MakeMKV-Installation überspringen |
|
||||
| `--no-handbrake` | aus | HandBrake-Installation überspringen |
|
||||
| `--no-nginx` | aus | nginx-Setup überspringen |
|
||||
| `--reinstall` | aus | bestehende Installation aktualisieren |
|
||||
|
||||
Beispiele:
|
||||
Typische Aufrufe im Betrieb:
|
||||
|
||||
```bash
|
||||
sudo bash install.sh --branch dev
|
||||
sudo bash install.sh --port 8080 --host ripster.local
|
||||
sudo bash install.sh --reinstall
|
||||
sudo journalctl -u ripster-backend -f
|
||||
sudo systemctl restart ripster-backend
|
||||
```
|
||||
|
||||
## Betrieb im Alltag
|
||||
## Update einer bestehenden Installation
|
||||
|
||||
Standard:
|
||||
|
||||
```bash
|
||||
# Logs live ansehen
|
||||
sudo journalctl -u ripster-backend -f
|
||||
|
||||
# Dienst neu starten
|
||||
sudo systemctl restart ripster-backend
|
||||
|
||||
# Update aus bestehender Installation
|
||||
sudo bash /opt/ripster/install.sh --reinstall
|
||||
```
|
||||
|
||||
## Häufige Stolperstellen
|
||||
Wenn die Installation mit abweichenden Kernparametern eingerichtet wurde, dieselben Parameter wieder mitgeben:
|
||||
|
||||
- Laufwerk nicht zugreifbar: Laufwerksrechte/Gruppen prüfen
|
||||
- CLI-Tool fehlt wegen `--no-*`: Tool nachinstallieren oder Befehl in Settings korrigieren
|
||||
- UI nicht erreichbar: nginx-Status und Firewall prüfen
|
||||
```bash
|
||||
sudo bash /opt/ripster/install.sh --reinstall --dir /opt/ripster --user ripster --port 3001 --host 192.168.1.10
|
||||
```
|
||||
|
||||
Alternativ kannst du auch erneut über `setup.sh` gehen:
|
||||
|
||||
```bash
|
||||
sudo bash /opt/ripster/setup.sh --reinstall
|
||||
```
|
||||
|
||||
`--reinstall` aktualisiert die Installation, behält aber die persistenten Daten der bestehenden Instanz.
|
||||
|
||||
## Danach weiter
|
||||
|
||||
|
||||
@@ -1,19 +1,31 @@
|
||||
# Voraussetzungen
|
||||
|
||||
Die Voraussetzungen hängen davon ab, **wie** du Ripster betreibst.
|
||||
Die Voraussetzungen hängen davon ab, ob du Ripster produktiv installieren oder lokal entwickeln willst.
|
||||
|
||||
## Produktionsbetrieb mit `install.sh` (Standard)
|
||||
## Produktionsbetrieb mit `setup.sh`
|
||||
|
||||
Für den normalen Betrieb sind nur wenige Punkte vorab nötig.
|
||||
Für den normalen Betrieb brauchst du nur die Basisvoraussetzungen. Die eigentlichen Tools werden vom Installer eingerichtet, sofern du sie nicht bewusst mit `--no-*` überspringst.
|
||||
|
||||
### Pflicht
|
||||
|
||||
- unterstütztes Linux-System (laut Script: Debian, Ubuntu, Linux Mint, Pop!_OS)
|
||||
- `root`-Rechte
|
||||
- unterstütztes Linux-System
|
||||
- Root-Rechte oder `sudo`
|
||||
- Internetzugang während der Installation
|
||||
- optisches Laufwerk für Disc-Betrieb
|
||||
- optisches Laufwerk, wenn du Disc-Workflows nutzen willst
|
||||
|
||||
`install.sh` installiert die benötigten Tools selbst (u. a. Node.js, MakeMKV, HandBrakeCLI, MediaInfo), sofern sie nicht explizit per `--no-*` übersprungen werden.
|
||||
Der Installer unterstützt aktuell:
|
||||
|
||||
- Debian
|
||||
- Ubuntu
|
||||
- Linux Mint
|
||||
- Pop!_OS
|
||||
|
||||
Standard-Einstieg:
|
||||
|
||||
```bash
|
||||
wget -qO setup.sh https://raw.githubusercontent.com/Mboehmlaender/ripster/main/setup.sh
|
||||
bash setup.sh
|
||||
```
|
||||
|
||||
### Laufwerk kurz prüfen
|
||||
|
||||
@@ -22,27 +34,25 @@ ls /dev/sr*
|
||||
lsblk | grep rom
|
||||
```
|
||||
|
||||
Wenn nötig Rechte setzen (Beispiel):
|
||||
|
||||
```bash
|
||||
sudo chmod a+rw /dev/sr0
|
||||
```
|
||||
|
||||
### Optional vorab
|
||||
|
||||
- OMDb API-Key (kann auch nach Installation in den `Settings` gesetzt werden)
|
||||
- PushOver-Zugangsdaten (optional)
|
||||
- TMDb Read Access Token für Film-/Serien-Metadaten
|
||||
- PushOver-Zugangsdaten für Benachrichtigungen
|
||||
|
||||
## Entwicklungsmodus (nur für Dev)
|
||||
Beides kann auch erst nach der Installation in `Settings` gesetzt werden.
|
||||
|
||||
## Entwicklungsmodus
|
||||
|
||||
Wenn du lokal entwickelst (`./start.sh`, `npm run dev`), gelten zusätzliche Voraussetzungen:
|
||||
|
||||
- Node.js >= 20.19.0
|
||||
- Node.js `>= 20.19.0`
|
||||
- `makemkvcon`, `HandBrakeCLI`, `mediainfo` im `PATH`
|
||||
|
||||
Details: [Entwicklungsumgebung](../deployment/development.md)
|
||||
|
||||
## Abschluss-Checkliste
|
||||
|
||||
- [ ] Produktionsbetrieb: Linux + root + Internet + Laufwerk vorhanden
|
||||
- [ ] Dev-Modus (nur falls benötigt): Node.js und CLI-Tools verfügbar
|
||||
- [ ] Linux + Root/Sudo + Internet vorhanden
|
||||
- [ ] optisches Laufwerk vorhanden, falls Disc-Ripping genutzt werden soll
|
||||
- [ ] TMDb/PushOver-Zugangsdaten liegen bereit, falls diese Funktionen sofort genutzt werden sollen
|
||||
- [ ] im Dev-Modus zusätzlich Node.js und CLI-Tools lokal verfügbar
|
||||
|
||||
@@ -1,19 +1,25 @@
|
||||
# Erster Lauf
|
||||
|
||||
Dieser Ablauf führt einen vollständigen Disc-Job von Erkennung bis fertiger Datei durch.
|
||||
Dieser Ablauf führt einen typischen Disc-Job von Erkennung bis fertiger Datei durch.
|
||||
|
||||
## 1) Disc erkennen
|
||||
## 1. Disc erkennen
|
||||
|
||||
1. `Ripper` öffnen.
|
||||
2. Disc einlegen.
|
||||
3. Auf `Medium erkannt` warten.
|
||||
1. `Ripper` öffnen
|
||||
2. Disc einlegen
|
||||
3. auf `Medium erkannt` warten
|
||||
|
||||
Prüfen:
|
||||
|
||||
- `Disk-Information` zeigt Device/Label.
|
||||
- Falls nicht: `Laufwerk neu lesen`.
|
||||
- `Disk-Information` zeigt Device, Label und Laufwerksstatus
|
||||
- falls nicht: `Laufwerk neu lesen`
|
||||
|
||||
## 2) Analyse starten
|
||||
Relevante Settings:
|
||||
|
||||
- `Laufwerksmodus`
|
||||
- `Automatische Disk-Erkennung`
|
||||
- `Polling Intervall (ms)`
|
||||
|
||||
## 2. Analyse starten
|
||||
|
||||
Aktion:
|
||||
|
||||
@@ -22,69 +28,124 @@ Aktion:
|
||||
Erwartung:
|
||||
|
||||
- Status `Analyse`
|
||||
- danach Metadaten-Dialog
|
||||
- danach der Metadaten-Dialog
|
||||
|
||||
## 3) Metadaten bestätigen
|
||||
Relevantes Setting:
|
||||
|
||||
- `Minimale Titellänge (Minuten)` beeinflusst bereits, welche Titel/Playlists Ripster später als relevant betrachtet
|
||||
|
||||
## 3. Metadaten in TMDb bestätigen
|
||||
|
||||
Im Dialog:
|
||||
|
||||
1. Treffer suchen/auswählen.
|
||||
2. Bei Serie zusätzlich Disc-Nummer setzen.
|
||||
3. `Auswahl übernehmen`.
|
||||
1. Treffer suchen oder filtern
|
||||
2. Film oder Serie auswählen
|
||||
3. bei Serien zusätzlich `Disc-Nummer` setzen
|
||||
4. `Auswahl übernehmen`
|
||||
|
||||
Mögliche Abzweigungen:
|
||||
|
||||
- Duplikatfilm -> `Übernahme erzwingen` oder `Multipart movie`
|
||||
- vorhandenes RAW -> Entscheidungsdialog (weiterverwenden oder neu rippen)
|
||||
- Duplikatfilm: `Übernahme erzwingen` oder `Multipart movie`
|
||||
- vorhandenes RAW: Entscheidungsdialog `weiterverwenden` oder `neu rippen`
|
||||
|
||||
## 4) Rip/Review-Phase
|
||||
Relevante Settings:
|
||||
|
||||
Normalfall:
|
||||
- `TMDb Read Access Token`
|
||||
- `Film-Sprache`
|
||||
- `Fallback Sprache`
|
||||
|
||||
- `Startbereit` -> `Rippen` -> `Mediainfo-Pruefung`
|
||||
## 4. RAW- und Playlist-Entscheidungen
|
||||
|
||||
Mögliche Alternativen:
|
||||
Je nach Disc-Situation geht es jetzt unterschiedlich weiter.
|
||||
|
||||
- vorhandenes RAW: direkter Sprung in Prüfung
|
||||
- Blu-ray/DVD-Entscheidung nötig: `Warte auf Auswahl` für Playlist/Titel
|
||||
### Normalfall
|
||||
|
||||
## 5) Encode-Review abschließen
|
||||
`Startbereit` -> `Rippen` -> `Mediainfo-Prüfung`
|
||||
|
||||
Bei `Bereit zum Encodieren`:
|
||||
### Vorhandenes RAW
|
||||
|
||||
- Titel festlegen
|
||||
- Audio-/Subtitle-Spuren prüfen
|
||||
- optional Preset auswählen
|
||||
- optional Pre-/Post-Skripte wählen
|
||||
Kein neuer Rip, sondern erst eine Entscheidung:
|
||||
|
||||
- vorhandenes RAW weiterverwenden
|
||||
- RAW löschen und Rip neu starten
|
||||
- bei passenden Film-Konstellationen optional Multipart mit Orphan-RAW
|
||||
|
||||
### Playlist- oder Titelauswahl erforderlich
|
||||
|
||||
Bei bestimmten Blu-ray-/DVD-Fällen erscheint `Warte auf Auswahl`.
|
||||
|
||||
Dann bestätigst du:
|
||||
|
||||
- eine Playlist
|
||||
- oder einen/mehrere HandBrake-Titel
|
||||
|
||||
Relevante Settings:
|
||||
|
||||
- `Minimale Titellänge (Minuten)`
|
||||
- `TMDb Runtime-Abzug für Playlistfilter (%)`
|
||||
|
||||
## 5. Encode-Review abschließen
|
||||
|
||||
Bei `Bereit zum Encodieren` prüfst du:
|
||||
|
||||
- Titelwahl
|
||||
- Audio-Spuren
|
||||
- Untertitel
|
||||
- User-Preset oder HandBrake-Preset
|
||||
- Pre-/Post-Encode-Skripte und Ketten
|
||||
|
||||
Dann:
|
||||
|
||||
- `Encoding starten`
|
||||
|
||||
## 6) Encoding überwachen
|
||||
Relevante Settings:
|
||||
|
||||
- `HandBrake Preset` und `HandBrake Extra Args` je Medium
|
||||
- `Review Audio-Sprachen (...)`
|
||||
- `Review UT-Sprachen (...)`
|
||||
- `Ausgabeformat`
|
||||
- Standard-Zuordnungen unter `Settings -> Encode-Presets`
|
||||
|
||||
## 6. Encoding überwachen
|
||||
|
||||
Während `Encodieren`:
|
||||
|
||||
- Fortschritt/ETA im Ripper
|
||||
- Queue- und Runtime-Status beobachten
|
||||
- optional Logkontrolle in Historie
|
||||
- Queue-Status beobachten
|
||||
- bei Bedarf `Hardware`-Ansicht öffnen
|
||||
|
||||
## 7) Ergebnis verifizieren
|
||||
Relevante Settings:
|
||||
|
||||
- `Parallele Jobs`
|
||||
- `Max. parallele Audio CD Jobs`
|
||||
- `Max. Encodes gesamt (medienunabhängig)`
|
||||
- `Hardware Monitoring aktiviert`
|
||||
- `Hardware Monitoring Intervall (ms)`
|
||||
|
||||
## 7. Ergebnis verifizieren
|
||||
|
||||
Nach `Fertig`:
|
||||
|
||||
1. `Historie` öffnen.
|
||||
2. Jobdetail prüfen.
|
||||
3. Output-Pfad und Log plausibilisieren.
|
||||
1. `Historie` öffnen
|
||||
2. Jobdetail prüfen
|
||||
3. Output-Pfad und Log kontrollieren
|
||||
|
||||
Kontrollpunkte:
|
||||
|
||||
- finale Datei am erwarteten Template-Pfad
|
||||
- RAW-Ordnerzustand finalisiert (kein `Incomplete_`)
|
||||
- finale Datei liegt am erwarteten Template-Pfad
|
||||
- RAW-Ordner ist finalisiert
|
||||
- optional `.nfo` wurde erzeugt, falls aktiviert
|
||||
|
||||
## 8) Typische Folgeaktionen
|
||||
Relevante Settings:
|
||||
|
||||
- falsche Metadaten: `OMDb neu zuordnen`
|
||||
- `output_template_*`
|
||||
- `series_dir_*` und Serien-Templates
|
||||
- `generate_nfo_after_encode`
|
||||
|
||||
## 8. Typische Folgeaktionen
|
||||
|
||||
- falsche TMDb-Zuordnung: `TMDb neu zuweisen`
|
||||
- andere Trackauswahl: `Review neu starten`
|
||||
- erneuter Encode aus RAW: `RAW neu encodieren`
|
||||
- gleicher Plan erneut: `Encode neu starten`
|
||||
- Rip erneut versuchen: `Retry Rippen`
|
||||
|
||||
+57
-31
@@ -9,74 +9,100 @@ Die Oberfläche besteht aus zwei Hauptbereichen:
|
||||
1. `Audiobooks Upload`
|
||||
2. `Audiobook Jobs`
|
||||
|
||||
## 1) Audiobooks Upload
|
||||
## 1. Audiobooks Upload
|
||||
|
||||
Der Upload akzeptiert ausschließlich `.aax`.
|
||||
|
||||
### Bedienung
|
||||
|
||||
- Datei auswählen (Button oder Drag-and-Drop)
|
||||
- Datei auswählen oder per Drag-and-Drop ablegen
|
||||
- Upload starten
|
||||
- Auswahl entfernen oder laufenden Upload abbrechen
|
||||
|
||||
Während des Uploads zeigt die UI:
|
||||
|
||||
- Prozentfortschritt
|
||||
- übertragene/gesamte Bytes
|
||||
- Statusmeldung (z. B. „Job vorbereitet“, „in Queue eingereiht“)
|
||||
- übertragene und gesamte Bytes
|
||||
- Statusmeldung
|
||||
|
||||
### Ablauf nach erfolgreichem Upload
|
||||
|
||||
- AAX wird serverseitig geprüft
|
||||
- Audiobook-Job wird angelegt
|
||||
- Job landet je nach Pipelinezustand in `READY_TO_START`, startet direkt oder wird eingereiht
|
||||
- die AAX-Datei wird geprüft
|
||||
- Ripster versucht Metadata, Kapitel und Activation-Bytes-Kontext aufzubauen
|
||||
- ein Audiobook-Job wird angelegt
|
||||
- der Job startet direkt oder wird in die Queue eingereiht
|
||||
|
||||
## 2) Audiobook Jobs
|
||||
## 2. Audiobook Jobs
|
||||
|
||||
Gezeigt werden aktive Jobs (nicht abgeschlossene). Fertige Jobs liegen in der `Historie`.
|
||||
Die Seite zeigt aktive Jobs. Abgeschlossene Jobs findest du in der `Historie`.
|
||||
|
||||
Jeder Job kann eingeklappt/ausgeklappt werden und zeigt:
|
||||
Ein Job kann eingeklappt oder ausgeklappt werden und zeigt:
|
||||
|
||||
- Titel-/Metadatenblock (Titel, Autor, Sprecher, Jahr, Kapitel)
|
||||
- Statusbadge
|
||||
- Fortschritt/ETA
|
||||
- ggf. Kapitel-Fortschritt
|
||||
- Titel, Autor, Sprecher, Jahr
|
||||
- Kapitelanzahl
|
||||
- Fortschritt und ETA
|
||||
- bei Split-Ausgabe den Kapitelstatus
|
||||
|
||||
### Konfigurierbare Job-Parameter
|
||||
## Konfigurierbare Job-Parameter
|
||||
|
||||
Im ausgeklappten Job:
|
||||
Im ausgeklappten Job kannst du setzen:
|
||||
|
||||
- Ausgabeformat (`m4b`, `mp3`, `flac`)
|
||||
- formatspezifische Optionen (dynamisch je Format)
|
||||
- Kapitelnamen bearbeiten
|
||||
- Pre-Rip-Ausführungen (Skript/Kette)
|
||||
- Post-Rip-Ausführungen (Skript/Kette)
|
||||
- Ausgabeformat `m4b`, `mp3` oder `flac`
|
||||
- formatspezifische Optionen
|
||||
- Kapitelnamen
|
||||
- Pre-Encode-Skripte und -Ketten
|
||||
- Post-Encode-Skripte und -Ketten
|
||||
|
||||
### Formatverhalten
|
||||
|
||||
- `m4b`: eine Datei mit Kapiteln
|
||||
- `mp3`/`flac`: kapitelweise Ausgabedateien
|
||||
- `m4b`: eine Datei mit Kapitelmarken
|
||||
- `mp3`: eine Datei pro Kapitel
|
||||
- `flac`: eine Datei pro Kapitel
|
||||
|
||||
Für `mp3`/`flac` zeigt die UI während/nach dem Lauf eine Kapitel-Status-Tabelle (`Rip`/`Encode`).
|
||||
Wenn du `mp3` oder `flac` wählst, zeigt die UI zusätzlich eine Kapitel-Status-Tabelle.
|
||||
|
||||
### Aktionen je Job
|
||||
## Activation Bytes
|
||||
|
||||
- `Encode starten` (bzw. Neustart mit aktuellen Optionen)
|
||||
- `Abbrechen`
|
||||
- `Job löschen` (mit Bestätigung)
|
||||
Wenn Ripster für eine Datei keine Activation Bytes verwenden kann, wird im Workflow eine manuelle Eingabe nötig.
|
||||
|
||||
Wichtig:
|
||||
|
||||
- die Bytes werden lokal gecacht
|
||||
- derselbe AAX-Hash muss dann später nicht erneut manuell eingegeben werden
|
||||
- der Expertenblock in `Settings` zeigt bekannte Cache-Einträge an
|
||||
|
||||
## Relevante Settings
|
||||
|
||||
- `raw_dir_audiobook`
|
||||
- `movie_dir_audiobook`
|
||||
- `raw_dir_audiobook_owner`
|
||||
- `movie_dir_audiobook_owner`
|
||||
- `audiobook_raw_template`
|
||||
- `output_template_audiobook`
|
||||
- `output_chapter_template_audiobook`
|
||||
- `ffprobe_command`
|
||||
- `ffmpeg_command`
|
||||
|
||||
### So wirken die Settings im Alltag
|
||||
|
||||
- `audiobook_raw_template` bestimmt den Namen des AAX-RAW-Ordners
|
||||
- `output_template_audiobook` bestimmt die Einzeldatei für `m4b`
|
||||
- `output_chapter_template_audiobook` bestimmt Zielstruktur und Dateinamen für `mp3`/`flac`
|
||||
- `ffprobe_command` liest Kapitel und Metadaten
|
||||
- `ffmpeg_command` erzeugt die finalen Dateien
|
||||
|
||||
## Queue und Laufzeit
|
||||
|
||||
Audiobook-Jobs nutzen dieselbe globale Pipeline wie die anderen Bereiche.
|
||||
|
||||
Relevante Settings:
|
||||
|
||||
- `Parallele Jobs`
|
||||
- `Max. Encodes gesamt (medienunabhängig)`
|
||||
|
||||
## Typische Fehlerbilder
|
||||
|
||||
- Upload wird abgelehnt: Datei ist keine gültige `*.aax`.
|
||||
- Start/Encode schlägt fehl: `ffprobe` oder `ffmpeg` nicht erreichbar.
|
||||
- Unerwartete Ausgabeorte: Templates/Pfade passen nicht zur gewünschten Struktur.
|
||||
- Upload wird abgelehnt: Datei ist keine gültige `*.aax`
|
||||
- Analyse schlägt fehl: `ffprobe` ist nicht erreichbar
|
||||
- Encode schlägt fehl: `ffmpeg` ist nicht erreichbar
|
||||
- Ausgabe landet unerwartet: Templates oder Zielpfade passen nicht zur gewünschten Struktur
|
||||
|
||||
+69
-49
@@ -1,19 +1,22 @@
|
||||
# Converter
|
||||
|
||||
Die Seite `Converter` verarbeitet bereits vorhandene Dateien (Video, Audio, ISO) ohne Laufwerks-Rip.
|
||||
Die Seite `Converter` verarbeitet vorhandene Dateien ohne Laufwerks-Rip. Sie ist für Video-, Audio- und ISO-Dateien gedacht, die bereits auf dem System liegen oder hochgeladen werden.
|
||||
|
||||
## Betriebsmodell
|
||||
|
||||
Der Converter arbeitet auf dem Eingangspfad `converter_raw_dir`:
|
||||
Der Converter arbeitet auf dem Eingangspfad `converter_raw_dir`.
|
||||
|
||||
- Uploads landen dort
|
||||
- Explorer-Aktionen arbeiten dort
|
||||
- daraus werden Converter-Jobs erstellt
|
||||
Dort landen:
|
||||
|
||||
- Uploads
|
||||
- neu angelegte Ordner
|
||||
- umbenannte oder verschobene Dateien
|
||||
- alle Dateien, aus denen später Converter-Jobs entstehen
|
||||
|
||||
Wichtig:
|
||||
|
||||
- Upload erzeugt nicht automatisch einen Job.
|
||||
- Joberstellung erfolgt explizit über Auswahl im Explorer.
|
||||
- Upload erzeugt nicht automatisch einen Job
|
||||
- die Joberstellung erfolgt bewusst aus der Explorer-Auswahl
|
||||
|
||||
## Datei-Explorer
|
||||
|
||||
@@ -23,17 +26,24 @@ Aktionen:
|
||||
|
||||
| Aktion | Wirkung |
|
||||
|---|---|
|
||||
| `Upload` | Dateien werden in den Raw-Baum geschrieben |
|
||||
| `Ordner erstellen` | legt Unterordner im Raw-Baum an |
|
||||
| `Umbenennen` | benennt Datei/Ordner im Raw-Baum um |
|
||||
| `Verschieben` | verschiebt innerhalb des Raw-Baums |
|
||||
| `Löschen` | entfernt Datei/Ordner dauerhaft |
|
||||
| `Scannen` | synchronisiert Explorer und DB-Zuordnungen |
|
||||
| `Upload` | schreibt neue Dateien in den Converter-RAW-Baum |
|
||||
| `Ordner erstellen` | legt Unterordner an |
|
||||
| `Umbenennen` | benennt Datei oder Ordner um |
|
||||
| `Verschieben` | verschiebt Einträge innerhalb des Raw-Baums |
|
||||
| `Löschen` | entfernt Datei oder Ordner dauerhaft |
|
||||
| `Scannen` | synchronisiert Dateisystem und Converter-Datenbank |
|
||||
|
||||
Upload-Regeln:
|
||||
### Upload- und Scan-Regeln
|
||||
|
||||
- Dateiendung muss in `Erlaubte Datei-Endungen*` enthalten sein
|
||||
- bei Verstoß wird der Upload abgelehnt
|
||||
- Dateiendungen müssen in `Erlaubte Datei-Endungen` enthalten sein
|
||||
- neue Dateien erscheinen sofort nach manuellem Scan
|
||||
- mit Polling auch automatisch
|
||||
|
||||
Relevante Settings:
|
||||
|
||||
- `Erlaubte Datei-Endungen`
|
||||
- `Auto-Scan (Polling)`
|
||||
- `Polling-Intervall (Sekunden)`
|
||||
|
||||
## Joberstellung aus Explorer-Auswahl
|
||||
|
||||
@@ -44,65 +54,75 @@ Es gibt zwei Audio-Strategien:
|
||||
|
||||
Verhalten:
|
||||
|
||||
- Video/ISO werden grundsätzlich als Einzeljobs angelegt.
|
||||
- Audio kann als Shared-Job mit mehreren Eingabedateien erzeugt werden.
|
||||
- Video und ISO werden immer als Einzeljobs angelegt
|
||||
- Audio kann als gemeinsamer Album-/Ordner-Job erzeugt werden
|
||||
|
||||
Shared-Audio-Job:
|
||||
|
||||
- hält mehrere `inputPaths`
|
||||
- kann vor Start erweitert/reduziert werden (nur Audio-Dateien)
|
||||
- kann vor dem Start erweitert oder reduziert werden
|
||||
|
||||
## Job-Konfiguration
|
||||
|
||||
Vor Start je Job einstellbar:
|
||||
Vor dem Start je Job einstellbar:
|
||||
|
||||
- `converterMediaType` (`video`, `audio`, `iso`)
|
||||
- `converterMediaType`
|
||||
- `outputFormat`
|
||||
- Metadaten
|
||||
- Track-/Titelwahl (bei video/iso)
|
||||
- Track-/Titelwahl bei Video/ISO
|
||||
- User-Preset und HandBrake-Preset bei Video
|
||||
- Pre-/Post-Encode-Skripte und Ketten
|
||||
|
||||
Spezifika:
|
||||
|
||||
- Video/ISO laufen durch Mediainfo/Review ähnlich zum Disc-Flow.
|
||||
- Audio kann direkt mit Formatoptionen konfiguriert werden.
|
||||
- Video/ISO durchlaufen eine Review ähnlich zum Disc-Flow
|
||||
- Audio wird direkt über Format und Audio-Optionen konfiguriert
|
||||
|
||||
## Ausgabe-Pfade
|
||||
|
||||
### Video/ISO
|
||||
### Video / ISO
|
||||
|
||||
- Root: `converter_movie_dir`
|
||||
- Zielordner: `converter_movie_dir`
|
||||
- Dateiname: `Output-Template (Video)`
|
||||
- Endung: aus gewähltem Output-Format
|
||||
- Endung: aus dem gewählten Ausgabeformat
|
||||
|
||||
### Audio
|
||||
|
||||
- Root: `converter_audio_dir`
|
||||
- Zielordner: `converter_audio_dir`
|
||||
- Dateiname/Ordner: `Output-Template (Audio)`
|
||||
- bei Shared-/Folder-Job: Ausgabe als Ordnerstruktur mit Trackdateien
|
||||
|
||||
## Queue und Start
|
||||
|
||||
Converter-Jobs laufen über dieselbe Pipeline-/Queue-Logik:
|
||||
|
||||
- sofortiger Start wenn Limits frei
|
||||
- sonst Queue-Eintrag
|
||||
|
||||
Parallelität richtet sich nach den globalen Encode-Limits in `Settings`.
|
||||
|
||||
## Auto-Scan (Polling)
|
||||
|
||||
Mit aktiviertem Polling:
|
||||
|
||||
- `converter_raw_dir` wird zyklisch gescannt
|
||||
- neue Dateien erscheinen automatisch im Explorer
|
||||
- bei Shared- oder Folder-Jobs entsteht eine Ordnerstruktur mit mehreren Track-Dateien
|
||||
|
||||
Relevante Settings:
|
||||
|
||||
- `Auto-Scan (Polling)`
|
||||
- `Polling-Intervall (Sekunden)`
|
||||
- `converter_movie_dir`
|
||||
- `converter_audio_dir`
|
||||
- `converter_output_template_video`
|
||||
- `converter_output_template_audio`
|
||||
- `converter_movie_dir_owner`
|
||||
- `converter_audio_dir_owner`
|
||||
|
||||
## Queue und Start
|
||||
|
||||
Converter-Jobs laufen über dieselbe globale Pipeline-Queue wie Ripper und Audiobooks.
|
||||
|
||||
Das bedeutet:
|
||||
|
||||
- sofortiger Start, wenn Limits frei sind
|
||||
- sonst Einreihung in die Warteschlange
|
||||
|
||||
Relevante Settings:
|
||||
|
||||
- `Parallele Jobs`
|
||||
- `Max. Encodes gesamt (medienunabhängig)`
|
||||
|
||||
## Typische Einsatzfälle
|
||||
|
||||
- vorhandene MKV/MP4-Dateien mit neuem Preset encodieren
|
||||
- ISO-Dateien in einen Video-Workflow überführen
|
||||
- Musikdateien gesammelt in einen Audio-Ordner-Job packen
|
||||
- Medien auf anderem Storage per Upload oder Dateibaum vorbereiten
|
||||
|
||||
## Abgrenzung zu Audiobooks
|
||||
|
||||
- `Converter`: beliebige Audio/Video/ISO-Dateien
|
||||
- `Audiobooks`: dedizierter AAX-Workflow mit Kapitel-/Audiobook-Metadaten
|
||||
- `Converter`: beliebige Audio-, Video- und ISO-Dateien
|
||||
- `Audiobooks`: spezialisierter AAX-Workflow mit Activation Bytes, Kapitelmetadaten und Kapiteltemplates
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
# Hardware
|
||||
|
||||
Die Seite `Hardware` ist die ausführliche Detailansicht für das Live-Monitoring aus dem `Ripper`.
|
||||
|
||||
## Was die Seite zeigt
|
||||
|
||||
- aktuelle CPU-Auslastung
|
||||
- RAM-Auslastung
|
||||
- GPU-Auslastung und VRAM, falls vorhanden
|
||||
- Temperaturen
|
||||
- Verlaufshistorie für Auslastung und Temperatur
|
||||
- Zeitfenster für `1h`, `6h`, `24h`, `4d`
|
||||
|
||||
## Live-Bereich
|
||||
|
||||
Oben zeigt die Seite:
|
||||
|
||||
- ob Monitoring aktiv ist
|
||||
- aktuelles Polling-Intervall
|
||||
- Zeitpunkt der letzten Messung
|
||||
|
||||
Wenn Monitoring deaktiviert ist, führt die Seite direkt zu `Settings`.
|
||||
|
||||
## Historie
|
||||
|
||||
Die Historie lädt Messpunkte aus dem Backend und zeigt:
|
||||
|
||||
- Auslastung als Linienchart
|
||||
- Temperatur als Linienchart
|
||||
- umschaltbare Serien für CPU, RAM und GPU
|
||||
|
||||
Das ist besonders nützlich bei:
|
||||
|
||||
- mehreren parallelen Encodes
|
||||
- Fehlersuche bei Hitzespitzen
|
||||
- Abschätzung, ob weitere Jobs sinnvoll gestartet werden können
|
||||
|
||||
## Relevante Settings
|
||||
|
||||
- `Hardware Monitoring aktiviert`
|
||||
- `Hardware Monitoring Intervall (ms)`
|
||||
|
||||
Außerdem sinnvoll:
|
||||
|
||||
- `Externe Speicher`, damit Speicherstände im `Ripper` sinnvoll angezeigt werden
|
||||
+37
-38
@@ -6,7 +6,7 @@
|
||||
|
||||
Filter und Arbeitsmittel:
|
||||
|
||||
- Suche (Titel, IMDb, Kontextbegriffe)
|
||||
- Suche
|
||||
- Statusfilter
|
||||
- Mediumfilter
|
||||
- Sortierung
|
||||
@@ -14,62 +14,61 @@ Filter und Arbeitsmittel:
|
||||
|
||||
Jeder Eintrag zeigt auf einen Blick:
|
||||
|
||||
- Titel, Jahr, Poster
|
||||
- Titel, Jahr, Poster oder Cover
|
||||
- Status und Zeitstempel
|
||||
- RAW-/Output-Verfügbarkeit
|
||||
- Medien- und ggf. Containerhinweise
|
||||
- RAW- und Output-Verfügbarkeit
|
||||
- Medien- und Containerhinweise
|
||||
|
||||
## Detaildialog: Was dort zusammenläuft
|
||||
## Detaildialog
|
||||
|
||||
Der Detaildialog bündelt:
|
||||
|
||||
- Metadaten (Film oder Serie)
|
||||
- Metadaten
|
||||
- Jobstatus und Fehlertexte
|
||||
- RAW-/Output-Pfade
|
||||
- RAW- und Output-Pfade
|
||||
- Encode-Plan und Trackauswahl
|
||||
- ausgeführte Kommandodetails
|
||||
- Prozesslog (`Tail` oder vollständig)
|
||||
- ausgeführte Kommandos
|
||||
- Prozesslog
|
||||
- verfügbare Folgeaktionen
|
||||
|
||||
Bei Seriencontainern wird disk-/child-orientiert dargestellt, nicht nur als Einzeljob.
|
||||
Bei Seriencontainern und Multipart-Jobs wird container- und child-orientiert dargestellt.
|
||||
|
||||
## Nachbearbeitungsaktionen und Wirkung
|
||||
## Nachbearbeitungsaktionen
|
||||
|
||||
| Aktion | Typischer Einsatz | Technische Wirkung |
|
||||
|---|---|---|
|
||||
| `OMDb neu zuordnen` | falsches Match, Titel/Jahr korrigieren | Metadatenfelder werden neu geschrieben; Folder-Rename wird best effort angestoßen |
|
||||
| `Review neu starten` | neue Track-/Titelbewertung nötig | Mediainfo/Review wird aus RAW neu aufgebaut |
|
||||
| `RAW neu encodieren` | neuer Encode aus vorhandenem RAW | startet Encode ohne neuen Laufwerks-Rip |
|
||||
| `Encode neu starten` | gleiche bestätigte Auswahl erneut fahren | letzter bestätigter Plan wird geladen, optional mit Bereinigung unvollständiger Ausgabe |
|
||||
| `Retry Rippen` | Rip/Analyse neu anstoßen | neuer Rip-Lauf, inkl. erneuter RAW-Phase |
|
||||
| `TMDb neu zuweisen` | falsches Match, anderer Film, andere Staffel | Metadaten werden neu geschrieben; Poster, Jahr und ggf. Ordnername werden best effort aktualisiert |
|
||||
| `Review neu starten` | neue Track-/Titelbewertung nötig | Review wird aus vorhandenem RAW neu aufgebaut |
|
||||
| `RAW neu encodieren` | neuer Encode mit vorhandenem RAW | startet Encode ohne neuen Disc-Rip |
|
||||
| `Encode neu starten` | gleiche bestätigte Auswahl erneut fahren | letzter bestätigter Plan wird geladen |
|
||||
| `Retry Rippen` | Rip oder Analyse erneut anstoßen | neuer Rip-Lauf inklusive RAW-Phase |
|
||||
|
||||
Löschaktionen im Dialog:
|
||||
Relevante Settings:
|
||||
|
||||
- `RAW löschen`
|
||||
- `Movie löschen`
|
||||
- `Beides löschen`
|
||||
- `Historieneintrag löschen`
|
||||
- `handbrake_restart_delete_incomplete_output`
|
||||
- `generate_nfo_after_encode`
|
||||
|
||||
## Löschvorschau und selektives Löschen
|
||||
## Löschaktionen und Vorschau
|
||||
|
||||
Vor endgültigem Löschen zeigt Ripster eine Vorschau mit:
|
||||
Vor dem endgültigen Löschen zeigt Ripster eine Vorschau mit:
|
||||
|
||||
- `RAW`-Kandidaten
|
||||
- `Movie`-/Episoden-Kandidaten
|
||||
- Related-Scope (Container/Kinder/verbundene Jobs)
|
||||
- RAW-Kandidaten
|
||||
- Movie-/Episode-Kandidaten
|
||||
- Related-Scope für Container, Kinder und verbundene Jobs
|
||||
|
||||
Wichtige Punkte:
|
||||
|
||||
- Pfade sind selektierbar.
|
||||
- Für RAW-Löschung muss bei Mehrfachkandidaten mindestens ein RAW-Pfad gewählt werden.
|
||||
- Schutzlogik verhindert Löschungen außerhalb erlaubter Root-Verzeichnisse.
|
||||
- Pfade sind selektierbar
|
||||
- bei mehreren RAW-Kandidaten muss mindestens ein RAW-Pfad gewählt werden
|
||||
- Schutzlogik verhindert Löschungen außerhalb erlaubter Root-Verzeichnisse
|
||||
|
||||
## Serien- und Multipart-Sicht in der Historie
|
||||
## Serien- und Multipart-Sicht
|
||||
|
||||
### Serien
|
||||
|
||||
- Container zeigt aggregierten Zustand aus Child-Jobs.
|
||||
- Disk-/Episode-Aktionen können child-spezifisch ausgeführt werden.
|
||||
- `Im Ripper öffnen` hilft bei `Bereit zum Encodieren`-Kindern.
|
||||
- Container zeigt den aggregierten Zustand der Child-Jobs
|
||||
- Disk- und Episodenaktionen können child-spezifisch ausgeführt werden
|
||||
- `Im Ripper öffnen` hilft bei offenen Reviews
|
||||
|
||||
### Multipart
|
||||
|
||||
@@ -79,11 +78,11 @@ Wichtige Punkte:
|
||||
|
||||
## Logs sinnvoll nutzen
|
||||
|
||||
- `Tail laden (800)` für schnellen Fehlerkontext
|
||||
- `Vollständiges Log laden` für forensische Analyse
|
||||
- `Tail laden` für schnellen Fehlerkontext
|
||||
- `Vollständiges Log laden` für tiefe Analyse
|
||||
|
||||
Empfehlung:
|
||||
|
||||
1. Erst Tail prüfen.
|
||||
2. Bei Pfad-/Toolproblemen vollständiges Log laden.
|
||||
3. Danach passende Wiederanlauf-Aktion wählen.
|
||||
1. erst den Tail prüfen
|
||||
2. dann die Stelle im Log eingrenzen
|
||||
3. anschließend die passende Wiederanlauf-Aktion wählen
|
||||
|
||||
+23
-14
@@ -6,28 +6,37 @@ Dieses Kapitel ist das Bedienhandbuch für die Oberflächen im Alltag.
|
||||
|
||||
| Seite | Rolle im Betrieb | Typischer Einsatz |
|
||||
|---|---|---|
|
||||
| [Ripper](ripper.md) | Live-Steuerung der Pipeline | Disc-Flow starten, Queue steuern, Review freigeben |
|
||||
| [Audiobooks](audiobooks.md) | AAX-Spezialflow | Upload, Jobkonfiguration und Encode von Audiobooks |
|
||||
| [Settings](settings.md) | Konfiguration/Automatisierung | Pfade, Tools, Queue-Limits, Skripte, Cron |
|
||||
| [Historie](history.md) | Nachbearbeitung und Kontrolle | Logs, Re-Encode, Löschvorschau, Recovery-Aktionen |
|
||||
| [Ripper](ripper.md) | Live-Steuerung der Disc-Pipeline | Disc erkennen, Analyse starten, Entscheidungen treffen, Queue steuern |
|
||||
| [Hardware](hardware.md) | Detailansicht für Live-Monitoring | CPU/RAM/GPU und Verlauf prüfen |
|
||||
| [Audiobooks](audiobooks.md) | AAX-Spezialflow | Upload, Kapitelprüfung und Encode von Audiobooks |
|
||||
| [Settings](settings.md) | Konfiguration und Automatisierung | Pfade, Tools, Queue, Presets, Skripte, Cron |
|
||||
| [Historie](history.md) | Nachbearbeitung und Kontrolle | Logs, Re-Encode, TMDb-Neuzuordnung, Löschvorschau |
|
||||
| [Converter](converter.md) | dateibasierte Konvertierung | Video/Audio/ISO ohne Disc-Rip verarbeiten |
|
||||
| [Downloads](downloads.md) | ZIP-Exports | RAW/Output aus Historie bereitstellen |
|
||||
| [Database (Expert)](database.md) | Recovery-Sicht | orphan RAW finden und importieren |
|
||||
| [Downloads](downloads.md) | ZIP-Exports | RAW/Output aus der Historie bereitstellen |
|
||||
| [Database (Expert)](database.md) | Recovery-Sicht | orphan RAW finden, prüfen und importieren |
|
||||
| [TMDb Migration](tmdb-migration.md) | Sonderseite für Altbestände | alte Jobs gesammelt auf TMDb umstellen |
|
||||
|
||||
## Empfohlener Tagesablauf
|
||||
|
||||
1. `Ripper` oder `Converter`/`Audiobooks`: neue Arbeit starten.
|
||||
2. `Historie`: Ergebnisse validieren und ggf. nachbearbeiten.
|
||||
3. `Downloads`: Exporte für externe Übergabe erzeugen.
|
||||
4. `Settings`: Regeln und Limits nur kontrolliert anpassen.
|
||||
1. `Ripper`, `Converter` oder `Audiobooks`: neue Arbeit starten
|
||||
2. `Historie`: Ergebnisse kontrollieren und ggf. nachbearbeiten
|
||||
3. `Downloads`: Artefakte für externe Übergabe vorbereiten
|
||||
4. `Settings`: Regeln, Presets oder Limits nur kontrolliert anpassen
|
||||
5. `Hardware`: bei Lastspitzen oder Batch-Läufen den Verlauf prüfen
|
||||
|
||||
## Navigation
|
||||
|
||||
Direkt in der Top-Navigation:
|
||||
|
||||
- `Ripper`, `Converter`, `Audiobooks`, `Settings`, `Historie`, `Downloads`
|
||||
- `Ripper`
|
||||
- `Converter`
|
||||
- `Audiobooks`
|
||||
- `Settings`
|
||||
- `Historie`
|
||||
- `Downloads`
|
||||
|
||||
Nur per URL:
|
||||
Zusatzansichten:
|
||||
|
||||
- `Database` unter `/database` (nur Expertenmodus in der Navigation sichtbar)
|
||||
- `TMDb Migration` unter `/tmdb-migration` (Direktlink, nicht in der Navigation)
|
||||
- `Hardware` unter `/hardware`
|
||||
- `Database` unter `/database` und im Expertenmodus zusätzlich in der Navigation
|
||||
- `TMDb Migration` unter `/tmdb-migration` als Direktlink
|
||||
|
||||
+121
-71
@@ -1,68 +1,76 @@
|
||||
# Ripper
|
||||
|
||||
Die Seite `Ripper` ist die Live-Steuerung der Pipeline. Hier laufen Disc-Erkennung, Queue-Steuerung, Review und Encode-Start zusammen.
|
||||
Die Seite `Ripper` ist die Live-Steuerung der Disc-Pipeline. Hier laufen Disc-Erkennung, Queue, manuelle Entscheidungen, Review und aktive Jobs zusammen.
|
||||
|
||||
## Seitenaufbau und Betriebslogik
|
||||
## Seitenaufbau
|
||||
|
||||
Die Bereiche erscheinen in dieser Reihenfolge:
|
||||
Die wichtigsten Bereiche:
|
||||
|
||||
1. `Hardware Monitoring`
|
||||
1. `Hardware`
|
||||
2. `Job Queue`
|
||||
3. `Skript- / Cron-Status`
|
||||
4. `Job Übersicht`
|
||||
5. `Disk-Information`
|
||||
|
||||
## 1) Hardware Monitoring
|
||||
## 1. Hardware
|
||||
|
||||
Zeigt kontinuierlich:
|
||||
Die Hardware-Karte zeigt live:
|
||||
|
||||
- CPU / RAM
|
||||
- GPU (wenn verfügbar)
|
||||
- freie Speicherstände konfigurierter Pfade
|
||||
- CPU
|
||||
- RAM
|
||||
- GPU, falls vorhanden
|
||||
- freie Speicherstände der konfigurierten Pfade
|
||||
|
||||
Nutzen im Betrieb:
|
||||
Aktionen:
|
||||
|
||||
- Engpässe vor Jobfehlern erkennen
|
||||
- Pfadfüllstände vor Start großer Batchs prüfen
|
||||
- Klick auf das Hardware-Symbol öffnet die Seite [Hardware](hardware.md)
|
||||
|
||||
Gesteuert über `Settings`:
|
||||
Relevante Settings:
|
||||
|
||||
- `Hardware Monitoring aktiviert`
|
||||
- `Hardware Monitoring Intervall (ms)`
|
||||
- `Externe Speicher`
|
||||
|
||||
## 2) Job Queue
|
||||
## 2. Job Queue
|
||||
|
||||
Es gibt zwei operative Zonen:
|
||||
|
||||
- `Laufende Jobs`
|
||||
- `Warteschlange`
|
||||
- laufende Jobs
|
||||
- Warteschlange
|
||||
|
||||
Mögliche Queue-Einträge:
|
||||
|
||||
- Job-Startaktionen (`Start`, `Retry Rippen`, `RAW neu encodieren`, `Encode neu starten`, `Review neu berechnen`, `Audio CD starten`)
|
||||
- Nicht-Job-Einträge (`Skript`, `Skriptkette`, `Warten`)
|
||||
- normale Job-Starts
|
||||
- `Retry Rippen`
|
||||
- `RAW neu encodieren`
|
||||
- `Encode neu starten`
|
||||
- `Review neu starten`
|
||||
- `Audio CD starten`
|
||||
- `Skript`
|
||||
- `Skriptkette`
|
||||
- `Warten`
|
||||
|
||||
Wichtige Regeln:
|
||||
|
||||
- Queue-Reihenfolge ist per Drag-and-Drop änderbar.
|
||||
- `Warten` blockiert nachfolgende Queue-Starts bis kein aktiver Prozess mehr läuft.
|
||||
- `Skript` und `Skriptkette` werden als Queue-Einträge mitgeführt.
|
||||
- Reihenfolge ist per Drag-and-Drop änderbar
|
||||
- `Warten` blockiert nachfolgende Starts, bis keine aktive Verarbeitung mehr läuft
|
||||
- Queue-Einträge können auch ohne Medienjob existieren
|
||||
|
||||
Parallelität kommt aus `Settings`:
|
||||
Relevante Settings:
|
||||
|
||||
- `Max. parallele Film/Video Encodes`
|
||||
- `Parallele Jobs`
|
||||
- `Max. parallele Audio CD Jobs`
|
||||
- `Max. Encodes gesamt`
|
||||
- optional `Audio CDs: Queue-Reihenfolge überspringen`
|
||||
- `Max. Encodes gesamt (medienunabhängig)`
|
||||
- `Audio CDs: Queue-Reihenfolge überspringen`
|
||||
|
||||
## 3) Skript- / Cron-Status
|
||||
## 3. Skript- / Cron-Status
|
||||
|
||||
Zeigt Runtime-Aktivitäten:
|
||||
|
||||
- laufende Skripte
|
||||
- laufende Ketten
|
||||
- Cron-Ausführungen
|
||||
- letzte abgeschlossene Aktivitäten
|
||||
- kürzlich abgeschlossene Aktivitäten
|
||||
|
||||
Aktionen:
|
||||
|
||||
@@ -70,66 +78,103 @@ Aktionen:
|
||||
- `Abbrechen`
|
||||
- `Liste leeren`
|
||||
|
||||
## 4) Job Übersicht
|
||||
## 4. Job Übersicht
|
||||
|
||||
Die Jobliste ist der zentrale Arbeitsbereich. Ein Klick öffnet den jeweiligen `Pipeline-Status`.
|
||||
|
||||
### Badges und Kontext
|
||||
### Zustandsabhängige Hauptaktionen
|
||||
|
||||
Neben Status/Fortschritt zeigt die Liste je nach Job:
|
||||
|
||||
- Serienkontext (`Serien-Container`, Staffel/Disk)
|
||||
- Multipart-Kontext (`Multipart Movie`, Disc-Nr.)
|
||||
- Queue-/Subjob-Kontext bei Serien-Episoden
|
||||
|
||||
### Zustandsabhängige Aktionen
|
||||
|
||||
| Zustand | Hauptaktion im Ripper | Ergebnis |
|
||||
| Zustand | Typische Aktion | Ergebnis |
|
||||
|---|---|---|
|
||||
| `Medium erkannt`, `Bereit` | `Analyse starten` | startet MakeMKV-Analyse |
|
||||
| `Metadatenauswahl` | `Metadaten öffnen` | Film/Serie auswählen, Provider festlegen |
|
||||
| `Warte auf Auswahl` | Playlist/Titel/RAW-Entscheidung bestätigen | setzt Flow fort zur Prüfung |
|
||||
| `Startbereit` | `Job starten` | startet Rip oder RAW-basierte Prüfung |
|
||||
| `Bereit zum Encodieren` | `Encoding starten` | startet HandBrake mit bestätigter Auswahl |
|
||||
| Laufend (`Analyse`, `Rippen`, `Encodieren`) | `Abbrechen` | setzt Job auf `Abgebrochen` |
|
||||
| `Fehler`, `Abgebrochen` | `Retry Rippen` | neuer Rip-Anlauf |
|
||||
| `Medium erkannt` | `Analyse starten` | MakeMKV-Analyse beginnt |
|
||||
| `Metadatenauswahl` | `Metadaten öffnen` | TMDb-Dialog für Film/Serie |
|
||||
| `Warte auf Auswahl` | Entscheidung bestätigen | Flow geht an die passende Stelle weiter |
|
||||
| `Startbereit` | `Job starten` | Rip oder RAW-basierte Prüfung startet |
|
||||
| `Bereit zum Encodieren` | `Encoding starten` | HandBrake startet mit bestätigter Auswahl |
|
||||
| laufend | `Abbrechen` | Job wird gestoppt |
|
||||
| `Fehler` / `Abgebrochen` | `Retry Rippen` | neuer Rip-Anlauf |
|
||||
|
||||
Zusatzaktionen je nach Zustand und Jobtyp:
|
||||
### Was `Warte auf Auswahl` heute bedeuten kann
|
||||
|
||||
- `Review neu starten`
|
||||
- `Encode neu starten`
|
||||
- `RAW neu encodieren`
|
||||
- `Aus Queue löschen`
|
||||
Der Status ist nicht nur für eine einzige Entscheidung da. Im aktuellen Stand gibt es drei typische Fälle:
|
||||
|
||||
### Review-Bereich (`Bereit zum Encodieren`)
|
||||
#### Vorhandenes RAW
|
||||
|
||||
Hier wird die effektive Encode-Entscheidung festgelegt:
|
||||
Ripster hat zu den Metadaten bereits ein passendes RAW gefunden. Dann entscheidest du:
|
||||
|
||||
- Titelwahl
|
||||
- Audio-/Subtitle-Trackselektion
|
||||
- User-Preset
|
||||
- Pre-/Post-Encode-Skripte und Ketten
|
||||
- HandBrake-Kommandovorschau
|
||||
- mit RAW weiterarbeiten
|
||||
- RAW löschen und neu rippen
|
||||
- in passenden Film-Fällen optional Multipart mit Orphan-RAW bilden
|
||||
|
||||
Ohne Bestätigung dieses Blocks startet kein produktiver Encode.
|
||||
#### Playlist-Auswahl
|
||||
|
||||
### RAW-Ordnerphasen (sichtbar über Logs/Details)
|
||||
Bei mehrdeutigen Blu-rays oder bestimmten DVD-Fällen musst du eine Playlist bestätigen. Die Liste zeigt unter anderem:
|
||||
|
||||
- Playlist-Datei
|
||||
- Titel-ID
|
||||
- Laufzeit
|
||||
- Score
|
||||
- Empfehlung
|
||||
- Segment- und Audio-Vorschau
|
||||
|
||||
Relevante Settings:
|
||||
|
||||
- `Minimale Titellänge (Minuten)`
|
||||
- `TMDb Runtime-Abzug für Playlistfilter (%)`
|
||||
- `Bei manueller Auswahl senden` für PushOver
|
||||
|
||||
#### Titelauswahl / PlayAll-Grenzfall
|
||||
|
||||
Wenn Ripster mehrere HandBrake-Titel als plausibel erkannt hat, musst du einen oder mehrere Titel bestätigen. Bei Serien kann das der Grenzfall `PlayAll oder Doppelfolge?` sein.
|
||||
|
||||
## 5. Review-Bereich (`Bereit zum Encodieren`)
|
||||
|
||||
Hier triffst du die eigentliche Encode-Entscheidung.
|
||||
|
||||
Du legst fest:
|
||||
|
||||
- welchen Titel Ripster encodieren soll
|
||||
- welche Audio-Spuren übernommen werden
|
||||
- welche Untertitel übernommen, erzwungen oder eingebrannt werden
|
||||
- welches User-Preset oder HandBrake-Preset verwendet wird
|
||||
- welche Pre-/Post-Encode-Skripte oder Ketten mitlaufen
|
||||
|
||||
Wichtig:
|
||||
|
||||
- ohne diese Bestätigung startet kein produktiver Encode
|
||||
- bei Multipart-Locks können Einstellungen von einer Referenz-Disc übernommen und gesperrt sein
|
||||
|
||||
### Welche Settings hier direkt sichtbar werden
|
||||
|
||||
- `HandBrake Preset`
|
||||
- `HandBrake Extra Args`
|
||||
- `Review Audio-Sprachen (...)`
|
||||
- `Review UT-Sprachen (...)`
|
||||
- `Ausgabeformat`
|
||||
- Standard-Zuordnungen aus `Settings -> Encode-Presets`
|
||||
|
||||
## RAW-Ordnerphasen
|
||||
|
||||
Der Ripper arbeitet mit drei RAW-Zuständen:
|
||||
|
||||
- `Incomplete_...` während unvollständigem Rip
|
||||
- `Rip_Complete_...` nach erfolgreich abgeschlossenem Rip, vor Encode
|
||||
- `Incomplete_...` während eines unvollständigen Rips
|
||||
- `Rip_Complete_...` nach erfolgreichem Rip, vor dem finalen Encode
|
||||
- ohne Prefix nach erfolgreichem Encode
|
||||
|
||||
Das ist wichtig für Recovery und Delete-Vorschau.
|
||||
Das ist wichtig für:
|
||||
|
||||
## 5) Disk-Information
|
||||
- Recovery
|
||||
- RAW-Wiederverwendung
|
||||
- Delete-Preview in `Historie`
|
||||
|
||||
## Disk-Information
|
||||
|
||||
Zeigt aktuelle Laufwerksdaten:
|
||||
|
||||
- Device-Pfad
|
||||
- Modell
|
||||
- Disc-Label / Mount
|
||||
- Disc-Label
|
||||
- Mount-Informationen
|
||||
|
||||
Aktionen:
|
||||
|
||||
@@ -139,13 +184,13 @@ Aktionen:
|
||||
|
||||
Hinweis:
|
||||
|
||||
- `Laufwerk neu lesen` ist nicht mehr an einen festen Pipeline-State gebunden.
|
||||
- `Laufwerk neu lesen` ist nicht mehr an einen festen Pipeline-State gebunden
|
||||
|
||||
## Wichtige Dialoge
|
||||
|
||||
### Metadaten auswählen
|
||||
|
||||
Im Dialog werden Film-/Serienmetadaten bestätigt.
|
||||
Im Dialog bestätigst du Film- oder Serienmetadaten aus TMDb.
|
||||
|
||||
Sonderfälle:
|
||||
|
||||
@@ -154,7 +199,7 @@ Sonderfälle:
|
||||
|
||||
### Vorhandenes RAW erkannt
|
||||
|
||||
Wenn passendes RAW existiert, fordert der Dialog eine explizite Entscheidung:
|
||||
Wenn zu den Metadaten bereits RAW existiert, fordert Ripster eine explizite Entscheidung:
|
||||
|
||||
- vorhandenes RAW verwenden
|
||||
- RAW verwerfen/löschen und neu rippen
|
||||
@@ -169,9 +214,14 @@ Du kannst gezielt ab Position einfügen:
|
||||
|
||||
### Audible Activation Bytes eintragen
|
||||
|
||||
Wenn für eine AAX-Datei keine Activation Bytes automatisch ermittelt werden können,
|
||||
öffnet Ripster einen Dialog zur manuellen Eingabe.
|
||||
Wenn für eine AAX-Datei keine Activation Bytes verfügbar sind, öffnet Ripster einen Dialog zur manuellen Eingabe.
|
||||
|
||||
- Eingabeformat: genau 8 Hex-Zeichen (z.B. `1a2b3c4d`)
|
||||
- Format: genau 8 Hex-Zeichen, z. B. `1a2b3c4d`
|
||||
- Speicherung: lokal im Activation-Bytes-Cache
|
||||
- Wirkung: nach dem Speichern kann der Audiobook-Flow fortgesetzt werden
|
||||
- Wirkung: der Audiobook-Flow kann anschließend fortgesetzt werden
|
||||
|
||||
## Siehe auch
|
||||
|
||||
- [Hardware](hardware.md)
|
||||
- [Settings](settings.md)
|
||||
- [Workflows aus Nutzersicht](../workflows/index.md)
|
||||
|
||||
+189
-75
@@ -1,82 +1,198 @@
|
||||
# Settings
|
||||
|
||||
Die Seite `Settings` ist das zentrale Kontrollpanel für Laufzeitverhalten, Automatisierung und Expertenfunktionen.
|
||||
Die Seite `Settings` ist das Kontrollzentrum für Laufzeitverhalten, Standardwerte und Automatisierung. Alles, was spätere Jobs automatisch tun oder vorschlagen, wird hier vorbereitet.
|
||||
|
||||
## Tab-Überblick
|
||||
|
||||
| Tab | Zweck |
|
||||
|---|---|
|
||||
| `Konfiguration` | Alle fachlichen Settings (Pfade, Tools, Laufwerk, Metadaten, Monitoring, Benachrichtigungen, Converter) |
|
||||
| `Scripte` | Einzelne Bash-Skripte pflegen, testen und sortieren |
|
||||
| `Skriptketten` | Mehrstufige Sequenzen aus `Skript` und `Warten` bauen und testen |
|
||||
| `Encode-Presets` | Benutzer-Presets und Standard-Zuordnungen für Blu-ray/DVD-Workflows |
|
||||
| `Cronjobs` | Zeitgesteuerte Jobs auf Basis Skript/Skriptkette |
|
||||
| `Konfiguration` | alle fachlichen Einstellungen aus der GUI |
|
||||
| `Scripte` | einzelne Bash-Skripte anlegen, testen und sortieren |
|
||||
| `Skriptketten` | mehrstufige Abläufe aus Skript- und Warte-Schritten bauen |
|
||||
| `Encode-Presets` | eigene Video-Presets und Standard-Zuordnungen pflegen |
|
||||
| `Cronjobs` | zeitgesteuerte Ausführung von Skripten oder Ketten |
|
||||
|
||||
## Tab `Konfiguration`
|
||||
|
||||
### Bedienlogik
|
||||
|
||||
1. Felder ändern.
|
||||
2. `Änderungen speichern` klicken.
|
||||
3. Erst dann werden Änderungen persistiert und für neue Pipeline-Schritte wirksam.
|
||||
1. Felder ändern
|
||||
2. `Änderungen speichern` klicken
|
||||
3. erst dann gelten die neuen Werte für künftige Starts, Reviews oder Scheduler
|
||||
|
||||
Aktionen in der Toolbar:
|
||||
Ausnahmen:
|
||||
|
||||
- `Änderungen speichern`: schreibt nur geänderte Felder als Bulk-Update.
|
||||
- `Änderungen verwerfen`: setzt den Formularzustand auf zuletzt geladen/zum Server gespeicherten Stand zurück.
|
||||
- `Neu laden`: lädt Kategorien + Werte erneut vom Backend.
|
||||
- `PushOver Test`: sendet eine Testnachricht mit aktuellen PushOver-Werten.
|
||||
- `Coverarts prüfen`: startet die manuelle Coverart-Recovery.
|
||||
- `Expertenmodus`: wird sofort gespeichert (nicht Teil des normalen Bulk-Speicherns).
|
||||
- `Expertenmodus` wird sofort gespeichert
|
||||
- Buttons wie `PushOver Test`, `Coverarts prüfen` oder der MakeMKV-Betakey-Import lösen direkte Aktionen aus
|
||||
|
||||
### Wichtige UI-Verhalten
|
||||
### Toolbar-Aktionen
|
||||
|
||||
- Jede Einstellung zeigt `Gespeichert` oder `Ungespeichert` direkt am Feld.
|
||||
- Pflichtfelder sind mit `*` markiert.
|
||||
- Bei Validierungsfehlern wird pro Feld ein Fehlertext angezeigt und Speichern blockiert.
|
||||
- Tool-Kommandos (`makemkv_command`, `mediainfo_command`, `handbrake_command`, `ffmpeg_command`, `ffprobe_command`, `cdparanoia_command`, `mkvmerge_command`) sind im Formular schreibgeschützt markiert.
|
||||
- Einige Felder sind abhängig vom Expertenmodus sichtbar.
|
||||
- `Änderungen speichern`: schreibt nur geänderte Felder
|
||||
- `Änderungen verwerfen`: setzt den Formularzustand zurück
|
||||
- `Neu laden`: lädt Schema und Werte neu
|
||||
- `PushOver Test`: sendet eine Testnachricht mit den aktuellen PushOver-Werten
|
||||
- `Coverarts prüfen`: startet den Coverart-Recovery-Lauf sofort
|
||||
|
||||
### Was die Kategorien im Alltag steuern
|
||||
|
||||
#### Benachrichtigungen
|
||||
|
||||
Hier steuerst du zwei Dinge:
|
||||
|
||||
- ob und wohin Ripster PushOver-Nachrichten sendet
|
||||
- bei welchen Ereignissen Ripster überhaupt benachrichtigt
|
||||
|
||||
Wichtig:
|
||||
|
||||
- `PushOver aktiviert` ist der Master-Schalter
|
||||
- `Bei manueller Auswahl senden` ist besonders relevant für Playlist-, RAW- oder Titelentscheidungen
|
||||
- der `Expertenmodus` blendet zusätzliche technische Felder in der gesamten Settings-Seite ein
|
||||
|
||||
#### Laufwerk
|
||||
|
||||
Diese Kategorie beeinflusst, wie Ripster optische Laufwerke findet und überwacht.
|
||||
|
||||
Typische Fragen:
|
||||
|
||||
- Soll Ripster Laufwerke automatisch erkennen?
|
||||
- Soll ein bestimmtes Laufwerk fest an einen MakeMKV-Index gebunden werden?
|
||||
- Soll das Laufwerk nach erfolgreichem Rip automatisch auswerfen?
|
||||
|
||||
Das ist vor allem wichtig bei:
|
||||
|
||||
- mehreren Laufwerken
|
||||
- USB-SATA-Adaptern
|
||||
- Hosts mit instabilen Device-Namen
|
||||
|
||||
#### Logging
|
||||
|
||||
Diese Felder ändern nicht die Job-Logs auf Platte, sondern die Ausgabe im Server-Terminal.
|
||||
|
||||
Damit steuerst du zum Beispiel:
|
||||
|
||||
- ob `start.sh` oder ein Terminal-Run sehr gesprächig sein darf
|
||||
- ob HTTP-Requests im Terminal sichtbar sein sollen
|
||||
- ob DEBUG/INFO/WARN/ERROR dort mitlaufen
|
||||
|
||||
#### Metadaten
|
||||
|
||||
Hier legst du fest, wie Ripster mit TMDb, Covern und NFO-Dateien umgeht.
|
||||
|
||||
Besonders wichtig:
|
||||
|
||||
- ohne `TMDb Read Access Token` funktionieren Film-/Seriensuche und Neu-Zuordnung nur eingeschränkt oder gar nicht
|
||||
- `Film-Sprache` und `Fallback Sprache` bestimmen, welche Titel, Beschreibungen und Staffelinformationen bevorzugt werden
|
||||
- `Coverart-Nachladen aktiv` hilft bei nachträglich fehlenden Postern/Covern
|
||||
|
||||
#### Monitoring
|
||||
|
||||
Steuert das Hardware-Monitoring für:
|
||||
|
||||
- CPU
|
||||
- RAM
|
||||
- GPU
|
||||
- Speicherstände
|
||||
|
||||
Diese Werte erscheinen:
|
||||
|
||||
- kompakt im `Ripper`
|
||||
- ausführlich in der Seite `Hardware`
|
||||
|
||||
#### Pfade
|
||||
|
||||
Hier legst du fest, wohin Ripster schreibt und wie Dateien benannt werden.
|
||||
|
||||
Die Felder steuern:
|
||||
|
||||
- RAW-Verzeichnisse pro Medium
|
||||
- Zielordner für Filme, Serien, CDs, Audiobooks, Converter und Downloads
|
||||
- Eigentümer per `user:gruppe`
|
||||
- Templates für Datei- und Ordnernamen
|
||||
|
||||
Praxisbeispiele:
|
||||
|
||||
- Serien getrennt von Filmen ablegen
|
||||
- RAW auf große HDD, Final-Output auf NAS
|
||||
- Audiobooks kapitelweise in Unterordnern strukturieren
|
||||
|
||||
#### Converter
|
||||
|
||||
Diese Kategorie wirkt nur auf die Seite `Converter`.
|
||||
|
||||
Sie steuert:
|
||||
|
||||
- welche Dateiendungen der Upload und der Verzeichnisscan akzeptieren
|
||||
- ob der Converter-RAW-Baum automatisch neu gescannt wird
|
||||
- wie häufig dieses Polling läuft
|
||||
|
||||
#### Tools
|
||||
|
||||
Diese Kategorie entscheidet über das technische Verhalten der eigentlichen Pipeline.
|
||||
|
||||
Dazu gehören:
|
||||
|
||||
- Pfade/Befehle für externe Tools
|
||||
- MakeMKV-Filter und Rip-Modi
|
||||
- HandBrake-Presets und Extra-Args
|
||||
- Vorauswahl von Audio-/Untertitelsprachen in der Review
|
||||
- Ausgabeformate
|
||||
- Queue- und Parallelitätsregeln
|
||||
- Timeout für Script-Tests
|
||||
|
||||
Für die Nutzer-Workflows besonders relevant:
|
||||
|
||||
- `Minimale Titellänge (Minuten)`
|
||||
- `TMDb Runtime-Abzug für Playlistfilter (%)`
|
||||
- `HandBrake Preset` und `HandBrake Extra Args`
|
||||
- `Review Audio-Sprachen (...)`
|
||||
- `Review UT-Sprachen (...)`
|
||||
- `Parallele Jobs`
|
||||
- `Max. parallele Audio CD Jobs`
|
||||
- `Max. Encodes gesamt (medienunabhängig)`
|
||||
|
||||
### Kategorie `Pfade`: Besondere Interaktion
|
||||
|
||||
Die Pfad-Kategorie hat eine eigene Darstellung:
|
||||
|
||||
- Tabelle `Effektive Pfade`: zeigt die aktuell tatsächlich aufgelösten Laufzeitpfade inkl. Fallbacks.
|
||||
- Accordion je Bereich (`Blu-ray`, `DVD`, `CD / Audio`, `Audiobook`, `Converter`, `Downloads`, optional `Externe Speicher`, `Logs`).
|
||||
- Für Pfadfelder mit Owner-Pendant (`*_owner`) erscheint direkt darunter das Feld `Eigentümer (user:gruppe)`.
|
||||
- Owner-Felder sind deaktiviert, solange der zugehörige Pfad leer ist.
|
||||
- Tabelle `Effektive Pfade`: zeigt die aktuell wirklich verwendeten Laufzeitpfade inklusive Fallbacks
|
||||
- Accordion pro Bereich wie `Blu-ray`, `DVD`, `CD / Audio`, `Audiobook`, `Converter`, `Downloads`, `Logs`
|
||||
- Owner-Felder (`*_owner`) erscheinen direkt beim zugehörigen Pfad
|
||||
- Owner-Felder sind deaktiviert, solange der zugehörige Pfad leer ist
|
||||
|
||||
### Spezial-Editoren in der Konfiguration
|
||||
### Spezial-Editoren
|
||||
|
||||
- `drive_devices`: JSON-Array wird über UI-Editor gepflegt (Pfad + MakeMKV-Index je Laufwerk).
|
||||
- `external_storage_paths`: Liste aus `Name` + `Pfad` (für Anzeige freier externer Speicher).
|
||||
- `converter_scan_extensions`: Checkbox-Raster der erlaubten Endungen; mindestens eine Endung muss aktiv bleiben.
|
||||
- `makemkv_registration_key`: zusätzlicher Betakey-Hinweis mit `übernehmen`-Button.
|
||||
- `drive_devices`: Editor für mehrere Laufwerke mit Pfad und MakeMKV-Index
|
||||
- `external_storage_paths`: Liste aus Anzeigename und Pfad für die Speicheranzeige
|
||||
- `converter_scan_extensions`: Auswahl der erlaubten Upload-/Scan-Endungen
|
||||
- `makemkv_registration_key`: inkl. Betakey-Hinweis und Übernahme-Button
|
||||
|
||||
### Laufwerks-Infobox innerhalb `Laufwerk`
|
||||
### Wichtig für Reviews und Workflows
|
||||
|
||||
In der Kategorie `Laufwerk` wird eine Live-Tabelle erkannter optischer Laufwerke angezeigt:
|
||||
Die Seite `Settings` bestimmt direkt, was Nutzer später im Workflow sehen:
|
||||
|
||||
- `Neu einlesen` lädt Laufwerksinfos neu.
|
||||
- Im Expertenmodus: `Freigeben` pro Laufwerk und `Alle Laufwerke freigeben`.
|
||||
- Playlist-Kandidaten werden durch `Minimale Titellänge` und `TMDb Runtime-Abzug ...` beeinflusst
|
||||
- Audio-/Untertitel-Vorauswahlen in `Bereit zum Encodieren` hängen an den Review-Sprachfeldern
|
||||
- automatisch vorgeschlagene Presets hängen an den Standard-Zuordnungen unter `Encode-Presets`
|
||||
- Queue-Verhalten im `Ripper` hängt an den drei Parallelitätsfeldern plus `Audio CDs: Queue-Reihenfolge überspringen`
|
||||
|
||||
## Tab `Scripte`
|
||||
|
||||
Funktionen:
|
||||
|
||||
- Skript anlegen (Inline-Editor)
|
||||
- Skript bearbeiten (Dialog)
|
||||
- Skript löschen (mit Bestätigung)
|
||||
- Skript anlegen
|
||||
- Skript bearbeiten
|
||||
- Skript löschen
|
||||
- Skript testen
|
||||
- Reihenfolge per Drag-and-Drop ändern
|
||||
- Favorit markieren
|
||||
|
||||
Testergebnis enthält:
|
||||
Das Testergebnis zeigt:
|
||||
|
||||
- Erfolg/Fehler
|
||||
- Erfolg oder Fehler
|
||||
- Exit-Code
|
||||
- Timeout-Info
|
||||
- Dauer
|
||||
- stdout/stderr
|
||||
- Timeout, falls `Script-Test Timeout (ms)` greift
|
||||
|
||||
## Tab `Skriptketten`
|
||||
|
||||
@@ -87,81 +203,79 @@ Skriptketten bestehen aus Schritten:
|
||||
|
||||
Funktionen:
|
||||
|
||||
- Ketten anlegen/bearbeiten/löschen
|
||||
- Reihenfolge der Ketten per Drag-and-Drop
|
||||
- Kette testen
|
||||
- Schritte in der Kette per Drag-and-Drop neu anordnen
|
||||
- Ketten anlegen, bearbeiten, löschen
|
||||
- Reihenfolge der Ketten ändern
|
||||
- einzelne Ketten testen
|
||||
- Schritte innerhalb der Kette per Drag-and-Drop sortieren
|
||||
|
||||
Im Ketteneditor:
|
||||
Wichtig:
|
||||
|
||||
- linke Palette (`Systemblöcke`, `Scripte`)
|
||||
- rechte Canvas mit Drop-Zonen
|
||||
- pro Warte-Schritt konfigurierbare Sekunden
|
||||
- dieselben Skripte können sowohl in Jobs als auch in Ketten und Cronjobs wiederverwendet werden
|
||||
|
||||
## Tab `Encode-Presets`
|
||||
|
||||
Bereiche:
|
||||
|
||||
1. `Standard-Zuordnungen` (Slots)
|
||||
2. `Preset-Liste` (CRUD)
|
||||
Hier werden Video-Standards für Disc- und Converter-Workflows verwaltet.
|
||||
|
||||
### Standard-Zuordnungen
|
||||
|
||||
Es gibt vier persistente Slots:
|
||||
Es gibt vier feste Slots:
|
||||
|
||||
- `bluray_movie`
|
||||
- `bluray_series`
|
||||
- `dvd_movie`
|
||||
- `dvd_series`
|
||||
- `Blu-ray Film`
|
||||
- `Blu-ray Serie`
|
||||
- `DVD Film`
|
||||
- `DVD Serie`
|
||||
|
||||
Die Auswahl ist medientyp-kompatibel gefiltert. Nicht kompatible oder fehlende bereits gespeicherte IDs werden weiterhin sichtbar gemacht, damit bestehende Zuordnungen nachvollziehbar bleiben.
|
||||
Wenn für einen Workflow hier ein Default gesetzt ist, erscheint dieses User-Preset später in der Review bereits vorausgewählt.
|
||||
|
||||
### Preset-Inhalt
|
||||
|
||||
Ein Preset umfasst:
|
||||
Ein User-Preset besteht aus:
|
||||
|
||||
- Name
|
||||
- Medientyp (`all`, `bluray`, `dvd`)
|
||||
- HandBrake-Preset (`-Z`)
|
||||
- HandBrake-Preset
|
||||
- Extra Args
|
||||
- optionale Beschreibung
|
||||
- optionaler Beschreibung
|
||||
|
||||
## Tab `Cronjobs`
|
||||
|
||||
Funktionen:
|
||||
|
||||
- Cronjob erstellen/bearbeiten/löschen
|
||||
- Debounced Validierung des Cron-Ausdrucks
|
||||
- Cronjob anlegen, bearbeiten, löschen
|
||||
- Cron-Ausdruck live validieren
|
||||
- Quelle wählen: `Skript` oder `Skriptkette`
|
||||
- Aktiv- und PushOver-Toggle je Job
|
||||
- Aktiv- und PushOver-Status pro Job setzen
|
||||
- `Jetzt ausführen`
|
||||
- Lauf-Logs öffnen
|
||||
|
||||
Die Seite zeigt zusätzlich Live-Status laufender Cron-Aktivitäten (Runtime Activities).
|
||||
Die Runtime-Aktivitäten der laufenden Cronjobs werden zusätzlich live angezeigt.
|
||||
|
||||
## Expertenbereich: Activation Bytes Cache
|
||||
|
||||
Der Activation-Bytes-Block wird nur im Expertenmodus angezeigt und nur wenn Einträge vorhanden sind.
|
||||
Dieser Block wird nur im Expertenmodus angezeigt.
|
||||
|
||||
Er zeigt:
|
||||
Er zeigt lokal bekannte AAX-Activation-Bytes mit:
|
||||
|
||||
- AAX-Checksum
|
||||
- Prüfsumme
|
||||
- Activation Bytes
|
||||
- Speicherzeitpunkt
|
||||
|
||||
## Validierungshinweise für Template-Felder
|
||||
Das hilft bei Audiobook-Workflows, wenn dieselbe Datei oder derselbe Hash später erneut auftaucht.
|
||||
|
||||
## Validierung von Template-Feldern
|
||||
|
||||
Template-Felder akzeptieren nur:
|
||||
|
||||
- Buchstaben/Ziffern
|
||||
- Buchstaben und Ziffern
|
||||
- Leerzeichen
|
||||
- `_` und `-`
|
||||
- Platzhalter in `{...}` bzw. `${...}`
|
||||
- `/` für Ordnertrennung
|
||||
- Platzhalter in `{...}` oder `${...}`
|
||||
- `/` für Unterordner
|
||||
|
||||
Nicht erlaubt sind z. B. unvollständige geschweifte Klammern oder sonstige Sonderzeichen.
|
||||
Damit verhindert Ripster fehlerhafte Dateinamen schon beim Speichern.
|
||||
|
||||
## Siehe auch
|
||||
|
||||
- [Einstellungsreferenz](../configuration/settings-reference.md)
|
||||
- [Alle Einstellungen](../configuration/settings-reference.md)
|
||||
- [Ripper](ripper.md)
|
||||
- [Workflows aus Nutzersicht](../workflows/index.md)
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
# TMDb Migration
|
||||
|
||||
Die Seite `TMDb Migration` ist eine Sonderansicht für ältere Bestandsjobs, die noch nicht als auf TMDb migriert markiert sind.
|
||||
|
||||
## Zugriff
|
||||
|
||||
- Direktlink: `/tmdb-migration`
|
||||
- nicht in der normalen Top-Navigation verlinkt
|
||||
|
||||
## Wofür die Seite gedacht ist
|
||||
|
||||
Typische Einsatzfälle:
|
||||
|
||||
- Altbestand aus früheren Ständen bereinigen
|
||||
- mehrere Jobs nacheinander auf aktuelle TMDb-Metadaten umstellen
|
||||
- Historie konsistent auf den heutigen Metadaten-Workflow bringen
|
||||
|
||||
## Funktionsweise
|
||||
|
||||
Die Seite lädt offene Migrationskandidaten und zeigt:
|
||||
|
||||
- Job-ID
|
||||
- Titel
|
||||
- Jahr
|
||||
- Medium
|
||||
- aktuellen Status
|
||||
|
||||
Aktionen:
|
||||
|
||||
- `Liste neu laden`
|
||||
- `Start`
|
||||
- `Stop`
|
||||
|
||||
## Ablauf einer Sequenz
|
||||
|
||||
1. Jobliste laden
|
||||
2. `Start`
|
||||
3. der bekannte TMDb-Metadaten-Dialog öffnet sich für den ersten Job
|
||||
4. nach erfolgreicher Übernahme plant Ripster den nächsten Job mit Cooldown
|
||||
|
||||
Wichtig:
|
||||
|
||||
- zwischen zwei Jobs liegt bewusst eine Wartezeit von mindestens 10 Sekunden
|
||||
- damit wird die TMDb-API bei Serienmigrationen nicht unnötig belastet
|
||||
|
||||
## Relevante Settings
|
||||
|
||||
- `TMDb Read Access Token`
|
||||
- `Film-Sprache`
|
||||
- `Fallback Sprache`
|
||||
|
||||
Ohne diese Einstellungen ist die Migration nicht sinnvoll nutzbar.
|
||||
@@ -44,7 +44,8 @@ Dann muss eine Playlist bestätigt werden, bevor der Workflow weiterläuft.
|
||||
|
||||
| Feld in `Settings` | Wirkung |
|
||||
|---|---|
|
||||
| `Minimale Titellaenge (Minuten)` | Mindestlaufzeit für Kandidaten |
|
||||
| `Minimale Titellänge (Minuten)` | Mindestlaufzeit für Kandidaten aus MakeMKV/Playlist-Analyse |
|
||||
| `TMDb Runtime-Abzug für Playlistfilter (%)` | lockert bei Bedarf die untere Laufzeitgrenze relativ zur TMDb-Laufzeit, damit leicht kürzere Hauptfassungen Kandidaten bleiben |
|
||||
|
||||
Default ist aktuell `60` Minuten.
|
||||
|
||||
@@ -52,7 +53,14 @@ Default ist aktuell `60` Minuten.
|
||||
|
||||
## UI-Verhalten
|
||||
|
||||
Bei manueller Entscheidung zeigt das Ripper Kandidaten inkl. Score/Bewertung und markiert eine Empfehlung.
|
||||
Bei manueller Entscheidung zeigt der `Ripper` Kandidaten mit:
|
||||
|
||||
- Playlist-Datei
|
||||
- Titel-ID
|
||||
- Laufzeit
|
||||
- Score
|
||||
- Empfehlung
|
||||
- Segment- und Audio-Vorschau
|
||||
|
||||
Nach Bestätigung:
|
||||
|
||||
|
||||
+282
-123
@@ -1,207 +1,366 @@
|
||||
# Workflows aus Nutzersicht
|
||||
|
||||
Diese Seite beschreibt die produktiven Abläufe als Handbuch: welche Entscheidung an welcher Stelle fällt, welche Objekte dabei entstehen (Job, Container, Child-Job) und welche Dateien in welchen Ordnern landen.
|
||||
Diese Seite beschreibt die produktiven Abläufe aus Sicht der Benutzer: welche Entscheidung wann anfällt, welche Jobs oder Container entstehen und welche Settings den Ablauf sichtbar beeinflussen.
|
||||
|
||||
## Gemeinsame Grundlagen
|
||||
|
||||
### Statuskette im Normalfall
|
||||
### Typische Statuskette
|
||||
|
||||
`Medium erkannt` -> `Analyse` -> `Metadatenauswahl` -> `Startbereit` -> `Rippen` -> `Mediainfo-Pruefung` -> `Bereit zum Encodieren` -> `Encodieren` -> `Fertig`
|
||||
`Medium erkannt` -> `Analyse` -> `Metadatenauswahl` -> `Startbereit` -> `Rippen` -> `Mediainfo-Prüfung` -> `Bereit zum Encodieren` -> `Encodieren` -> `Fertig`
|
||||
|
||||
Abweichungen:
|
||||
Wichtige Abweichungen:
|
||||
|
||||
- bei Blu-ray/DVD mit nötiger Playlistwahl: `Mediainfo-Pruefung` -> `Warte auf Auswahl` -> zurück in `Mediainfo-Pruefung`
|
||||
- bei vorhandenem RAW: `Startbereit` springt direkt in Review/Prüfung ohne neuen Laufwerks-Rip
|
||||
- bei Fehler/Abbruch: `Fehler` oder `Abgebrochen` mit Wiederanlauf-Aktionen
|
||||
- bei vorhandenem RAW: Sprung direkt in RAW-Entscheidung oder Review
|
||||
- bei mehrdeutigen Blu-rays/DVDs: `Warte auf Auswahl` für Playlist- oder Titelauswahl
|
||||
- bei Fehler oder Abbruch: `Fehler` oder `Abgebrochen` mit Folgeaktionen
|
||||
- bei Audio-CDs und Audiobooks: eigener Spezialflow innerhalb derselben Gesamtpipeline
|
||||
|
||||
### Job- und Container-Typen
|
||||
### Welche Settings fast überall hineinspielen
|
||||
|
||||
| Typ | Zweck | Was enthält der Typ? |
|
||||
|---|---|---|
|
||||
| Normaler Disc-Job | Einzel-Film oder einzelne Disc | RAW-Pfad, Output-Pfad, Logs, Review |
|
||||
| `dvd_series_container` | logischer Serien-Container (pro Serie/Staffel) | Metadatenanker, aggregierter Status über Kinder |
|
||||
| `dvd_series_child` | einzelne Serien-Disc oder Serien-Episode-Job | eigentliche RAW-/Encode-Arbeit |
|
||||
| `multipart_movie_container` | logischer Multipart-Film-Container | Zusammenfassung für mehrere Film-Discs |
|
||||
| `multipart_movie_child` | einzelne Disc innerhalb Multipart-Film | Disc-spezifische RAW-/Encode-Daten |
|
||||
Die wichtigsten globalen Einflussfaktoren:
|
||||
|
||||
Wichtig:
|
||||
- `Parallele Jobs`
|
||||
- `Max. parallele Audio CD Jobs`
|
||||
- `Max. Encodes gesamt (medienunabhängig)`
|
||||
- `Audio CDs: Queue-Reihenfolge überspringen`
|
||||
- `PushOver`-Ereignisse
|
||||
- Pfade, Templates und Owner-Felder
|
||||
|
||||
- Container sind primär Ordnungs- und Statusobjekte.
|
||||
- Dateien (RAW/Output) hängen an den Child-Jobs.
|
||||
Für Disc-Video zusätzlich:
|
||||
|
||||
## Workflow A: Film (Blu-ray/DVD)
|
||||
- `Minimale Titellänge (Minuten)`
|
||||
- `TMDb Runtime-Abzug für Playlistfilter (%)`
|
||||
- `HandBrake Preset`
|
||||
- `HandBrake Extra Args`
|
||||
- `Review Audio-Sprachen (...)`
|
||||
- `Review UT-Sprachen (...)`
|
||||
- Standard-Zuordnungen aus `Settings -> Encode-Presets`
|
||||
|
||||
### 1) Disc analysieren und Film-Metadaten wählen
|
||||
## Workflow A: Film von Disc (Blu-ray / DVD)
|
||||
|
||||
1. Im `Ripper` `Analyse starten`.
|
||||
2. Im Metadaten-Dialog Film auswählen (OMDb bzw. manuelle Film-Metadaten).
|
||||
3. `Auswahl übernehmen`.
|
||||
### 1. Disc analysieren und TMDb-Metadaten wählen
|
||||
|
||||
1. Im `Ripper` `Analyse starten`
|
||||
2. im Metadaten-Dialog Film auswählen
|
||||
3. `Auswahl übernehmen`
|
||||
|
||||
Wirkung:
|
||||
|
||||
- der Job wird als Film-Workflow geführt
|
||||
- Film-Fingerprint für Duplikaterkennung wird gebildet (IMDb oder Titel/Jahr)
|
||||
- Film-Metadaten, Poster und Fingerprint werden gesetzt
|
||||
|
||||
### 2) Duplikatfall entscheiden
|
||||
Relevante Settings:
|
||||
|
||||
Wenn Film mit gleichem Fingerprint bereits existiert, gibt es zwei Wege:
|
||||
- `TMDb Read Access Token`
|
||||
- `Film-Sprache`
|
||||
- `Fallback Sprache`
|
||||
|
||||
1. `Übernahme erzwingen` (`allow_new`): neuer unabhängiger Film-Job
|
||||
2. `Multipart movie`: neuer Job wird mit bestehendem Job in einem Multipart-Container verknüpft
|
||||
### 2. Duplikatfall entscheiden
|
||||
|
||||
Wenn ein Film mit gleichem Fingerprint bereits existiert:
|
||||
|
||||
1. `Übernahme erzwingen`: neuer unabhängiger Film-Job
|
||||
2. `Multipart movie`: neuer Job wird mit bestehendem Film zu einem Multipart-Container verknüpft
|
||||
|
||||
Bei Multipart gilt:
|
||||
|
||||
- beide Discs brauchen unterschiedliche `Disc-Nummer`
|
||||
- gleiche Disc-Nummer blockiert den Vorgang (`MULTIPART_DISC_ALREADY_EXISTS`)
|
||||
- beide Discs brauchen unterschiedliche Disc-Nummern
|
||||
- gleiche Disc-Nummern blockieren den Vorgang
|
||||
|
||||
### 3) RAW-Verzeichnis entsteht
|
||||
### 3. RAW-Verzeichnis und RAW-Entscheidung
|
||||
|
||||
Ordnername basiert auf Metadaten plus Job-ID:
|
||||
Wenn noch kein passendes RAW vorhanden ist:
|
||||
|
||||
- `Incomplete_<Titel> (<Jahr>) - RAW - job-<id>`
|
||||
- Ripster legt ein neues RAW-Verzeichnis an
|
||||
|
||||
Zustandswechsel des RAW-Ordners:
|
||||
Wenn bereits ein passendes RAW gefunden wird:
|
||||
|
||||
- beim Start: `Incomplete_...`
|
||||
- nach erfolgreichem Rip: `Rip_Complete_...`
|
||||
- nach erfolgreichem Encode: Prefix wird entfernt (final)
|
||||
- der Job geht in `Warte auf Auswahl`
|
||||
- du entscheidest, ob das vorhandene RAW weiterverwendet oder neu gerippt wird
|
||||
|
||||
### 4) Review und Encode
|
||||
Relevante Settings:
|
||||
|
||||
In `Bereit zum Encodieren`:
|
||||
- `raw_dir_bluray`, `raw_dir_dvd`
|
||||
- `raw_dir_bluray_owner`, `raw_dir_dvd_owner`
|
||||
|
||||
- Titel wählen
|
||||
- Audio-/Subtitle-Spuren festlegen
|
||||
- optional User-Preset
|
||||
- optional Pre-/Post-Encode-Skripte oder Ketten
|
||||
### 4. Playlist- oder Titelauswahl
|
||||
|
||||
Beim Start:
|
||||
Bei bestimmten Discs ist nach der Metadatenphase eine manuelle Auswahl nötig:
|
||||
|
||||
- temporäre Ausgabe in `Incomplete_job-<id>/<Datei>.<ext>`
|
||||
- nach Erfolg Verschiebung in finalen Zielpfad aus Film-Template
|
||||
- Playlist-Auswahl
|
||||
- HandBrake-Titelauswahl
|
||||
- bei Serien-Grenzfällen PlayAll- oder Doppelfolgen-Entscheidung
|
||||
|
||||
## Workflow B: Serie (Blu-ray/DVD)
|
||||
Das ist der aktuelle `playlistflow`.
|
||||
|
||||
### 1) Serienmodus aktivieren
|
||||
Relevante Settings:
|
||||
|
||||
1. Disc analysieren.
|
||||
2. Im Metadaten-Dialog Serienmetadaten wählen (TMDb-basiert).
|
||||
3. `Disc-Nummer` setzen (Pflicht, ab 1).
|
||||
- `Minimale Titellänge (Minuten)`
|
||||
- `TMDb Runtime-Abzug für Playlistfilter (%)`
|
||||
- `Bei manueller Auswahl senden`
|
||||
|
||||
Praxis:
|
||||
|
||||
- zu hoher Mindestwert blendet legitime Alternativfassungen aus
|
||||
- ein kleiner Runtime-Abzug hilft bei Discs, deren Hauptfilm minimal unter der TMDb-Laufzeit liegt
|
||||
|
||||
### 5. Review und Encode
|
||||
|
||||
Im Zustand `Bereit zum Encodieren` entscheidest du:
|
||||
|
||||
- welcher Titel encodiert wird
|
||||
- welche Audio-Spuren übernommen werden
|
||||
- welche Untertitel übernommen, erzwungen oder eingebrannt werden
|
||||
- welches Preset gilt
|
||||
- welche Pre-/Post-Encode-Skripte oder Ketten mitlaufen
|
||||
|
||||
Relevante Settings:
|
||||
|
||||
- `HandBrake Preset`
|
||||
- `HandBrake Extra Args`
|
||||
- `Review Audio-Sprachen (Blu-ray Film)` oder `Review Audio-Sprachen (DVD Film)`
|
||||
- `Review UT-Sprachen (Blu-ray Film)` oder `Review UT-Sprachen (DVD Film)`
|
||||
- `Ausgabeformat`
|
||||
- Standard-Userpreset für Film unter `Settings -> Encode-Presets`
|
||||
|
||||
### 6. Finale Ausgabe
|
||||
|
||||
Finale Ausgabe:
|
||||
|
||||
- Zielordner: `movie_dir_bluray` oder `movie_dir_dvd`
|
||||
- Dateiname und Ordner: `output_template_bluray` oder `output_template_dvd`
|
||||
|
||||
Optional:
|
||||
|
||||
- `.nfo` direkt nach Encode
|
||||
|
||||
Relevante Settings:
|
||||
|
||||
- `movie_dir_bluray`, `movie_dir_dvd`
|
||||
- `movie_dir_bluray_owner`, `movie_dir_dvd_owner`
|
||||
- `output_template_bluray`, `output_template_dvd`
|
||||
- `generate_nfo_after_encode`
|
||||
|
||||
## Workflow B: Serie von Disc (Blu-ray / DVD)
|
||||
|
||||
### 1. Serienmodus festlegen
|
||||
|
||||
1. Disc analysieren
|
||||
2. im Metadaten-Dialog Serienmetadaten wählen
|
||||
3. `Disc-Nummer` setzen
|
||||
|
||||
Wirkung:
|
||||
|
||||
- Workflow-Kind wird `series`
|
||||
- Seriencontainer wird gesucht/angelegt
|
||||
- aktueller Job wird als `dvd_series_child` darunter geführt
|
||||
- Ripster arbeitet als Serien-Workflow
|
||||
- Seriencontainer wird gesucht oder angelegt
|
||||
- der Job wird als Child unter diesem Container geführt
|
||||
|
||||
### 2) Seriencontainer und Disc-Konflikte
|
||||
### 2. Serien-RAW und Staffelkontext
|
||||
|
||||
Beim Speichern wird geprüft:
|
||||
Für Serien bevorzugt Ripster eigene Serien-RAW-Verzeichnisse:
|
||||
|
||||
- existiert für Serie/Staffel bereits ein Container?
|
||||
- existiert in diesem Container bereits dieselbe `Disc-Nummer`?
|
||||
- `raw_dir_bluray_series`
|
||||
- `raw_dir_dvd_series`
|
||||
|
||||
Wenn ja, wird blockiert (`SERIES_DISC_ALREADY_EXISTS`).
|
||||
Falls leer:
|
||||
|
||||
### 3) Serien-RAW-Pfad
|
||||
- Fallback auf `raw_dir_bluray` bzw. `raw_dir_dvd`
|
||||
|
||||
Für Serien wird ein eigener RAW-Pfad bevorzugt:
|
||||
### 3. Episodenprüfung und Multi-Episode-Fälle
|
||||
|
||||
- Blu-ray: `raw_dir_bluray_series` (Fallback: `raw_dir_bluray`)
|
||||
- DVD: `raw_dir_dvd_series` (Fallback: `raw_dir_dvd`)
|
||||
In der Review werden Episoden oder Mehrfachfolgen aufgelöst.
|
||||
|
||||
RAW-Namensbasis enthält Staffel/Disc (`SxDy`) und wird ebenfalls mit den Prefix-Phasen geführt:
|
||||
Ausgabevarianten:
|
||||
|
||||
- `Incomplete_...` -> `Rip_Complete_...` -> final
|
||||
- Einzel-Episode
|
||||
- Multi-Episode-Datei
|
||||
|
||||
### 4) Serien-Review und Episoden-Ausgabe
|
||||
Relevante Settings:
|
||||
|
||||
Beim Review werden Episoden-/Titelzuordnungen genutzt. Je nach Auswahl:
|
||||
- `output_template_bluray_series_episode`
|
||||
- `output_template_bluray_series_multi_episode`
|
||||
- `output_template_dvd_series_episode`
|
||||
- `output_template_dvd_series_multi_episode`
|
||||
- `series_dir_bluray`
|
||||
- `series_dir_dvd`
|
||||
|
||||
- Einzel-Episode: Episode-Template
|
||||
- Multi-Episode-Titel: Multi-Episode-Template
|
||||
### 4. Playlistflow auch bei Serien
|
||||
|
||||
Ausgabepfad:
|
||||
Auch Serien können vor der Review in eine Playlist- oder Titelauswahl laufen.
|
||||
|
||||
- Root: `series_dir_*` (Fallback auf `movie_dir_*`)
|
||||
- Dateiname/Unterordner aus Serien-Template
|
||||
Zusätzlich wirken:
|
||||
|
||||
### 5) Multi-Episode-Disc als Batch
|
||||
|
||||
Wenn mehrere Episoden-Titel aus einer Disc encodiert werden:
|
||||
|
||||
- Ripster erzeugt Episode-Child-Jobs
|
||||
- der ursprüngliche Disc-Job dient als Batch-Anker
|
||||
- RAW-Finalisierung erfolgt erst, wenn alle Episode-Encodes abgeschlossen sind
|
||||
- `Review Audio-Sprachen (Blu-ray Serie)` / `Review Audio-Sprachen (DVD Serie)`
|
||||
- `Review UT-Sprachen (Blu-ray Serie)` / `Review UT-Sprachen (DVD Serie)`
|
||||
- Serien-Default-Presets unter `Settings -> Encode-Presets`
|
||||
|
||||
## Workflow C: Multipart-Film
|
||||
|
||||
### Wann dieser Flow gedacht ist
|
||||
### Wann der Flow gedacht ist
|
||||
|
||||
- gleicher Film auf mehreren Discs (z. B. Disc 1/Disc 2)
|
||||
- Zusammengehörigkeit soll in Historie und Detailansichten sichtbar sein
|
||||
- gleicher Film auf mehreren Discs
|
||||
- die Discs sollen in Historie und Detailansichten zusammengehören
|
||||
|
||||
### Ablauf
|
||||
|
||||
1. Film-Metadaten wählen.
|
||||
2. Duplikatdialog -> `Multipart movie`.
|
||||
3. Disc-Nummern für bestehenden und neuen Job festlegen.
|
||||
1. Film-Metadaten wählen
|
||||
2. Duplikatdialog `Multipart movie`
|
||||
3. Disc-Nummern für bestehenden und neuen Job festlegen
|
||||
|
||||
Wirkung:
|
||||
|
||||
- `multipart_movie_container` wird angelegt oder wiederverwendet
|
||||
- beteiligte Jobs werden `multipart_movie_child`
|
||||
- Container führt gemeinsame Metadaten, Kinder führen je Disc die eigentlichen Artefakte
|
||||
- die Discs werden als Child-Jobs darunter geführt
|
||||
- zusätzlich wird ein Merge-Job vorbereitet
|
||||
|
||||
## Workflow D: Vorhandenes RAW / RAW-Import
|
||||
Relevante Settings:
|
||||
|
||||
### Fall 1: RAW bereits vorhanden bei Metadatenübernahme
|
||||
- `mkvmerge_command`
|
||||
- Film-Output-Templates
|
||||
- Queue-Limits, falls mehrere Discs parallel weiterverarbeitet werden
|
||||
|
||||
Nach Metadaten-Übernahme erkennt Ripster passende RAW-Ordner und setzt den Job auf Entscheidungsstatus.
|
||||
## Workflow D: Audio-CD
|
||||
|
||||
Möglichkeiten:
|
||||
### 1. TOC lesen und Metadaten wählen
|
||||
|
||||
- vorhandenes RAW weiterverwenden (kein neuer Rip)
|
||||
- RAW löschen/ignorieren und neu rippen
|
||||
1. Audio-CD analysieren
|
||||
2. Tracks prüfen
|
||||
3. Metadaten aus MusicBrainz übernehmen oder manuell anpassen
|
||||
|
||||
### Fall 2: Orphan-RAW aus `/database`
|
||||
### 2. Trackauswahl und Format
|
||||
|
||||
1. In `Database` `RAW prüfen`.
|
||||
2. Bei orphan RAW `Job anlegen`.
|
||||
3. Job wird in Historie erzeugt und wie "Disk analysieren aus RAW" weiterverarbeitet.
|
||||
Vor dem Start legst du fest:
|
||||
|
||||
## Workflow E: Nachbearbeitung bestehender Jobs
|
||||
- welche Tracks übernommen werden
|
||||
- welches Ausgabeformat gilt
|
||||
- welche Formatoptionen genutzt werden
|
||||
- welche Pre-/Post-Encode-Skripte oder Ketten mitlaufen
|
||||
|
||||
In `Historie` (Detaildialog):
|
||||
### 3. Rip und Encode
|
||||
|
||||
| Aktion | Wirkung |
|
||||
|---|---|
|
||||
| `OMDb neu zuordnen` | Metadaten neu schreiben, Folder-Rename wird best effort angestoßen |
|
||||
| `Review neu starten` | Titel-/Spurprüfung aus aktuellem RAW neu aufbauen |
|
||||
| `RAW neu encodieren` | Encode erneut aus vorhandenem RAW starten |
|
||||
| `Encode neu starten` | letzte bestätigte Review-Einstellungen wiederverwenden |
|
||||
| `Retry Rippen` | Rip/Analyse neu starten; alter Job-RAW kann bereinigt werden |
|
||||
Die CD läuft anschließend als Track-für-Track-Flow:
|
||||
|
||||
## Wo landet was? (Artefakt-Matrix)
|
||||
`CD-Metadatenauswahl` -> `CD-Startbereit` -> `CD-Rippen` -> `CD-Encodieren` -> `Fertig`
|
||||
|
||||
| Artefakt | Film | Serie | Multipart |
|
||||
|---|---|---|---|
|
||||
| RAW | `raw_dir_*` | bevorzugt `raw_dir_*_series` | pro Child-Job im normalen Film-RAW-Schema |
|
||||
| Finale Ausgabe | `movie_dir_*` + Film-Template | `series_dir_*` (Fallback `movie_dir_*`) + Serien-Templates | pro Child-Job normaler Film-Output |
|
||||
| Container-Datensatz | nein | ja (`dvd_series_container`) | ja (`multipart_movie_container`) |
|
||||
| Löschvorschau in Historie | einzelner Job oder Related Scope | Container-/Child-bezogen mit Pfadauswahl | Container-/Child-bezogen mit Pfadauswahl |
|
||||
Relevante Settings:
|
||||
|
||||
## Queue-Verhalten im Alltag
|
||||
|
||||
Die Startfreigabe hängt an vier Settings:
|
||||
|
||||
- `Max. parallele Film/Video Encodes`
|
||||
- `raw_dir_cd`
|
||||
- `movie_dir_cd`
|
||||
- `raw_dir_cd_owner`
|
||||
- `movie_dir_cd_owner`
|
||||
- `cd_output_template`
|
||||
- `cdparanoia_command`
|
||||
- `Max. parallele Audio CD Jobs`
|
||||
- `Max. Encodes gesamt`
|
||||
- `Audio CDs: Queue-Reihenfolge überspringen`
|
||||
|
||||
Praxis:
|
||||
## Workflow E: Converter
|
||||
|
||||
- Film/Video- und Audio/CD laufen in getrennten Lanes
|
||||
- Gesamtlimit begrenzt beide gemeinsam
|
||||
- Queue kann neben Jobs auch `Skript`, `Kette`, `Warten` enthalten
|
||||
### 1. Dateien bereitstellen
|
||||
|
||||
Dateien gelangen in den Converter über:
|
||||
|
||||
- Upload
|
||||
- bestehende Ordner im `converter_raw_dir`
|
||||
- manuelle Dateiverwaltung im Explorer
|
||||
|
||||
### 2. Jobs aus Auswahl erzeugen
|
||||
|
||||
- Video und ISO: immer ein Job pro Datei
|
||||
- Audio: ein Job pro Datei oder gemeinsamer Audio-Job
|
||||
|
||||
### 3. Job konfigurieren und starten
|
||||
|
||||
Je nach Medium:
|
||||
|
||||
- Video/ISO: Review mit Track- und Preset-Auswahl
|
||||
- Audio: direkte Format- und Zielkonfiguration
|
||||
|
||||
Relevante Settings:
|
||||
|
||||
- `converter_scan_extensions`
|
||||
- `converter_polling_enabled`
|
||||
- `converter_polling_interval`
|
||||
- `converter_raw_dir`
|
||||
- `converter_movie_dir`
|
||||
- `converter_audio_dir`
|
||||
- `converter_output_template_video`
|
||||
- `converter_output_template_audio`
|
||||
- globale Queue-Limits
|
||||
|
||||
## Workflow F: Audiobooks
|
||||
|
||||
### 1. AAX hochladen
|
||||
|
||||
1. Datei hochladen
|
||||
2. Metadaten und Kapitel aufbauen lassen
|
||||
3. bei Bedarf Activation Bytes klären
|
||||
|
||||
### 2. Ausgabeformat wählen
|
||||
|
||||
- `m4b`: eine Datei
|
||||
- `mp3`: eine Datei pro Kapitel
|
||||
- `flac`: eine Datei pro Kapitel
|
||||
|
||||
### 3. Kapitel und Skripte prüfen
|
||||
|
||||
Vor dem Start anpassbar:
|
||||
|
||||
- Kapitelnamen
|
||||
- Pre-Encode-Skripte und -Ketten
|
||||
- Post-Encode-Skripte und -Ketten
|
||||
|
||||
Relevante Settings:
|
||||
|
||||
- `raw_dir_audiobook`
|
||||
- `movie_dir_audiobook`
|
||||
- `audiobook_raw_template`
|
||||
- `output_template_audiobook`
|
||||
- `output_chapter_template_audiobook`
|
||||
- `ffprobe_command`
|
||||
- `ffmpeg_command`
|
||||
- globale Queue-Limits
|
||||
|
||||
## Workflow G: Nachbearbeitung in der Historie
|
||||
|
||||
Typische Folgeaktionen:
|
||||
|
||||
- `TMDb neu zuweisen`
|
||||
- `Review neu starten`
|
||||
- `RAW neu encodieren`
|
||||
- `Encode neu starten`
|
||||
- `Retry Rippen`
|
||||
- `Download` als ZIP einreihen
|
||||
|
||||
Besonders wichtig:
|
||||
|
||||
- `Encode neu starten` verwendet den letzten bestätigten Plan
|
||||
- `handbrake_restart_delete_incomplete_output` entscheidet, ob unvollständige Ausgaben vorher gelöscht werden
|
||||
|
||||
## Workflow H: Downloads und Recovery
|
||||
|
||||
### Downloads
|
||||
|
||||
Aus `Historie` können ZIPs für:
|
||||
|
||||
- `RAW`
|
||||
- `Output`
|
||||
|
||||
erstellt werden.
|
||||
|
||||
Relevante Settings:
|
||||
|
||||
- `download_dir`
|
||||
- `download_dir_owner`
|
||||
|
||||
### Database (Expert)
|
||||
|
||||
Die Recovery-Seite hilft bei orphan RAW:
|
||||
|
||||
- `RAW prüfen`
|
||||
- `Job anlegen`
|
||||
|
||||
So lassen sich vorhandene RAW-Verzeichnisse wieder in einen normalen Workflow zurückführen.
|
||||
|
||||
### TMDb Migration
|
||||
|
||||
Für ältere Bestandsjobs gibt es die Sonderseite `/tmdb-migration`, um mehrere Jobs nacheinander auf den heutigen TMDb-Stand zu bringen.
|
||||
|
||||
Reference in New Issue
Block a user