0.14.0-4 Docs
Deploy Docs to GitHub Pages / Build Documentation (push) Has been cancelled
Deploy Docs to GitHub Pages / Deploy to GitHub Pages (push) Has been cancelled

This commit is contained in:
2026-04-21 14:52:30 +00:00
parent c27a81cdb1
commit ccd6c3ab2a
29 changed files with 999 additions and 691 deletions
+209 -152
View File
@@ -1,181 +1,238 @@
# Einstellungsreferenz
Diese Seite listet die Felder so, wie sie in der GUI unter `Settings` angezeigt werden.
Diese Seite dokumentiert **alle** UI-Settings mit ihrer Wirkung auf Flows, Pfade, Queue und Automatisierung.
Hinweis: Interne Schlüsselnamen werden hier bewusst nicht verwendet. Falls du sie für Integrationen brauchst, nutze die API-Dokumentation.
## Wie Ripster Settings auflöst
---
Ripster arbeitet intern mit profilspezifischen Settings (`bluray`, `dvd`, `cd`, `audiobook`) und bildet sie auf effektive Laufzeitwerte ab.
## Profil-System
Wichtige Regeln:
Viele Felder sind pro Medientyp getrennt vorhanden:
1. Für `bluray` wird bei fehlenden profilierten Toolwerten auf `dvd` zurückgefallen, und umgekehrt.
2. Für `cd` und `audiobook` gibt es nur das eigene Profil.
3. Strikt profilgebundene Pfadkeys (`raw_dir`, `movie_dir`, `series_dir` plus Owner) fallen bei leeren Werten auf Installationsdefaults zurück.
- Blu-ray
- DVD
- Sonstiges
- Audiobook (neu ab v0.12.0)
Installationsdefaults:
---
- RAW: `data/output/raw`
- Movies: `data/output/movies`
- Series: `data/output/series`
- CD: `data/output/cd`
- Audiobook RAW: `data/output/audiobook-raw`
- Audiobook Output: `data/output/audiobooks`
- Converter RAW: `data/output/converter-raw`
- Converter Video: `data/output/converted-movies`
- Converter Audio: `data/output/converted-audio`
## Kritische Wirkungsbereiche
### 1) Pfad- und Template-Einstellungen
Diese Settings bestimmen direkt:
- wo RAW landet
- wo finale Ausgaben landen
- wie Ordner/Dateinamen gerendert werden
Relevante Besonderheiten:
- Serien-RAW nutzt bei Serienworkflow bevorzugt `raw_dir_*_series`.
- Serien-Ausgabe nutzt `series_dir_*` und Serien-Templates (Episode/Multi-Episode).
- Film-Ausgabe nutzt `movie_dir_*` und Film-Template.
- Encode schreibt zunächst in `Incomplete_job-<id>` und finalisiert danach in den Zielpfad.
### 2) Queue- und Parallelitäts-Settings
Die vier Limits greifen kombiniert:
- `pipeline_max_parallel_jobs` (Film/Video-Lane)
- `pipeline_max_parallel_cd_encodes` (Audio/CD-Lane)
- `pipeline_max_total_encodes` (globaler Deckel)
- `pipeline_cd_bypasses_queue` (Audio-Lane darf Filmwarteschlange umgehen)
Effekt:
- Film und Audio haben getrennte Lane-Limits.
- Das Gesamtlimit überstimmt beide, sobald erreicht.
- Queue kann zusätzlich Nicht-Job-Einträge (`Skript`, `Kette`, `Warten`) enthalten.
### 3) Serien-Metadaten-Settings
Diese steuern die Serienqualität direkt:
- TMDb-Token aktiviert TMDb-gestützte Serienmetadaten.
- Sprache/Fallback-Sprachen beeinflussen Titel- und Episodenauflösung.
- Ordnungspräferenz steuert Episode-Order.
- Disc-Profile-Reuse verbessert automatische Zuordnung über mehrere Discs.
### 4) Tool-Settings
Toolfelder (`makemkv_*`, `mediainfo_*`, `handbrake_*`, `ffmpeg_*`, `ffprobe_*`, `cdparanoia_*`) wirken unmittelbar auf die tatsächlich ausgeführten CLI-Aufrufe.
Typische Auswirkungen:
- falscher Toolpfad => früher Pipelinefehler
- geänderte Extra-Args => anderes Analyze-/Encode-Verhalten
- geänderte Presets => andere HandBrake-Ausgaben
## Template-Platzhalter
### Video-Templates
- `${title}` — Titel
- `${year}` — Erscheinungsjahr
- `${imdbId}` — IMDb-ID
### Film-Templates
- `${title}`, `${year}`, `${imdbId}`
### Serien-Templates
- `{seriesTitle}`, `{seasonNr}`, `{episodeNr}`, `{episodeNoStart}`, `{episodeNoEnd}`
- `{episodeRange}`, `{episodeTitle}`, `{parts}`, `{discNr}`, `{year}`, `{language}`
- führende Null möglich mit `{0:seasonNr}` etc.
### Audiobook-Templates
- `{author}` — Autor
- `{title}` — Titel
- `{year}` — Erscheinungsjahr
- `{narrator}` — Sprecher
- `{series}` — Buchreihe
- `{part}` — Teil-Nummer
- `{format}` — Ausgabeformat
### Converter-Templates (Video)
- `{title}`, `{year}`
- `{author}`, `{title}`, `{year}`, `{narrator}`, `{series}`, `{part}`, `{format}`
### Converter-Templates (Audio)
- `{artist}`, `{title}`, `{album}`, `{year}`, `{trackNr}`
### Converter-Templates
Nicht gesetzte Werte werden zu `unknown`.
- Video: `{title}`, `{year}`
- Audio: `{artist}`, `{title}`, `{album}`, `{year}`, `{trackNr}`
---
## Vollständige Feldliste
## Kategorie: Pfade
## Kategorie: Benachrichtigungen
| Feldname in der GUI | Typ | Default |
|---|---|---|
| `Raw Ausgabeordner` | path | `data/output/raw` |
| `Raw Ausgabeordner (Blu-ray)` | path | `null` |
| `Raw Ausgabeordner (DVD)` | path | `null` |
| `Raw Ausgabeordner (Sonstiges)` | path | `null` |
| `Eigentümer Raw-Ordner (Blu-ray)` | string | `null` |
| `Eigentümer Raw-Ordner (DVD)` | string | `null` |
| `Eigentümer Raw-Ordner (Sonstiges)` | string | `null` |
| `Film Ausgabeordner` | path | `data/output/movies` |
| `Film Ausgabeordner (Blu-ray)` | path | `null` |
| `Film Ausgabeordner (DVD)` | path | `null` |
| `Film Ausgabeordner (Sonstiges)` | path | `null` |
| `Eigentümer Film-Ordner (Blu-ray)` | string | `null` |
| `Eigentümer Film-Ordner (DVD)` | string | `null` |
| `Eigentümer Film-Ordner (Sonstiges)` | string | `null` |
| `Log Ordner` | path | `data/logs` |
| `Audiobook RAW-Ordner` | path | `null` |
| `Eigentümer Audiobook RAW-Ordner` | string | `null` |
| `Audiobook Output-Ordner` | path | `null` |
| `Eigentümer Audiobook Output-Ordner` | string | `null` |
| `Output Template (Audiobook)` | string | `{author}/{author} - {title} ({year})` |
| `Audiobook RAW Template` | string | `{author} - {title} ({year})` |
| `Converter Raw-Ordner` | path | `null` |
| `Converter Ausgabe (Video)` | path | `null` |
| `Converter Ausgabe (Audio)` | path | `null` |
| `Output-Template (Video)` | string | `{title}` |
| `Output-Template (Audio)` | string | `{artist} - {title}` |
---
## Kategorie: Laufwerk
| Feldname in der GUI | Typ | Default | Hinweis |
|---|---|---|---|
| `Laufwerksmodus` | select | `auto` | `Auto Discovery` oder `Explizites Device` |
| `Device Pfad` | path | `/dev/sr0` | relevant bei `Explizites Device` |
| `MakeMKV Source Index` | number | `0` | Disc-Index im Auto-Modus |
| `Disc Auto-Erkennung aktiviert` | boolean | `true` | Automatische Disc-Erkennung per Polling |
| `Polling Intervall (ms)` | number | `4000` | 1000..60000 |
---
## Kategorie: Monitoring
| Feldname in der GUI | Typ | Default |
|---|---|---|
| `Hardware Monitoring aktiviert` | boolean | `true` |
| `Hardware Monitoring Intervall (ms)` | number | `5000` |
---
## Kategorie: Tools (global)
| Feldname in der GUI | Typ | Default |
|---|---|---|
| `MakeMKV Kommando` | string | `makemkvcon` |
| `MakeMKV Key` | string | `null` |
| `Mediainfo Kommando` | string | `mediainfo` |
| `Minimale Titellaenge (Minuten)` | number | `60` |
| `HandBrake Kommando` | string | `HandBrakeCLI` |
| `FFmpeg Kommando` | string | `ffmpeg` |
| `FFprobe Kommando` | string | `ffprobe` |
| `Encode-Neustart: unvollständige Ausgabe löschen` | boolean | `true` |
| `Parallele Jobs` | number | `1` |
### Blu-ray-spezifisch
| Feldname in der GUI | Typ | Default |
|---|---|---|
| `Mediainfo Extra Args` (Blu-ray) | string | `null` |
| `MakeMKV Rip Modus` (Blu-ray) | select | `backup` |
| `MakeMKV Analyze Extra Args` (Blu-ray) | string | `null` |
| `MakeMKV Rip Extra Args` (Blu-ray) | string | `null` |
| `HandBrake Preset` (Blu-ray) | string | `H.264 MKV 1080p30` |
| `HandBrake Extra Args` (Blu-ray) | string | `null` |
| `Ausgabeformat` (Blu-ray) | select | `mkv` |
| `Dateiname Template` (Blu-ray) | string | `${title} (${year})` |
| `Ordnername Template` (Blu-ray) | string | `null` |
### DVD-spezifisch
| Feldname in der GUI | Typ | Default |
|---|---|---|
| `Mediainfo Extra Args` (DVD) | string | `null` |
| `MakeMKV Rip Modus` (DVD) | select | `mkv` |
| `MakeMKV Analyze Extra Args` (DVD) | string | `null` |
| `MakeMKV Rip Extra Args` (DVD) | string | `null` |
| `HandBrake Preset` (DVD) | string | `H.264 MKV 480p30` |
| `HandBrake Extra Args` (DVD) | string | `null` |
| `Ausgabeformat` (DVD) | select | `mkv` |
| `Dateiname Template` (DVD) | string | `${title} (${year})` |
| `Ordnername Template` (DVD) | string | `null` |
---
| GUI-Feld | Key | Typ | Default | Wirkung im System |
|---|---|---|---|---|
| `Expertenmodus` | `ui_expert_mode` | `boolean` | `false` | Schaltet erweiterte Einstellungen in der UI ein. |
| `PushOver aktiviert` | `pushover_enabled` | `boolean` | `false` | Master-Schalter für PushOver Versand. |
| `PushOver Token` | `pushover_token` | `string` | `leer` | Application Token für PushOver. |
| `PushOver User` | `pushover_user` | `string` | `leer` | User-Key für PushOver. |
| `PushOver Device (optional)` | `pushover_device` | `string` | `leer` | Optionales Ziel-Device in PushOver. |
| `PushOver Titel-Präfix` | `pushover_title_prefix` | `string` | `Ripster` | Prefix im PushOver Titel. |
| `PushOver Priority` | `pushover_priority` | `number` | `0` | Priorität -2 bis 2. |
| `PushOver Timeout (ms)` | `pushover_timeout_ms` | `number` | `7000` | HTTP Timeout für PushOver Requests. |
| `Bei Metadaten-Auswahl senden` | `pushover_notify_metadata_ready` | `boolean` | `true` | Sendet wenn Metadaten zur Auswahl bereitstehen. |
| `Bei Rip-Start senden` | `pushover_notify_rip_started` | `boolean` | `true` | Sendet beim Start des MakeMKV-Rips. |
| `Bei Encode-Start senden` | `pushover_notify_encoding_started` | `boolean` | `true` | Sendet beim Start von HandBrake. |
| `Bei Erfolg senden` | `pushover_notify_job_finished` | `boolean` | `true` | Sendet bei erfolgreich abgeschlossenem Job. |
| `Bei Fehler senden` | `pushover_notify_job_error` | `boolean` | `true` | Sendet bei Fehlern in der Pipeline. |
| `Bei Abbruch senden` | `pushover_notify_job_cancelled` | `boolean` | `true` | Sendet wenn Job manuell abgebrochen wurde. |
| `Bei Re-Encode Start senden` | `pushover_notify_reencode_started` | `boolean` | `true` | Sendet beim Start von RAW Re-Encode. |
| `Bei Re-Encode Erfolg senden` | `pushover_notify_reencode_finished` | `boolean` | `true` | Sendet bei erfolgreichem RAW Re-Encode. |
## Kategorie: Converter
| Feldname in der GUI | Typ | Default | Hinweis |
|---|---|---|---|
| `Erlaubte Datei-Endungen*` | string | `mkv,mp4,m2ts,iso,avi,mov,flac,mp3,wav,m4a,ogg,opus` | In der UI als Checkbox-Liste, ohne Punkt |
| `Auto-Scan (Polling)` | boolean | `false` | Converter-Ordner automatisch scannen |
| `Polling-Intervall (Sekunden)` | number | `300` | 30..86400 |
| GUI-Feld | Key | Typ | Default | Wirkung im System |
|---|---|---|---|---|
| `Erlaubte Datei-Endungen*` | `converter_scan_extensions` | `string` | `mkv,mp4,m2ts,iso,avi,mov,flac,mp3,wav,m4a,ogg,opus` | Erlaubte Datei-Endungen für den Converter-Scan (ohne Punkt). Wird in der UI als Checkbox-Liste gepflegt. |
| `Auto-Scan (Polling)` | `converter_polling_enabled` | `boolean` | `false` | Converter Raw-Ordner automatisch in regelmäßigen Abständen scannen. |
| `Polling-Intervall (Sekunden)` | `converter_polling_interval` | `number` | `300` | Intervall für automatischen Scan des Converter-Ordners. |
---
## Kategorie: Laufwerk
| GUI-Feld | Key | Typ | Default | Wirkung im System |
|---|---|---|---|---|
| `Laufwerksmodus` | `drive_mode` | `select` | `auto` | Auto-Discovery oder explizites Device. |
| `Device Pfad` | `drive_device` | `path` | `/dev/sr0` | Nur für expliziten Modus, z.B. /dev/sr0. |
| `MakeMKV Source Index` | `makemkv_source_index` | `number` | `0` | Disc Index im Auto-Modus. |
| `Automatische Disk-Erkennung` | `disc_auto_detection_enabled` | `boolean` | `true` | Wenn deaktiviert, findet keine automatische Laufwerksprüfung statt. Neue Disks werden nur per "Laufwerk neu lesen" erkannt. |
| `Polling Intervall (ms)` | `disc_poll_interval_ms` | `number` | `4000` | Intervall für Disk-Erkennung. |
## Kategorie: Metadaten
| Feldname in der GUI | Typ | Default |
|---|---|---|
| `OMDb API Key` | string | `null` |
| `OMDb Typ` | select | `movie` |
| GUI-Feld | Key | Typ | Default | Wirkung im System |
|---|---|---|---|---|
| `OMDb API Key` | `omdb_api_key` | `string` | `leer` | API Key für Metadatensuche. |
| `TMDb Read Access Token` | `tmdb_api_read_access_token` | `string` | `leer` | Read Access Token für Serien-Metadaten über TheMovieDB (TMDb). |
| `DVD Serien-Sprache` | `dvd_series_language` | `string` | `de-DE` | Bevorzugte Sprache für Serien-Metadaten im TMDb-Format, z.B. de-DE oder en-US. |
| `DVD Serien-Fallback-Sprachen` | `dvd_series_fallback_languages` | `string` | `de-DE,en-US` | Kommagetrennte TMDb-Sprachen für Fallback-Titel, z.B. de-DE,en-US,fr-FR. |
| `DVD Serien-Ordnung` | `dvd_series_order_preference` | `select` | `episode_group` | Bevorzugte Episodenordnung für DVD-Serien. Episode Groups nutzen TMDb Alternate Orders, falls vorhanden. |
| `DVD Disc-Profile wiederverwenden` | `dvd_series_reuse_disc_profiles` | `boolean` | `true` | Verwendet zuvor bestätigte Disc-Profile erneut, um Episoden automatischer zuzuordnen. |
| `OMDb Typ` | `omdb_default_type` | `select` | `movie` | Vorauswahl für Suche. |
| `MusicBrainz aktiviert` | `musicbrainz_enabled` | `boolean` | `true` | MusicBrainz-Metadatensuche für CDs aktivieren. |
| `Coverart-Nachladen aktiv` | `coverart_recovery_enabled` | `boolean` | `true` | Wenn aktiv, werden fehlende Coverarts automatisch in Intervallen geprüft und nachgeladen. |
| `Coverart-Prüfintervall (Stunden)` | `coverart_recovery_interval_hours` | `number` | `6` | Intervall für automatische Prüfung fehlender Coverarts in Stunden. |
---
## Kategorie: Monitoring
## Kategorie: Benachrichtigungen (PushOver)
| GUI-Feld | Key | Typ | Default | Wirkung im System |
|---|---|---|---|---|
| `Hardware Monitoring aktiviert` | `hardware_monitoring_enabled` | `boolean` | `true` | Master-Schalter: aktiviert/deaktiviert das komplette Hardware-Monitoring (Polling + Berechnung + WebSocket-Updates). |
| `Hardware Monitoring Intervall (ms)` | `hardware_monitoring_interval_ms` | `number` | `5000` | Polling-Intervall für CPU/RAM/GPU/Storage-Metriken. |
| Feldname in der GUI | Typ | Default |
|---|---|---|
| `PushOver aktiviert` | boolean | `false` |
| `PushOver Token` | string | `null` |
| `PushOver User` | string | `null` |
| `PushOver Device (optional)` | string | `null` |
| `PushOver Titel-Präfix` | string | `Ripster` |
| `PushOver Priority` | number | `0` |
| `PushOver Timeout (ms)` | number | `7000` |
| `Bei Metadaten-Auswahl senden` | boolean | `true` |
| `Bei Rip-Start senden` | boolean | `true` |
| `Bei Encode-Start senden` | boolean | `true` |
| `Bei Erfolg senden` | boolean | `true` |
| `Bei Fehler senden` | boolean | `true` |
| `Bei Abbruch senden` | boolean | `true` |
| `Bei Re-Encode Start senden` | boolean | `true` |
| `Bei Re-Encode Erfolg senden` | boolean | `true` |
## Kategorie: Pfade
| GUI-Feld | Key | Typ | Default | Wirkung im System |
|---|---|---|---|---|
| `Raw-Ordner (Blu-ray)` | `raw_dir_bluray` | `path` | `leer` | RAW-Zielpfad für Blu-ray. Leer = Standardpfad (data/output/raw). |
| `Raw-Ordner (DVD)` | `raw_dir_dvd` | `path` | `leer` | RAW-Zielpfad für DVD. Leer = Standardpfad (data/output/raw). |
| `CD RAW-Ordner` | `raw_dir_cd` | `path` | `leer` | Basisordner für rohe CD-WAV-Dateien (cdparanoia-Output). Leer = Standardpfad (data/output/cd). |
| `Audiobook RAW-Ordner` | `raw_dir_audiobook` | `path` | `leer` | Basisordner für hochgeladene AAX-Dateien. Leer = Standardpfad (data/output/audiobook-raw). |
| `Serien-Ordner (Blu-ray)` | `series_dir_bluray` | `path` | `leer` | Zielordner für Blu-ray-Serienfolgen. Leer = Standardpfad (data/output/series). |
| `Film-Ordner (Blu-ray)` | `movie_dir_bluray` | `path` | `leer` | Encode-Zielpfad für Blu-ray. Leer = Standardpfad (data/output/movies). |
| `Film-Ordner (DVD)` | `movie_dir_dvd` | `path` | `leer` | Encode-Zielpfad für DVD. Leer = Standardpfad (data/output/movies). |
| `Serien-Ordner (DVD)` | `series_dir_dvd` | `path` | `leer` | Zielordner für DVD-Serienfolgen. Leer = Standardpfad (data/output/series). |
| `CD Output-Ordner` | `movie_dir_cd` | `path` | `leer` | Zielordner für encodierte CD-Ausgaben (FLAC, MP3 usw.). Leer = gleicher Ordner wie CD RAW-Ordner. |
| `Audiobook Output-Ordner` | `movie_dir_audiobook` | `path` | `leer` | Zielordner für encodierte Audiobook-Dateien. Leer = Standardpfad (data/output/audiobooks). |
| `Externe Speicher` | `external_storage_paths` | `path` | `[]` | Wird links unter "Freie Speicher" angezeigt. |
| `Log Ordner` | `log_dir` | `path` | `data/logs` | Basisordner für Logs. Job-Logs liegen direkt hier, Backend-Logs in /backend. |
| `CD Output Template` | `cd_output_template` | `string` | `{artist} - {album} ({year})/{trackNr} {artist} - {title}` | Template für relative CD-Ausgabepfade ohne Dateiendung. Platzhalter: {artist}, {album}, {year}, {title}, {trackNr}, {trackNo}. Unterordner sind über "/" möglich alles nach dem letzten "/" ist der Dateiname. Die Endung wird über das gewählte Ausgabeformat gesetzt. |
| `Output Template (Blu-ray)` | `output_template_bluray` | `string` | `${title} (${year})/${title} (${year})` | Template für Ordner und Dateiname. Platzhalter: ${title}, ${year}, ${imdbId}. Unterordner über "/" möglich alles nach dem letzten "/" ist der Dateiname. Die Endung wird über das gewählte Ausgabeformat gesetzt. |
| `Output Template (Blu-ray Serie, Episode)` | `output_template_bluray_series_episode` | `string` | `{seriesTitle}/Staffel {seasonNr}/S{seasonNr}E{episodeNr} - {episodeTitle}` | Template für einzelne Blu-ray-Serienepisoden ohne Dateiendung. Platzhalter: {seriesTitle}, {seasonNr}, {episodeNr}, {episodeTitle}, {discNr}, {year}, {language}. Optional mit führender Null: {0:seasonNr}, {0:episodeNr}. |
| `Output Template (Blu-ray Serie, Multi-Episode)` | `output_template_bluray_series_multi_episode` | `string` | `{seriesTitle}/Staffel {seasonNr}/S{0:seasonNr}E{episodeRange} - {episodeTitle} (Teil {parts})` | Template für zusammengefasste Blu-ray-Serienepisoden ohne Dateiendung. Platzhalter: {seriesTitle}, {seasonNr}, {episodeNoStart}, {episodeNoEnd}, {episodeRange}, {episodeTitle}, {parts}, {discNr}, {year}, {language}. Optional mit führender Null: {0:seasonNr}, {0:episodeNoStart}, {0:episodeNoEnd}. |
| `Output Template (DVD)` | `output_template_dvd` | `string` | `${title} (${year})/${title} (${year})` | Template für Ordner und Dateiname. Platzhalter: ${title}, ${year}, ${imdbId}. Unterordner über "/" möglich alles nach dem letzten "/" ist der Dateiname. Die Endung wird über das gewählte Ausgabeformat gesetzt. |
| `Output Template (DVD Serie, Episode)` | `output_template_dvd_series_episode` | `string` | `{seriesTitle}/Staffel {seasonNr}/S{seasonNr}E{episodeNr} - {episodeTitle}` | Template für einzelne DVD-Serienepisoden ohne Dateiendung. Platzhalter: {seriesTitle}, {seasonNr}, {episodeNr}, {episodeTitle}, {discNr}, {year}, {language}. Optional mit führender Null: {0:seasonNr}, {0:episodeNr}. |
| `Output Template (DVD Serie, Multi-Episode)` | `output_template_dvd_series_multi_episode` | `string` | `{seriesTitle}/Staffel {seasonNr}/S{0:seasonNr}E{episodeRange} - {episodeTitle} (Teil {parts})` | Template für zusammengefasste DVD-Serienepisoden ohne Dateiendung. Platzhalter: {seriesTitle}, {seasonNr}, {episodeNoStart}, {episodeNoEnd}, {episodeRange}, {episodeTitle}, {parts}, {discNr}, {year}, {language}. Optional mit führender Null: {0:seasonNr}, {0:episodeNoStart}, {0:episodeNoEnd}. |
| `Output Template (Audiobook)` | `output_template_audiobook` | `string` | `{author}/{author} - {title} ({year})` | Template für relative Audiobook-Ausgabepfade ohne Dateiendung. Platzhalter: {author}, {title}, {year}, {narrator}, {series}, {part}, {format}. Unterordner sind über "/" möglich. |
| `Audiobook RAW Template` | `audiobook_raw_template` | `string` | `{author} - {title} ({year})` | Template für relative Audiobook-RAW-Ordner. Platzhalter: {author}, {title}, {year}, {narrator}, {series}, {part}. |
| `Converter Raw-Ordner` | `converter_raw_dir` | `path` | `leer` | Eingangsordner für den Converter (Import-Scan und Datei-Uploads). Jeder Upload erhält einen Unterordner. Leer = Standardpfad (data/output/converter-raw). |
| `Converter Ausgabe (Video)` | `converter_movie_dir` | `path` | `leer` | Ausgabepfad für konvertierte Video-Dateien. Leer = Standardpfad (data/output/converted-movies). |
| `Converter Ausgabe (Audio)` | `converter_audio_dir` | `path` | `leer` | Ausgabepfad für konvertierte Audio-Dateien. Leer = Standardpfad (data/output/converted-audio). |
| `Output-Template (Video)` | `converter_output_template_video` | `string` | `{title}` | Dateiname-Template für konvertierte Video-Dateien (ohne Endung). Platzhalter: {title}, {year}. |
| `Output-Template (Audio)` | `converter_output_template_audio` | `string` | `{artist} - {title}` | Dateiname-Template für konvertierte Audio-Dateien (ohne Endung). Platzhalter: {artist}, {title}, {album}, {year}, {trackNr}. |
| `RAW-Ordner (Blu-ray Serie)` | `raw_dir_bluray_series` | `path` | `leer` | RAW-Zielpfad für Blu-ray-Serien. Leer = gleicher Pfad wie RAW-Ordner (Blu-ray). |
| `Eigentümer RAW-Ordner (Blu-ray Serie)` | `raw_dir_bluray_series_owner` | `string` | `leer` | Eigentümer der Dateien im Format user:gruppe für Blu-ray-Serien-RAW. Leer = Eigentümer Raw-Ordner (Blu-ray). |
| `Eigentümer Raw-Ordner (Blu-ray)` | `raw_dir_bluray_owner` | `string` | `leer` | Eigentümer der Dateien im Format user:gruppe. Nur aktiv wenn ein Pfad gesetzt ist. Leer = Standardbenutzer des Dienstes. |
| `RAW-Ordner (DVD Serie)` | `raw_dir_dvd_series` | `path` | `leer` | RAW-Zielpfad für DVD-Serien. Leer = gleicher Pfad wie RAW-Ordner (DVD). |
| `Eigentümer RAW-Ordner (DVD Serie)` | `raw_dir_dvd_series_owner` | `string` | `leer` | Eigentümer der Dateien im Format user:gruppe für DVD-Serien-RAW. Leer = Eigentümer Raw-Ordner (DVD). |
| `Eigentümer Raw-Ordner (DVD)` | `raw_dir_dvd_owner` | `string` | `leer` | Eigentümer der Dateien im Format user:gruppe. Nur aktiv wenn ein Pfad gesetzt ist. Leer = Standardbenutzer des Dienstes. |
| `Eigentümer CD RAW-Ordner` | `raw_dir_cd_owner` | `string` | `leer` | Eigentümer der Dateien im Format user:gruppe. Nur aktiv wenn ein Pfad gesetzt ist. Leer = Standardbenutzer des Dienstes. |
| `Eigentümer Audiobook RAW-Ordner` | `raw_dir_audiobook_owner` | `string` | `leer` | Eigentümer der Audiobook-RAW-Dateien im Format user:gruppe. Nur aktiv wenn ein Pfad gesetzt ist. Leer = Standardbenutzer des Dienstes. |
| `Eigentümer Serien-Ordner (Blu-ray)` | `series_dir_bluray_owner` | `string` | `leer` | Eigentümer der Blu-ray-Serienausgaben im Format user:gruppe. Leer = Standardbenutzer des Dienstes. |
| `Eigentümer Film-Ordner (Blu-ray)` | `movie_dir_bluray_owner` | `string` | `leer` | Eigentümer der Dateien im Format user:gruppe. Nur aktiv wenn ein Pfad gesetzt ist. Leer = Standardbenutzer des Dienstes. |
| `Eigentümer Film-Ordner (DVD)` | `movie_dir_dvd_owner` | `string` | `leer` | Eigentümer der Dateien im Format user:gruppe. Nur aktiv wenn ein Pfad gesetzt ist. Leer = Standardbenutzer des Dienstes. |
| `Eigentümer Serien-Ordner (DVD)` | `series_dir_dvd_owner` | `string` | `leer` | Eigentümer der DVD-Serienausgaben im Format user:gruppe. Leer = Standardbenutzer des Dienstes. |
| `Eigentümer CD Output-Ordner` | `movie_dir_cd_owner` | `string` | `leer` | Eigentümer der encodierten CD-Ausgaben im Format user:gruppe. Leer = Standardbenutzer des Dienstes. |
| `Eigentümer Audiobook Output-Ordner` | `movie_dir_audiobook_owner` | `string` | `leer` | Eigentümer der encodierten Audiobook-Dateien im Format user:gruppe. Leer = Standardbenutzer des Dienstes. |
## Kategorie: Tools
| GUI-Feld | Key | Typ | Default | Wirkung im System |
|---|---|---|---|---|
| `MakeMKV Kommando` | `makemkv_command` | `string` | `makemkvcon` | Pfad oder Befehl für makemkvcon. |
| `MakeMKV Key` | `makemkv_registration_key` | `string` | `leer` | Optionaler Registrierungsschlüssel. Wird vor Analyze/Rip automatisch per "makemkvcon reg" gesetzt. |
| `Mediainfo Kommando` | `mediainfo_command` | `string` | `mediainfo` | Pfad oder Befehl für mediainfo. |
| `Minimale Titellänge (Minuten)` | `makemkv_min_length_minutes` | `number` | `60` | Filtert kurze Titel beim Rip. |
| `HandBrake Kommando` | `handbrake_command` | `string` | `HandBrakeCLI` | Pfad oder Befehl für HandBrakeCLI. |
| `Encode-Neustart: unvollständige Ausgabe löschen` | `handbrake_restart_delete_incomplete_output` | `boolean` | `true` | Wenn aktiv, wird bei "Encode neu starten" der bisherige (nicht erfolgreiche) Output vor Start entfernt. |
| `Max. parallele Film/Video Encodes` | `pipeline_max_parallel_jobs` | `number` | `1` | Maximale Anzahl parallel laufender Film/Video Encode-Jobs. Gilt zusätzlich zum Gesamtlimit. |
| `Max. parallele Audio CD Jobs` | `pipeline_max_parallel_cd_encodes` | `number` | `2` | Maximale Anzahl parallel laufender Audio CD Jobs (Rip + Encode als Einheit). Gilt zusätzlich zum Gesamtlimit. |
| `Max. Encodes gesamt (medienunabhängig)` | `pipeline_max_total_encodes` | `number` | `3` | Gesamtlimit für alle parallel laufenden Encode-Jobs (Film + Audio CD). Dieses Limit hat Vorrang vor den Einzellimits. |
| `Audio CDs: Queue-Reihenfolge überspringen` | `pipeline_cd_bypasses_queue` | `boolean` | `false` | Wenn aktiv, können Audio CD Jobs unabhängig von Film-Jobs starten (überspringen die Film-Queue-Reihenfolge). Einzellimits und Gesamtlimit gelten weiterhin. |
| `Script-Test Timeout (ms)` | `script_test_timeout_ms` | `number` | `0` | Timeout fuer Script-Tests in den Settings. 0 = kein Timeout. |
| `cdparanoia Kommando` | `cdparanoia_command` | `string` | `cdparanoia` | Pfad oder Befehl für cdparanoia. Wird als Fallback genutzt wenn kein individuelles Kommando gesetzt ist. |
| `FFmpeg Kommando` | `ffmpeg_command` | `string` | `ffmpeg` | Pfad oder Befehl für ffmpeg. Wird für Audiobook-Encoding genutzt. |
| `FFprobe Kommando` | `ffprobe_command` | `string` | `ffprobe` | Pfad oder Befehl für ffprobe. Wird für Audiobook-Metadaten und Kapitel genutzt. |
| `Mediainfo Extra Args` | `mediainfo_extra_args_bluray` | `string` | `leer` | Zusätzliche CLI-Parameter für mediainfo (Blu-ray). |
| `MakeMKV Rip Modus` | `makemkv_rip_mode_bluray` | `select` | `backup` | backup: vollständige Blu-ray Struktur im RAW-Ordner (empfohlen, ermöglicht --decrypt). |
| `MakeMKV Analyze Extra Args` | `makemkv_analyze_extra_args_bluray` | `string` | `leer` | Zusätzliche CLI-Parameter für Analyze (Blu-ray). |
| `MakeMKV Rip Extra Args` | `makemkv_rip_extra_args_bluray` | `string` | `leer` | Zusätzliche CLI-Parameter für Rip (Blu-ray). |
| `HandBrake Preset` | `handbrake_preset_bluray` | `string` | `H.264 MKV 1080p30` | Preset Name für -Z (Blu-ray). Leer = kein Preset, nur CLI-Parameter werden verwendet. |
| `HandBrake Extra Args` | `handbrake_extra_args_bluray` | `string` | `leer` | Zusätzliche CLI-Argumente (Blu-ray). |
| `Ausgabeformat` | `output_extension_bluray` | `select` | `mkv` | Dateiendung für finale Datei (Blu-ray). |
| `Mediainfo Extra Args` | `mediainfo_extra_args_dvd` | `string` | `leer` | Zusätzliche CLI-Parameter für mediainfo (DVD). |
| `MakeMKV Rip Modus` | `makemkv_rip_mode_dvd` | `select` | `backup` | backup: vollständige Disc-Struktur im RAW-Ordner (einzig gültige Option für DVDs). |
| `MakeMKV Analyze Extra Args` | `makemkv_analyze_extra_args_dvd` | `string` | `leer` | Zusätzliche CLI-Parameter für Analyze (DVD). |
| `MakeMKV Rip Extra Args` | `makemkv_rip_extra_args_dvd` | `string` | `leer` | Zusätzliche CLI-Parameter für Rip (DVD). |
| `HandBrake Preset` | `handbrake_preset_dvd` | `string` | `H.264 MKV 480p30` | Preset Name für -Z (DVD). Leer = kein Preset, nur CLI-Parameter werden verwendet. |
| `HandBrake Extra Args` | `handbrake_extra_args_dvd` | `string` | `leer` | Zusätzliche CLI-Argumente (DVD). |
| `Ausgabeformat` | `output_extension_dvd` | `select` | `mkv` | Dateiendung für finale Datei (DVD). |
+89 -58
View File
@@ -1,71 +1,102 @@
# Ersteinrichtung
Nach der Installation erfolgt die tägliche Konfiguration fast vollständig in der GUI unter `Settings`.
Diese Seite ist die Betriebs-Checkliste vor dem ersten produktiven Lauf.
## Ziel
## Ziel der Ersteinrichtung
Vor dem ersten echten Job müssen Pfade, Tools und Metadatenzugriff sauber gesetzt sein.
Vor dem ersten Job müssen drei Dinge stabil sein:
## Reihenfolge (empfohlen)
1. Pfade stimmen (RAW, Output, Logs)
2. Tools sind aufrufbar (MakeMKV, HandBrake, MediaInfo)
3. Metadatenzugänge funktionieren (OMDb, optional TMDb/MusicBrainz)
### 1. `Settings` -> Tab `Konfiguration`
## Empfohlene Reihenfolge
Setze zuerst diese Pflichtwerte:
### 1) Basis in `Settings -> Konfiguration`
| Bereich | Wichtige Felder |
Setze zuerst:
- `Raw-Ordner` und `Film-/Serien-Ordner`
- `Log Ordner`
- `MakeMKV Kommando`, `HandBrake Kommando`, `Mediainfo Kommando`
- `OMDb API Key`
Dann speichern.
### 2) Profile pro Medium festziehen
Ripster löst viele Werte profilspezifisch auf (`bluray`, `dvd`, `cd`, `audiobook`).
Pflichtprüfung:
- RAW-Pfade je Profil
- Output-Pfade je Profil
- HandBrake-Preset je Profil
- Output-Templates je Profil
Für Serien zusätzlich:
- `RAW-Ordner (Blu-ray/DVD Serie)`
- `Serien-Ordner (Blu-ray/DVD)`
- Serien-Templates (Episode/Multi-Episode)
### 3) Queue-Verhalten definieren
Stelle ein:
- `Max. parallele Film/Video Encodes`
- `Max. parallele Audio CD Jobs`
- `Max. Encodes gesamt`
- optional `Audio CDs: Queue-Reihenfolge überspringen`
Damit steuerst du Durchsatz, Priorität und Lastverteilung.
### 4) Metadatenquellen absichern
Film:
- OMDb-Key prüfen
Serien:
- TMDb Read Access Token setzen
- Sprache/Fallback-Sprachen festlegen
CD/Audiodaten:
- `MusicBrainz aktiviert` nach Bedarf
### 5) Optional: Benachrichtigungen
- PushOver-Zugangsdaten setzen
- `PushOver Test` ausführen
- Event-Toggles pro Phase prüfen
### 6) Optional: Automatisierung
1. Skripte testen
2. Skriptketten bauen/testen
3. Cronjobs erst danach aktivieren
## Funktionsprüfung (Kurztest)
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.
## Typische Konfigurationsfehler
| Symptom | Häufige Ursache |
|---|---|
| Pfade | `Raw Ausgabeordner`, `Film Ausgabeordner`, `Log Ordner` |
| Tools | `MakeMKV Kommando`, `HandBrake Kommando`, `Mediainfo Kommando` |
| Metadaten | `OMDb API Key`, optional `OMDb Typ` |
Danach `Änderungen speichern`.
### 2. Medienprofile prüfen
Wenn du Blu-ray und DVD unterschiedlich behandeln willst, pflege die profilbezogenen Felder:
- `*_bluray`
- `*_dvd`
- optional `*_other`
Typische Beispiele:
- `HandBrake Preset` (Blu-ray und DVD)
- `Raw Ausgabeordner` (Blu-ray und DVD)
- `Dateiname Template` (Blu-ray und DVD)
### 3. Queue und Monitoring festlegen
- `Parallele Jobs` für den gleichzeitigen Durchsatz
- `Hardware Monitoring aktiviert` + `Hardware Monitoring Intervall (ms)` für Live-Metriken im Ripper
### 4. Optional: Push-Benachrichtigungen
In den Benachrichtigungsfeldern setzen:
- `PushOver aktiviert`
- `PushOver Token`
- `PushOver User`
Dann über `PushOver Test` direkt prüfen.
## 2-Minuten-Funktionstest
1. `Ripper` öffnen
2. Disc einlegen
3. `Analyse starten`
4. Metadaten übernehmen
5. Bis `Bereit zum Encodieren` laufen lassen
Wenn diese Schritte funktionieren, ist die Grundkonfiguration korrekt.
## Wenn Werte nicht gespeichert werden
- Feld mit Fehler markieren lassen (rote Validierung im Formular)
- Pfadangaben und numerische Werte prüfen
- bei Tool-Pfaden direkt CLI-Aufruf im Terminal testen
| 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 |
## Weiter
- [Erster Lauf](quickstart.md)
- [GUI-Seiten im Detail](../gui/index.md)
- [GUI-Seiten](../gui/index.md)
- [Workflows aus Nutzersicht](../workflows/index.md)
+56 -36
View File
@@ -1,19 +1,21 @@
# Erster Lauf
Dieser Ablauf zeigt einen vollständigen Job aus Anwendersicht: von Disc-Erkennung bis fertiger Datei.
Dieser Ablauf führt einen vollständigen Disc-Job von Erkennung bis fertiger Datei durch.
## 1. Ripper öffnen und Disc einlegen
## 1) Disc erkennen
Erwartung:
1. `Ripper` öffnen.
2. Disc einlegen.
3. Auf `Medium erkannt` warten.
- Status wechselt auf `Medium erkannt`
- im Bereich `Disk-Information` sind Laufwerksdaten sichtbar
Prüfen:
Wenn nichts passiert: `Laufwerk neu lesen`.
- `Disk-Information` zeigt Device/Label.
- Falls nicht: `Laufwerk neu lesen`.
## 2. Analyse starten
## 2) Analyse starten
Aktion im Ripper:
Aktion:
- `Analyse starten`
@@ -22,49 +24,67 @@ Erwartung:
- Status `Analyse`
- danach Metadaten-Dialog
## 3. Metadaten auswählen
## 3) Metadaten bestätigen
Im Dialog `Metadaten auswählen`:
Im Dialog:
1. OMDb-Suche nutzen oder manuell eintragen
2. passenden Treffer markieren
3. `Auswahl übernehmen`
1. Treffer suchen/auswählen.
2. Bei Serie zusätzlich Disc-Nummer setzen.
3. `Auswahl übernehmen`.
## 4. Auf den nächsten Zustand reagieren
Mögliche Abzweigungen:
- Normalfall ohne vorhandenes RAW: `Rippen` -> `Mediainfo-Pruefung` -> `Bereit zum Encodieren`
- bei vorhandenem RAW: direkt `Mediainfo-Pruefung` -> `Bereit zum Encodieren`
- bei unklarer Blu-ray-Playlist: `Warte auf Auswahl` (Playlist auswählen und übernehmen)
- Duplikatfilm -> `Übernahme erzwingen` oder `Multipart movie`
- vorhandenes RAW -> Entscheidungsdialog (weiterverwenden oder neu rippen)
## 5. Review in `Bereit zum Encodieren`
## 4) Rip/Review-Phase
Im aufgeklappten Job (`Pipeline-Status`):
Normalfall:
- Encode-Titel wählen
- `Startbereit` -> `Rippen` -> `Mediainfo-Pruefung`
Mögliche Alternativen:
- vorhandenes RAW: direkter Sprung in Prüfung
- Blu-ray/DVD-Entscheidung nötig: `Warte auf Auswahl` für Playlist/Titel
## 5) Encode-Review abschließen
Bei `Bereit zum Encodieren`:
- Titel festlegen
- Audio-/Subtitle-Spuren prüfen
- optional User-Preset auswählen
- optional Pre-/Post-Skripte bzw. Ketten hinzufügen
- optional Preset auswählen
- optional Pre-/Post-Skripte wählen
Dann `Encoding starten`.
Dann:
## 6. Encoding überwachen
- `Encoding starten`
## 6) Encoding überwachen
Während `Encodieren`:
- Fortschritt + ETA im Ripper
- Live-Log im `Pipeline-Status`
- Queue- und Skript/Cron-Status parallel beobachtbar
- Fortschritt/ETA im Ripper
- Queue- und Runtime-Status beobachten
- optional Logkontrolle in Historie
## 7. Ergebnis prüfen
## 7) Ergebnis verifizieren
Bei `Fertig`:
Nach `Fertig`:
1. Seite `Historie` öffnen
2. Job in Details öffnen
3. Output-Pfad, Status und Log prüfen
1. `Historie` öffnen.
2. Jobdetail prüfen.
3. Output-Pfad und Log plausibilisieren.
## Typische Folgeaktionen
Kontrollpunkte:
- Falsches OMDb-Match: in `Historie` -> `OMDb neu zuordnen`
- Neue Encodierung aus RAW: `RAW neu encodieren`
- Prüfung komplett neu aufbauen: `Review neu starten`
- finale Datei am erwarteten Template-Pfad
- RAW-Ordnerzustand finalisiert (kein `Incomplete_`)
## 8) Typische Folgeaktionen
- falsche Metadaten: `OMDb neu zuordnen`
- andere Trackauswahl: `Review neu starten`
- erneuter Encode aus RAW: `RAW neu encodieren`
- gleicher Plan erneut: `Encode neu starten`
+40 -32
View File
@@ -1,60 +1,68 @@
# Audiobooks
Die Seite `Audiobooks` ist die dedizierte Oberfläche für AAX- und Audiobook-Jobs.
Die Seite `Audiobooks` ist der spezialisierte AAX-Workflow.
---
## Ablaufübersicht
## Aufbau
Die Oberfläche ist in drei Bereiche gegliedert:
1. `Audiobooks Upload`
2. `Audiobook Jobs`
3. `Audiobook Output Explorer`
---
## 1) Audiobooks Upload
Hier werden AAX-Dateien hochgeladen und als Job vorbereitet.
Der Upload verarbeitet ausschließlich AAX-Dateien.
Typische Schritte:
Direkt nach Upload passieren im Hintergrund:
1. Datei auswählen
2. optional Format/Startverhalten setzen
3. Upload starten
- Probe/Metadatenanalyse (ffprobe)
- Anlage eines RAW-Ordners per `Audiobook RAW Template`
- Ablage der AAX-Datei im RAW-Pfad
- Initiale Jobkonfiguration (Format, Kapitel, Metadaten)
Während des Uploads zeigt die Seite Fortschritt und Status an.
Wichtige Parameter:
---
- Zielformat (`m4b`, `mp3`, `flac`)
- optionaler Sofortstart
Toolabhängigkeit:
- `ffprobe_command` für Metadaten/Kapitel
- `ffmpeg_command` für Encode/Cover-Extraktion
## 2) Audiobook Jobs
Aktive Audiobook-Jobs werden als Karten dargestellt (mit Status und Fortschritt).
Jobkarten zeigen Zustand, Fortschritt und verfügbare Aktionen.
Pro Job sind je nach Zustand Aktionen verfügbar:
Typische Aktionen:
- Starten (mit aktueller Audiobook-Konfiguration)
- Abbrechen
- Retry
- Löschen
- `Starten`
- `Abbrechen`
- `Retry`
- `Löschen`
- `Im Ripper` (Kontextwechsel)
Zusätzlich:
- `Im Ripper` springt in die Hauptansicht
- Jobs laden periodisch nach und reagieren auf WebSocket-Updates
---
Die Karten werden regelmäßig aktualisiert und durch WebSocket-Ereignisse ergänzt.
## 3) Audiobook Output Explorer
Read-only Baumansicht des konfigurierten Audiobook-Ausgabeordners:
Read-only Explorer des Audiobook-Outputpfads:
- Ordner- und Dateiansicht
- Größen-/Zeitstempelübersicht
- schnelle Kontrolle der erzeugten Ergebnisse
- Ordner-/Dateistruktur
- Zeitstempel/Größen
- schnelle Ergebnisprüfung ohne Dateisystemwechsel
---
## Pfad- und Template-Logik
## Abgrenzung zum Converter
| Bereich | Gesteuert durch |
|---|---|
| RAW-Ablage | `raw_dir_audiobook` + `audiobook_raw_template` |
| Finale Ausgabe | `movie_dir_audiobook` + `output_template_audiobook` |
| Dateiformat | Jobkonfiguration (`m4b`, `mp3`, `flac`) |
Audio/Video-Datei-Konvertierung läuft weiterhin auf der Seite `Converter`.
Der AAX-spezifische Flow (Upload, Start, Jobsteuerung, Output-Explorer) liegt auf `Audiobooks`.
## Typische Probleme
- Upload wird abgelehnt: Eingabedatei ist keine AAX-Datei.
- Start schlägt fehl: `ffmpeg`/`ffprobe` nicht aufrufbar.
- Unerwartete Pfade: Templates enthalten ungültige oder zu generische Platzhalter.
+75 -52
View File
@@ -1,85 +1,108 @@
# Converter
Die Converter-Seite ermöglicht das Konvertieren vorhandener Audio- und Video-Dateien.
Die Seite `Converter` verarbeitet bereits vorhandene Dateien (Video, Audio, ISO) ohne Laufwerks-Rip.
---
## Betriebsmodell
## Überblick
Der Converter arbeitet auf dem Eingangspfad `converter_raw_dir`:
Der Converter arbeitet mit einem konfigurierbaren Eingangsordner (`converter_raw_dir`). Dateien werden dort abgelegt (manuell oder per Upload) und dann als Converter-Jobs in die Pipeline eingereiht.
- Uploads landen dort
- Explorer-Aktionen arbeiten dort
- daraus werden Converter-Jobs erstellt
---
Wichtig:
- Upload erzeugt nicht automatisch einen Job.
- Joberstellung erfolgt explizit über Auswahl im Explorer.
## Datei-Explorer
Der Datei-Explorer zeigt den Inhalt des `converter_raw_dir` als Baumstruktur.
Der Explorer zeigt den kompletten Baum unter `converter_raw_dir`.
### Verfügbare Aktionen
Aktionen:
| Aktion | Beschreibung |
| Aktion | Wirkung |
|---|---|
| **Upload** | Dateien direkt aus dem Browser hochladen (bis zu 50 Dateien) |
| **Ordner erstellen** | Neuen Unterordner anlegen |
| **Umbenennen** | Datei oder Ordner umbenennen |
| **Verschieben** | Datei oder Ordner in einen anderen Unterordner verschieben |
| **Löschen** | Datei oder Ordner löschen (unwiderruflich) |
| **Scannen** | Eingangsordner manuell neu scannen |
| `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 |
### Dateiauswahl
Upload-Regeln:
Dateien können per Checkbox ausgewählt werden. Aus der Auswahl lassen sich Jobs erstellen:
- Dateiendung muss in `Erlaubte Datei-Endungen*` enthalten sein
- bei Verstoß wird der Upload abgelehnt
- **Ein Job pro Datei** — jede Datei wird als eigenständiger Job angelegt
- **Gemeinsamer Job (Audio)** — mehrere Audio-Dateien werden zu einem gemeinsamen Job zusammengefasst
## Joberstellung aus Explorer-Auswahl
Erlaubte Dateiendungen werden in den Settings unter `Converter > Erlaubte Datei-Endungen*` als Checkboxen konfiguriert.
Es gibt zwei Audio-Strategien:
---
1. `Ein Job pro Datei`
2. `Gemeinsamer Job (Audio)`
## Jobs erstellen und konfigurieren
Verhalten:
Nach der Auswahl und Job-Erstellung erscheinen die Jobs in der Job-Liste.
- Video/ISO werden grundsätzlich als Einzeljobs angelegt.
- Audio kann als Shared-Job mit mehreren Eingabedateien erzeugt werden.
### Job-Konfiguration
Shared-Audio-Job:
Jeder Job kann konfiguriert werden:
- hält mehrere `inputPaths`
- kann vor Start erweitert/reduziert werden (nur Audio-Dateien)
- **Medientyp:** Video, Audio oder Audiobook
- **Ausgabeformat:** z. B. `mkv`, `mp4`, `m4b`, `mp3`, `flac`
- **HandBrake-Preset:** für Video-Konvertierung
- **Track-Auswahl:** Video-, Audio- und Untertitel-Spuren
- **Metadaten:** Titel, Autor, Jahr (für Audiobooks)
- **MusicBrainz-Suche:** automatische Metadaten-Suche für Audiodateien
## Job-Konfiguration
### Job-Start
Vor Start je Job einstellbar:
Jobs starten sofort oder reihen sich in die Queue ein (abhängig von `Parallele Jobs`).
- `converterMediaType` (`video`, `audio`, `iso`)
- `outputFormat`
- Metadaten
- Track-/Titelwahl (bei video/iso)
- Pre-/Post-Encode-Skripte und Ketten
---
Spezifika:
- Video/ISO laufen durch Mediainfo/Review ähnlich zum Disc-Flow.
- Audio kann direkt mit Formatoptionen konfiguriert werden.
## Ausgabe-Pfade
### Video/ISO
- Root: `converter_movie_dir`
- Dateiname: `Output-Template (Video)`
- Endung: aus gewähltem Output-Format
### Audio
- Root: `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)
Wenn in den Settings `Converter > Auto-Scan (Polling)` aktiviert ist, wird der Eingangsordner automatisch in regelmäßigen Abständen gescannt. Neue Dateien werden in der DB erfasst und im Explorer angezeigt.
Mit aktiviertem Polling:
Das Scan-Intervall wird unter `Converter > Polling-Intervall (Sekunden)` konfiguriert (Standard: 300 Sekunden).
- `converter_raw_dir` wird zyklisch gescannt
- neue Dateien erscheinen automatisch im Explorer
---
Relevante Settings:
## Hinweis zu Audiobooks
- `Auto-Scan (Polling)`
- `Polling-Intervall (Sekunden)`
Der dedizierte AAX-/Audiobook-Flow ist auf der Seite [Audiobooks](audiobooks.md) dokumentiert.
## Abgrenzung zu Audiobooks
---
## Einstellungen
| Setting | Pfad in GUI |
|---|---|
| Eingangsordner | `Settings > Pfade > Converter Raw-Ordner` |
| Videoausgabe | `Settings > Pfade > Converter Ausgabe (Video)` |
| Audioausgabe | `Settings > Pfade > Converter Ausgabe (Audio)` |
| Erlaubte Endungen | `Settings > Converter > Erlaubte Datei-Endungen*` |
| Auto-Scan | `Settings > Converter > Auto-Scan (Polling)` |
| Scan-Intervall | `Settings > Converter > Polling-Intervall (Sekunden)` |
| Output-Template Video | `Settings > Pfade > Output-Template (Video)` |
| Output-Template Audio | `Settings > Pfade > Output-Template (Audio)` |
- `Converter`: beliebige Audio/Video/ISO-Dateien
- `Audiobooks`: dedizierter AAX-Workflow mit Kapitel-/Audiobook-Metadaten
+21 -15
View File
@@ -1,29 +1,35 @@
# Database (Expert)
`/database` ist eine erweiterte Ansicht für Power-User und Recovery-Fälle.
`/database` ist die Recovery- und Expertensicht für Fälle, in denen Dateisystem und Historie nicht mehr sauber zusammenpassen.
## Zugriff
- Route direkt aufrufen: `/database`
- nicht Teil der Standard-Navigation
- direkte Route: `/database`
- nicht Teil der Standardnavigation
## Bereiche
## Bereich `Gefundene RAW-Einträge`
### `Gefundene RAW-Einträge`
Listet RAW-Ordner, die keinen zugehörigen Job-Eintrag haben.
Dieser Bereich listet RAW-Verzeichnisse ohne zugeordneten Historie-Job.
Aktionen:
- `RAW prüfen` (Scan der konfigurierten RAW-Pfade)
- `Job anlegen` (Orphan-RAW in Historie importieren)
- `RAW prüfen`: scannt konfigurierte RAW-Wurzeln
- `Job anlegen`: erstellt aus einem orphan RAW einen neuen Historie-Job
## Typischer Einsatz
## Was bei `Job anlegen` passiert
- nach manuellen Dateioperationen
- nach Migrationen oder Recovery
- wenn RAW-Dateien vorhanden sind, aber kein Historieneintrag existiert
- RAW-Pfad wird als Importquelle registriert
- Job wird in die Historie geschrieben
- anschließende Analyse läuft als RAW-basierter Einstieg (ohne klassischen Disc-Read)
## Vorsicht
Typischer Einsatz:
Diese Seite erlaubt Eingriffe mit direkter Auswirkung auf Datenbestand und Historie. Vor Lösch- oder Importaktionen Pfade und Zieljob sorgfältig prüfen.
- manuelle Dateioperationen außerhalb der UI
- Migrationen
- Wiederherstellung nach abgebrochenen Läufen
## Sicherheits- und Betriebsregeln
- Aktionen wirken direkt auf produktive Historie/Dateipfade.
- Vor Import oder Löschung immer Pfad und Ziel prüfen.
- Diese Seite nur für Recovery-Szenarien nutzen, nicht für normalen Tagesbetrieb.
+35 -30
View File
@@ -1,53 +1,58 @@
# Downloads
Die Downloads-Seite ermöglicht es, Ausgabedateien aus abgeschlossenen Jobs als ZIP-Archiv herunterzuladen.
Auf `Downloads` werden ZIP-Archive für Historie-Artefakte erstellt und bereitgestellt.
---
## Was heruntergeladen werden kann
## Überblick
Ein Download-Eintrag referenziert immer einen Historie-Job und genau ein Ziel:
Jobs, die in der Historie abgeschlossen sind, können in die Download-Queue eingereiht werden. Ripster erstellt daraus ein ZIP-Archiv, das direkt im Browser heruntergeladen werden kann.
- `RAW`
- `Output`
---
Erzeugt wird ein ZIP-Archiv im Download-Verzeichnis des Backends.
## Download-Queue
## Statusmodell
Die Queue zeigt alle aktuellen Download-Einträge mit ihrem Status:
| Status | Beschreibung |
| Status | Bedeutung |
|---|---|
| **Ausstehend** | In der Queue, ZIP-Erstellung noch nicht gestartet |
| **Wird verarbeitet** | ZIP-Archiv wird gerade erstellt |
| **Bereit** | ZIP fertig, Download-Button verfügbar |
| **Fehlgeschlagen** | Fehler bei der ZIP-Erstellung |
| `queued` | Eintrag erstellt, wartet auf Verarbeitung |
| `processing` | ZIP wird gerade gebaut |
| `ready` | Archiv fertig, Download-Link aktiv |
| `failed` | Erzeugung oder Zugriff fehlgeschlagen |
---
## Eintrag anlegen
## Download einreihen
Startpunkt ist die `Historie`:
Downloads können über die **Historie** eingereiht werden:
1. Job öffnen.
2. Download einreihen.
3. Ziel (`RAW` oder `Output`) wählen.
4. Status in `Downloads` verfolgen.
1. Job in der Historie öffnen
2. **Download einreihen** wählen
3. Ziel auswählen: `RAW-Dateien` oder `Ausgabedateien`
4. Den Eintrag in der Downloads-Queue verfolgen
## Wichtige Laufzeitdetails
---
- Wenn bereits ein passendes, aktuelles Archiv existiert, kann der Eintrag wiederverwendet werden.
- Nach Backend-Neustart werden unterbrochene `queued`/`processing`-Einträge geprüft und fortgesetzt.
- Fehlt eine erwartete ZIP-Datei bei `ready`, wird der Eintrag auf `failed` gesetzt.
## Download starten
## Download auslösen
Sobald der Status **Bereit** angezeigt wird, kann die ZIP-Datei mit dem Download-Button heruntergeladen werden.
Bei Status `ready`:
ZIP-Dateinamen folgen dem Muster: `Job_<id>_<target>.zip`
- Download-Button lädt die ZIP direkt aus `/api/downloads/:id/file`.
---
## Einträge entfernen
## Einträge löschen
`Löschen` entfernt:
Abgeschlossene oder fehlerhafte Einträge können einzeln gelöscht werden. Die dazugehörige ZIP-Datei wird dabei ebenfalls vom Server entfernt.
- Queue-Metadaten
- zugehörige Archivdatei
---
Nicht erlaubt:
## Echtzeit-Updates
- Löschen während `queued`/`processing`
Die Downloads-Seite aktualisiert sich automatisch per WebSocket (`DOWNLOADS_UPDATED`). Statusänderungen (z. B. von `Wird verarbeitet` zu `Bereit`) werden ohne Seiten-Reload angezeigt.
## Echtzeitaktualisierung
Die Seite reagiert auf `DOWNLOADS_UPDATED` per WebSocket.
Dadurch sind Statuswechsel ohne Reload sichtbar.
+57 -56
View File
@@ -1,88 +1,89 @@
# Historie
Die Seite `Historie` ist für Suche, Prüfung und Nachbearbeitung bestehender Jobs.
`Historie` ist die Kontroll- und Nachbearbeitungsoberfläche für alle bereits angelegten Jobs.
## Hauptansicht
Filter und Werkzeuge:
Filter und Arbeitsmittel:
- Suche (Titel/IMDb)
- Status-Filter
- Medium-Filter (`Blu-ray`, `DVD`, `Sonstiges`)
- Suche (Titel, IMDb, Kontextbegriffe)
- Statusfilter
- Mediumfilter
- Sortierung
- Listen-/Grid-Layout
Jeder Eintrag zeigt:
Jeder Eintrag zeigt auf einen Blick:
- Poster, Titel, Jahr, IMDb
- Medium-Indikator
- Status
- Start/Ende
- Verfügbarkeit von RAW/Movie
- Ratings (wenn OMDb-Daten vorhanden)
- Titel, Jahr, Poster
- Status und Zeitstempel
- RAW-/Output-Verfügbarkeit
- Medien- und ggf. Containerhinweise
Klick auf einen Eintrag öffnet die Detailansicht.
## Detaildialog: Was dort zusammenläuft
---
Der Detaildialog bündelt:
## Job-Detaildialog
- Metadaten (Film oder Serie)
- Jobstatus und Fehlertexte
- RAW-/Output-Pfade
- Encode-Plan und Trackauswahl
- ausgeführte Kommandodetails
- Prozesslog (`Tail` oder vollständig)
Bereiche:
Bei Seriencontainern wird disk-/child-orientiert dargestellt, nicht nur als Einzeljob.
- Film-Infos + OMDb-Details
- Job-Infos (Status, Pfade, Erfolgsflags, Fehler)
- hinterlegte Encode-Auswahl
- ausgeführter HandBrake-Befehl
- strukturierte JSON-Blöcke (OMDb/MakeMKV/MediaInfo/EncodePlan/HandBrake)
- Log-Ladefunktionen (`Tail`, `Vollständig`)
## Nachbearbeitungsaktionen und Wirkung
Bei Serien-Containern zeigt der Dialog statt eines globalen Log-Blocks einen `Disks`-Bereich mit einzelnen Disk-Akkordeons.
Jede Disk kann dort separat geprüft und bearbeitet werden.
| 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 |
## Typische Aktionen im Detaildialog
Löschaktionen im Dialog:
- `OMDb neu zuordnen`
- `Encode neu starten`
- `Review neu starten`
- `RAW neu encodieren`
- `RAW löschen`, `Movie löschen`, `Beides löschen`
- `RAW löschen`
- `Movie löschen`
- `Beides löschen`
- `Historieneintrag löschen`
- bei Queue-Lock: `Aus Queue löschen`
Zusätzlich bei Serien-Container-Disks:
## Löschvorschau und selektives Löschen
- `Im Ripper öffnen` (für `READY_TO_ENCODE`-Kinder)
- diskbezogene Löschaktionen (`RAW`, `Folgen`, `Beides`) mit Child-/Subjob-Scope
- diskbezogenes Löschen des Historieneintrags (inkl. Subjobs)
Vor endgültigem Löschen zeigt Ripster eine Vorschau mit:
## Wann welche Aktion?
- `RAW`-Kandidaten
- `Movie`-/Episoden-Kandidaten
- Related-Scope (Container/Kinder/verbundene Jobs)
| Ziel | Aktion |
|---|---|
| Metadaten korrigieren | `OMDb neu zuordnen` |
| mit gleicher bestätigter Auswahl neu encodieren | `Encode neu starten` |
| Titel-/Spurprüfung komplett neu berechnen | `Review neu starten` |
| aus vorhandenem RAW erneut encodieren | `RAW neu encodieren` |
| Speicher freigeben | Dateilöschaktionen |
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.
## Löschen mit Vorschau
## Serien- und Multipart-Sicht in der Historie
Beim Löschen eines Historieneintrags (`Eintrag löschen`) gibt es eine Pfadvorschau:
### Serien
- getrennt nach `RAW` und Ausgabe (`Movie`/`Folgen`)
- für Serien-/Multipart-Fälle mit Scope auf verknüpfte Jobs
- selektierbare Pfade vor dem finalen Löschen
- 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.
Neu im RAW-Bereich:
### Multipart
- bei mehreren RAW-Kandidaten kann pro Pfad gewählt werden, was entfernt wird
- mindestens ein RAW-Pfad muss gewählt sein, wenn RAW-Löschung Teil der Aktion ist
- gemeinsamer Container mit Disc-Childs
- Disc-Nummern bleiben pro Child nachvollziehbar
- Delete-Preview kann Related-Pfade gemeinsam auflösen
Die Buttons (`Eintrag + nur RAW`, `Eintrag + nur ...`, `Eintrag + RAW + ...`) berücksichtigen die aktuelle Pfadauswahl und deaktivieren sich bei unvollständiger Auswahl.
## Logs sinnvoll nutzen
## Logs
- `Tail laden (800)` für schnellen Fehlerkontext
- `Vollständiges Log laden` für forensische Analyse
- `Tail laden (800)` für schnelle Fehleranalyse
- `Vollständiges Log laden` für vollständige Nachverfolgung
Empfehlung:
1. Erst Tail prüfen.
2. Bei Pfad-/Toolproblemen vollständiges Log laden.
3. Danach passende Wiederanlauf-Aktion wählen.
+25 -23
View File
@@ -1,32 +1,34 @@
# GUI-Seiten
Ripster hat sieben Hauptseiten in der Navigation plus eine Expert-Seite.
Dieses Kapitel ist das Bedienhandbuch für die Oberflächen im Alltag.
## Seitenüberblick
| Seite | Zweck |
|---|---|
| [Jobs](jobs.md) | zentrale Inbox mit allen Jobs (Ripper, Converter, Audiobooks) |
| [Ripper](ripper.md) | Live-Betrieb: Pipeline, Queue, Aktivitäten, Disc-Infos |
| [Audiobooks](audiobooks.md) | AAX-Upload, Audiobook-Jobsteuerung und Output-Explorer |
| [Settings](settings.md) | Konfiguration, Skripte, Ketten, Presets, Cronjobs |
| [Historie](history.md) | abgeschlossene/laufende Jobs durchsuchen und nachbearbeiten |
| [Converter](converter.md) | Audio/Video-Dateien konvertieren, Datei-Explorer, Upload |
| [Downloads](downloads.md) | Ausgabedateien als ZIP herunterladen |
| [Database (Expert)](database.md) | tabellarische Rohsicht inkl. Orphan-RAW-Import |
| Seite | Rolle im Betrieb | Typischer Einsatz |
|---|---|---|
| [Jobs](jobs.md) | zentrale Inbox | Gesamtlage prüfen und in Fachseite springen |
| [Ripper](ripper.md) | Live-Steuerung der Pipeline | Disc-Flow starten, Queue steuern, Review freigeben |
| [Audiobooks](audiobooks.md) | AAX-Spezialflow | Upload, Konfiguration 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 |
| [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 |
## Empfohlene Nutzung im Alltag
## Empfohlener Tagesablauf
1. **Ersten Überblick über alle Jobs:** `Jobs`
2. **Start eines neuen Disc-Jobs:** `Ripper`
3. **Audio/Video-Dateien konvertieren:** `Converter`
4. **AAX/Audiobook-Flow:** `Audiobooks`
5. **Regeln/Automatisierung anpassen:** `Settings`
6. **Ergebnisse prüfen oder Jobs nachbearbeiten:** `Historie`
7. **Dateien herunterladen:** `Downloads`
8. **Sonderfälle/Recovery:** `Database`
1. `Jobs`: Statuslage und Auffälligkeiten prüfen.
2. `Ripper` oder `Converter`/`Audiobooks`: neue Arbeit starten.
3. `Historie`: Ergebnisse validieren und ggf. nachbearbeiten.
4. `Downloads`: Exporte für externe Übergabe erzeugen.
5. `Settings`: Regeln und Limits nur kontrolliert anpassen.
## Hinweise zur Navigation
## Navigation
- `Jobs`, `Ripper`, `Converter`, `Audiobooks`, `Settings`, `Historie` und `Downloads` sind direkt in der Kopfnavigation.
- `Database` ist als Expert-Route verfügbar: `/database`.
Direkt in der Top-Navigation:
- `Jobs`, `Ripper`, `Converter`, `Audiobooks`, `Settings`, `Historie`, `Downloads`
Nur per URL:
- `Database` unter `/database`
+23 -25
View File
@@ -1,22 +1,18 @@
# Jobs
Die Seite `Jobs` ist die zentrale Inbox über alle Job-Typen.
`Jobs` ist die zentrale Inbox über alle Jobarten und dient als schneller Einstieg in den Tagesbetrieb.
---
## Zweck der Seite
## Zweck
Die Liste vereinheitlicht:
`Jobs` zeigt denselben Datenbestand in einer einheitlichen Liste:
- Ripper-Jobs (Blu-ray/DVD/CD)
- Converter-Jobs (Audio/Video/ISO)
- Disc-/Ripper-Jobs
- Converter-Jobs
- Audiobook-Jobs
Die Seite eignet sich als schneller Einstieg, bevor man in den jeweiligen Fachbereich springt.
Dadurch kannst du unabhängig von der Fachseite zuerst den Gesamtzustand prüfen.
---
## Filter und Ansicht
## Filterlogik
### View-Filter
@@ -31,26 +27,28 @@ Die Seite eignet sich als schneller Einstieg, bevor man in den jeweiligen Fachbe
- `Aktiv`
- `Fehler/Abbruch`
Zusätzlich gibt es eine Freitextsuche (Titel, Status, IMDb, Job-Kind etc.) und eine Paginierung.
Zusätzlich:
---
- Freitextsuche
- Paginierung
## Was ein Eintrag zeigt
## Was ein Jobeintrag zeigt
- Job-ID und Titel
- Status-Badge (inkl. Queue-Berücksichtigung)
- Job-Typ-Badge (z. B. Blu-ray, Converter Audio, Audiobook)
- Zeitstempel der letzten Aktualisierung
- Statusbadge
- Jobtypbadge (z. B. Blu-ray, DVD, Converter Audio, Audiobook)
- Aktualisierungszeit
Die Liste aktualisiert sich zyklisch automatisch.
Die Ansicht wird periodisch aktualisiert und ergänzt sich mit WebSocket-Events.
---
## Schnellaktion pro Zeile
## Aktion
Pro Eintrag gibt es einen Schnellzugriff:
- `Im Ripper öffnen` für Disc-/Audiobook-orientierte Jobs
- `Im Ripper öffnen` für Disc-/Audiobook-nahe Jobs
- `Im Converter öffnen` für Converter-Jobs
So gelangst du mit einem Klick in die passende Detailoberfläche.
So kommst du ohne Umwege in die Oberfläche mit den passenden Detailaktionen.
## Empfohlener Einsatz
1. In `Jobs` Störungen und Auslastung identifizieren.
2. Danach gezielt in `Ripper`, `Converter` oder `Historie` springen.
+96 -68
View File
@@ -1,8 +1,8 @@
# Ripper
Das Ripper ist die **Betriebszentrale** für laufende Jobs.
Die Seite `Ripper` ist die Live-Steuerung der Pipeline. Hier laufen Disc-Erkennung, Queue-Steuerung, Review und Encode-Start zusammen.
## Aufbau der Seite
## Seitenaufbau und Betriebslogik
Die Bereiche erscheinen in dieser Reihenfolge:
@@ -12,129 +12,157 @@ Die Bereiche erscheinen in dieser Reihenfolge:
4. `Job Übersicht`
5. `Disk-Information`
---
## 1) Hardware Monitoring
Zeigt live:
Zeigt kontinuierlich:
- CPU (gesamt + optional pro Kern)
- RAM
- GPU-Auslastung/Temperatur/VRAM
- freien Speicher in den konfigurierten Pfaden
- CPU / RAM
- GPU (wenn verfügbar)
- freie Speicherstände konfigurierter Pfade
Wichtig für den Betrieb:
Nutzen im Betrieb:
- Hohe Speicherauslastung oder fast volle Zielpfade früh erkennen
- über `Settings` aktivierbar/deaktivierbar (`Hardware Monitoring aktiviert`)
- Engpässe vor Jobfehlern erkennen
- Pfadfüllstände vor Start großer Batchs prüfen
Gesteuert über `Settings`:
- `Hardware Monitoring aktiviert`
- `Hardware Monitoring Intervall (ms)`
## 2) Job Queue
Zwei Spalten:
Es gibt zwei operative Zonen:
- `Laufende Jobs`
- `Warteschlange`
Mögliche Aktionen:
Mögliche Queue-Einträge:
- Queue per Drag-and-Drop umsortieren
- Queue-Job entfernen (`X`)
- zusätzliche Queue-Elemente einfügen (`+`):
- Skript
- Skriptkette
- Wartezeit
- Job-Startaktionen (`Start`, `Retry Rippen`, `RAW neu encodieren`, `Encode neu starten`, `Review neu berechnen`, `Audio CD starten`)
- Nicht-Job-Einträge (`Skript`, `Skriptkette`, `Warten`)
Hinweis:
Wichtige Regeln:
- `Parallel` zeigt den Wert aus `Settings` -> `Parallele Jobs`.
- 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.
Parallelität kommt aus `Settings`:
- `Max. parallele Film/Video Encodes`
- `Max. parallele Audio CD Jobs`
- `Max. Encodes gesamt`
- optional `Audio CDs: Queue-Reihenfolge überspringen`
## 3) Skript- / Cron-Status
Zeigt:
Zeigt Runtime-Aktivitäten:
- aktive Ausführungen (Skripte, Ketten, Cron)
- zuletzt abgeschlossene Ausführungen
- laufende Skripte
- laufende Ketten
- Cron-Ausführungen
- letzte abgeschlossene Aktivitäten
Mögliche Aktionen:
Aktionen:
- laufende Ketten: `Nächster Schritt`
- laufende Einträge: `Abbrechen`
- Historie der Aktivitäten: `Liste leeren`
- `Nächster Schritt` bei Ketten
- `Abbrechen`
- `Liste leeren`
## 4) Job Übersicht
Kompakte Jobliste mit Status, Fortschritt, ETA. Klick auf einen Job klappt die Detailsteuerung auf.
Die Jobliste ist der zentrale Arbeitsbereich. Ein Klick öffnet den jeweiligen `Pipeline-Status`.
Zusätzliche Kennzeichnungen in der Liste:
### Badges und Kontext
- `Serien-Container`/`Serien-Disk` für Staffel-Workflows
- `Multipart Movie` bei zusammengeführten Film-Discs
- Untertitel mit Disc-/Container-Infos (z. B. `Disc 2 | Container #123`)
Neben Status/Fortschritt zeigt die Liste je nach Job:
Im aufgeklappten Zustand erscheint die Karte `Pipeline-Status` mit allen zustandsabhängigen Aktionen.
- Serienkontext (`Serien-Container`, Staffel/Disk)
- Multipart-Kontext (`Multipart Movie`, Disc-Nr.)
- Queue-/Subjob-Kontext bei Serien-Episoden
### Zustandsabhängige Hauptaktionen
### Zustandsabhängige Aktionen
| Zustand | Typische Aktion |
|---|---|
| `Medium erkannt` / `Bereit` | `Analyse starten` |
| `Metadatenauswahl` | `Metadaten öffnen` |
| `Warte auf Auswahl` | Playlist wählen und `Playlist übernehmen` |
| `Startbereit` | `Job starten` |
| `Bereit zum Encodieren` | Tracks/Skripte prüfen, dann `Encoding starten` |
| laufend (`Analyse`/`Rippen`/`Encodieren`) | `Abbrechen` |
| `Fehler` / `Abgebrochen` | `Retry Rippen`, `Disk-Analyse neu starten` |
| Zustand | Hauptaktion im Ripper | 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 |
Zusätzlich je nach Job:
Zusatzaktionen je nach Zustand und Jobtyp:
- `Review neu starten`
- `Encode neu starten`
- `RAW neu encodieren`
- `Aus Queue löschen`
### Titel-/Spurprüfung (`Bereit zum Encodieren`)
### Review-Bereich (`Bereit zum Encodieren`)
Im selben Block siehst du:
Hier wird die effektive Encode-Entscheidung festgelegt:
- Auswahl des Encode-Titels
- Audio-/Subtitle-Trackauswahl
- User-Preset-Auswahl
- Titelwahl
- Audio-/Subtitle-Trackselektion
- User-Preset
- Pre-/Post-Encode-Skripte und Ketten
- Preview des finalen HandBrakeCLI-Befehls
- HandBrake-Kommandovorschau
Ohne Bestätigung dieses Blocks startet kein produktiver Encode.
### RAW-Ordnerphasen (sichtbar über Logs/Details)
Der Ripper arbeitet mit drei RAW-Zuständen:
- `Incomplete_...` während unvollständigem Rip
- `Rip_Complete_...` nach erfolgreich abgeschlossenem Rip, vor Encode
- ohne Prefix nach erfolgreichem Encode
Das ist wichtig für Recovery und Delete-Vorschau.
## 5) Disk-Information
Zeigt aktuelles Laufwerk und Disc-Metadaten (`Pfad`, `Modell`, `Disc-Label`, `Mount`).
Zeigt aktuelle Laufwerksdaten:
- Device-Pfad
- Modell
- Disc-Label / Mount
Aktionen:
- `Laufwerk neu lesen`
- `Disk neu analysieren`
- `Metadaten-Modal öffnen`
- Metadaten-Dialog öffnen
Hinweis:
- `Laufwerk neu lesen` ist nicht mehr an einen festen Pipeline-State gebunden und kann genutzt werden, solange kein Rescan-Request läuft.
- `Laufwerk neu lesen` ist nicht mehr an einen festen Pipeline-State gebunden.
---
## Wichtige Dialoge im Ripper
## Wichtige Dialoge
### Metadaten auswählen
- OMDb-Suche + Ergebnisliste
- manuelle Eingabe als Fallback
- `Auswahl übernehmen` startet den nächsten Pipeline-Schritt
Im Dialog werden Film-/Serienmetadaten bestätigt.
Bei Film-Duplikaten in der Historie öffnet sich ein Konfliktdialog:
Sonderfälle:
- `Übernahme erzwingen`: legt trotzdem einen neuen Job mit denselben Metadaten an
- `Multipart movie`: verknüpft bestehenden und neuen Job in einem Multipart-Container (mit separaten Disc-Nummern)
- `Zurück zur Auswahl`: zurück in die Metadatenliste
- Film-Duplikat: `Übernahme erzwingen` oder `Multipart movie`
- Serie: `Disc-Nummer` ist Pflicht
### Abbruch-Bereinigung
### Vorhandenes RAW erkannt
Nach Abbruch kann Ripster optional fragen, ob erzeugte RAW- oder Movie-Dateien gelöscht werden sollen.
Wenn passendes RAW existiert, fordert der Dialog eine explizite Entscheidung:
- vorhandenes RAW verwenden
- RAW verwerfen/löschen und neu rippen
### Queue-Eintrag einfügen
Erstellt gezielt einen Skript-, Ketten- oder Warte-Eintrag an einer bestimmten Queue-Position.
Du kannst gezielt ab Position einfügen:
- Skript
- Skriptkette
- Wartezeit
+65 -50
View File
@@ -1,92 +1,107 @@
# Settings
Die Seite `Settings` steuert Konfiguration und Automatisierung.
Die Seite `Settings` steuert alle Betriebsparameter von Ripster: Pfade, Tools, Queue-Limits, Metadatenquellen, Automatisierung.
## Tabs im Überblick
## Tab-Überblick
| Tab | Zweck |
| Tab | Hauptzweck |
|---|---|
| `Konfiguration` | alle Kernsettings (Pfade, Tools, Monitoring, Metadaten, Queue, Benachrichtigungen) |
| `Scripte` | einzelne Bash-Skripte verwalten und testen |
| `Skriptketten` | Sequenzen aus Skript- und Warte-Schritten bauen |
| `Encode-Presets` | benutzerdefinierte Presets für das Review im Ripper |
| `Cronjobs` | zeitgesteuerte Skript-/Kettenausführung |
---
| `Konfiguration` | globale und profilspezifische Laufzeitsettings |
| `Scripte` | einzelne Skripte verwalten und testen |
| `Skriptketten` | mehrstufige Abläufe aus Skript/Warten |
| `Encode-Presets` | wiederverwendbare HandBrake-Profile für Review |
| `Cronjobs` | zeitgesteuerte Ausführung von Skript/Kette |
## Tab `Konfiguration`
Wichtiges Bedienmuster:
### Bedienprinzip
1. Werte ändern
2. `Änderungen speichern`
3. bei Bedarf `Änderungen verwerfen` oder `Neu laden`
1. Werte ändern.
2. `Änderungen speichern`.
3. erst danach sind Werte für neue Aktionen wirksam.
Zusätzlich:
Zusätzliche Bedienhilfen:
- `PushOver Test` sendet eine Testnachricht
- Änderungen werden erst nach Speichern wirksam
- Tool-Preset-Felder bieten HandBrake-Presetauswahl direkt im Formular
- `Neu laden` verwirft lokale Formzustände
- `Änderungen verwerfen` setzt auf zuletzt gespeicherten Stand
- `PushOver Test` validiert Benachrichtigungszugang sofort
### Was wirkt unmittelbar, was erst bei neuem Job?
- Queue-/Parallelität wirkt auf neue Queue-Entscheidungen und Pump-Läufe.
- Tool-/Pfad-/Template-Änderungen wirken vollständig auf neu gestartete Schritte.
- Bereits laufende Prozesse übernehmen Änderungen in der Regel nicht rückwirkend.
### Welche Bereiche im Alltag kritisch sind
| Bereich | Kritisch für |
|---|---|
| `Pfade` | wo RAW, finale Ausgaben, Converter/Audiobook-Dateien landen |
| `Tools` | ob Analyze/Rip/Encode ausführbar sind |
| `Metadaten` | Film-/Serienzuordnung und Episode-Mapping |
| `Queue-Limits` | Durchsatz und Reihenfolgeverhalten |
| `Monitoring` | Sichtbarkeit von Last und Speicherengpässen |
| `Benachrichtigungen` | PushOver-Ereignisse je Pipelinephase |
## Tab `Scripte`
Funktionen:
- Skript anlegen, bearbeiten, löschen
- Skript testen (`Test`)
- Reihenfolge per Drag-and-Drop
- anlegen, bearbeiten, löschen
- testen (`Test`)
- sortieren
Praxis:
Testausführung liefert:
- Reihenfolge ist wichtig, weil ausgewählte Skripte später sequentiell abgearbeitet werden.
- Testresultate zeigen Exit-Code, Dauer und stdout/stderr.
- Exit-Code
- Dauer
- stdout/stderr
Wichtig:
- Nur erfolgreiche Skripte sollten in produktive Pre-/Post-Listen übernommen werden.
## Tab `Skriptketten`
Funktionen:
Ketten bestehen aus Schritten:
- Kette anlegen/bearbeiten/löschen
- Kette testen
- Reihenfolge der Ketten per Drag-and-Drop
- `Skript`
- `Warten`
Im Ketten-Editor:
Typischer Einsatz:
- Bausteine links (`Warten`, vorhandene Skripte)
- Schritte rechts per Klick oder Drag-and-Drop hinzufügen
- Schrittreihenfolge im Canvas ändern
- externe Hooks vor/nach Encode
- gestaffelte Abläufe mit Pausen
In der Queue erscheinen Ketten als eigene Einträge und werden dort ausgeführt.
## Tab `Encode-Presets`
Ein Preset bündelt:
- optional HandBrake-Preset (`-Z`)
- optionales HandBrake-Preset (`-Z`)
- optionale Extra-Args
- Medientyp (`Universell`, `Blu-ray`, `DVD`, `Sonstiges`)
- Medienziel (Universell/Blu-ray/DVD/Sonstiges)
Verwendung:
- Diese Presets erscheinen später im Ripper im Review (`Bereit zum Encodieren`).
Im Ripper-Review kannst du Presets pro Job auswählen, statt Parameter jedes Mal neu zu setzen.
## Tab `Cronjobs`
Funktionen:
- Cronjob anlegen und bearbeiten
- Quelle wählen: Skript oder Skriptkette
- Cron-Ausdruck validieren
- Quelle wählen (`Skript` oder `Skriptkette`)
- Cron-Ausdruck prüfen
- `Jetzt ausführen`
- Logs je Cronjob anzeigen
- `Aktiviert` und `Pushover` toggeln
- Job-Logs ansehen
- Aktivierung/Pushover toggeln
Hilfen:
Empfehlung:
- Beispiele für Cron-Ausdrücke direkt im Dialog
- Link zu `crontab.guru` im Editor
1. Skript/Kette manuell testen.
2. Dann Cron aktivieren.
3. Erste automatische Läufe aktiv im Runtime-Status kontrollieren.
---
## Verbindung zur Einstellungsreferenz
## Empfehlung für stabile Nutzung
1. Erst `Konfiguration` sauber setzen
2. dann Skripte/Ketten testen
3. danach Cronjobs aktivieren
Die vollständige Wirkung jeder einzelnen Einstellung steht in [Einstellungsreferenz](../configuration/settings-reference.md).
+12 -21
View File
@@ -1,33 +1,24 @@
# Ripster Handbuch
Dieses Dokumentationsset ist als **Benutzerhandbuch** aufgebaut: erst Bedienung und Alltag, dann Technik im Anhang.
Diese Dokumentation ist als vollständiges Benutzerhandbuch aufgebaut: tägliche Bedienung zuerst, technische Referenz danach.
---
## Einstieg in 3 Schritten
## Schnellstart in 3 Schritten
1. Installation: [Installation](getting-started/installation.md)
2. Betriebskonfiguration: [Ersteinrichtung](getting-started/configuration.md)
3. erster End-to-End-Lauf: [Erster Lauf](getting-started/quickstart.md)
1. Voraussetzungen prüfen und installieren: [Installation](getting-started/installation.md)
2. Grundkonfiguration in der UI setzen: [Ersteinrichtung](getting-started/configuration.md)
3. Ersten vollständigen Job durchlaufen: [Erster Lauf](getting-started/quickstart.md)
## Was das Handbuch abdeckt
---
## Was du hier findest
- **Benutzerhandbuch**
- Installation
- GUI-Seiten im Detail (`Jobs`, `Ripper`, `Converter`, `Audiobooks`, `Settings`, `Historie`, `Downloads`, `Database`)
- typische Arbeitsabläufe aus Anwendersicht
- **Technischer Anhang**
- vollständige Einstellungsreferenz
- Pipeline-/API-/Architekturdetails
- Deployment und Tool-Hintergründe
---
- alle GUI-Seiten mit Aktionen und Wirkung
- vollständige Workflows für Film, Serie und Multipart
- Queue-, Job-, Container- und Recovery-Verhalten
- detaillierte Settings-Wirkung inklusive Fallbacks
## Empfohlene Lesereihenfolge
1. [Benutzerhandbuch Überblick](getting-started/index.md)
2. [GUI-Seiten](gui/index.md)
3. [Workflows aus Nutzersicht](workflows/index.md)
4. Bei Bedarf: [Technischer Anhang](appendix/index.md)
4. [Einstellungsreferenz](configuration/settings-reference.md)
5. bei Bedarf technischer Tiefgang im [Anhang](appendix/index.md)
+181 -58
View File
@@ -1,84 +1,207 @@
# Workflows aus Nutzersicht
Diese Seite beschreibt typische Abläufe mit den passenden UI-Aktionen.
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.
## Workflow 1: Standardlauf (Disc -> fertige Datei)
## Gemeinsame Grundlagen
1. `Ripper`: Disc einlegen, `Analyse starten`
2. Metadaten im Dialog übernehmen
3. bei `Bereit zum Encodieren` Titel/Tracks prüfen
4. `Encoding starten`
5. Ergebnis in `Historie` kontrollieren
### Statuskette im Normalfall
## Workflow 2: Playlist-Entscheidung bei Blu-ray
`Medium erkannt` -> `Analyse` -> `Metadatenauswahl` -> `Startbereit` -> `Rippen` -> `Mediainfo-Pruefung` -> `Bereit zum Encodieren` -> `Encodieren` -> `Fertig`
1. Job landet in `Warte auf Auswahl`
2. im `Pipeline-Status` Playlist-Kandidaten vergleichen
3. gewünschte Playlist auswählen
4. `Playlist übernehmen`
5. danach normal weiter bis `Bereit zum Encodieren`
Abweichungen:
## Workflow 3: Mehrere Jobs mit Queue
- 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
1. Parallel-Limit in `Settings` über `Parallele Jobs` setzen
2. neue Jobs starten; überschüssige Starts gehen in `Job Queue`
3. Reihenfolge per Drag-and-Drop anpassen
4. bei Bedarf Skript/Kette/Warten als Queue-Eintrag ergänzen
### Job- und Container-Typen
## Workflow 4: Nachbearbeitung eines bestehenden Jobs
| 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 |
In `Historie` -> Detaildialog:
Wichtig:
- Metadaten korrigieren: `OMDb neu zuordnen`
- gleiche Einstellungen erneut nutzen: `Encode neu starten`
- Analyse neu aufbauen: `Review neu starten`
- aus RAW erneut encodieren: `RAW neu encodieren`
- Container sind primär Ordnungs- und Statusobjekte.
- Dateien (RAW/Output) hängen an den Child-Jobs.
## Workflow 5: Automatisierung mit Skripten und Cron
## Workflow A: Film (Blu-ray/DVD)
1. `Settings` -> `Scripte`: Skripte anlegen und testen
2. `Settings` -> `Skriptketten`: Ketten bauen und testen
3. im Ripper-Review Pre-/Post-Ausführungen pro Job auswählen
4. `Settings` -> `Cronjobs`: zeitgesteuerte Ausführung konfigurieren
5. Status im Ripper (`Skript- / Cron-Status`) überwachen
### 1) Disc analysieren und Film-Metadaten wählen
## Workflow 6: Abbruch und Recovery
1. Im `Ripper` `Analyse starten`.
2. Im Metadaten-Dialog Film auswählen (OMDb bzw. manuelle Film-Metadaten).
3. `Auswahl übernehmen`.
### Fall A: Job wurde abgebrochen
Wirkung:
- im Ripper optional erzeugte RAW/Movie-Datei bereinigen
- anschließend je nach Ziel: `Retry Rippen` oder `Disk-Analyse neu starten`
- der Job wird als Film-Workflow geführt
- Film-Fingerprint für Duplikaterkennung wird gebildet (IMDb oder Titel/Jahr)
### Fall B: Job steht in `Bereit zum Encodieren`, ist aber nicht aktive Session
### 2) Duplikatfall entscheiden
- in `Historie`: `Im Ripper öffnen`
- im Ripper Review erneut prüfen und starten
Wenn Film mit gleichem Fingerprint bereits existiert, gibt es zwei Wege:
### Fall C: RAW ohne Historieneintrag
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
- `/database` öffnen
- Bereich `Gefundene RAW-Einträge`
- `Job anlegen`
Bei Multipart gilt:
## Workflow 7: Duplikat als Multipart Movie zusammenführen
- beide Discs brauchen unterschiedliche `Disc-Nummer`
- gleiche Disc-Nummer blockiert den Vorgang (`MULTIPART_DISC_ALREADY_EXISTS`)
1. `Ripper` -> `Metadaten auswählen` für einen Film-Job
2. bei Duplikat-Konflikt `Multipart movie` wählen
3. Disc-Nummern für bestehenden und neuen Job setzen (jeweils >= 1, unterschiedlich)
4. Metadaten übernehmen
5. in `Historie` den gemeinsamen Multipart-Container prüfen
### 3) RAW-Verzeichnis entsteht
## Workflow 8: Selektives Löschen in der Historie
Ordnername basiert auf Metadaten plus Job-ID:
1. in `Historie` einen Job öffnen und `Historieneintrag löschen`
2. Löschvorschau prüfen (`RAW` + Ausgabe)
3. gewünschte RAW-/Ausgabepfade gezielt auswählen
4. passende Aktion ausführen (`Eintrag + nur RAW`, `Eintrag + nur ...`, `Eintrag + RAW + ...`)
- `Incomplete_<Titel> (<Jahr>) - RAW - job-<id>`
## Workflow 9: Audiobook (AAX) verarbeiten
Zustandswechsel des RAW-Ordners:
1. Seite `Audiobooks` öffnen
2. AAX-Datei hochladen
3. Job-Konfiguration prüfen und starten
4. Fortschritt im Job-Panel verfolgen
5. Ergebnis im `Audiobook Output Explorer` und in der `Historie` prüfen
- beim Start: `Incomplete_...`
- nach erfolgreichem Rip: `Rip_Complete_...`
- nach erfolgreichem Encode: Prefix wird entfernt (final)
### 4) Review und Encode
In `Bereit zum Encodieren`:
- Titel wählen
- Audio-/Subtitle-Spuren festlegen
- optional User-Preset
- optional Pre-/Post-Encode-Skripte oder Ketten
Beim Start:
- temporäre Ausgabe in `Incomplete_job-<id>/<Datei>.<ext>`
- nach Erfolg Verschiebung in finalen Zielpfad aus Film-Template
## Workflow B: Serie (Blu-ray/DVD)
### 1) Serienmodus aktivieren
1. Disc analysieren.
2. Im Metadaten-Dialog Serienmetadaten wählen (TMDb-basiert).
3. `Disc-Nummer` setzen (Pflicht, ab 1).
Wirkung:
- Workflow-Kind wird `series`
- Seriencontainer wird gesucht/angelegt
- aktueller Job wird als `dvd_series_child` darunter geführt
### 2) Seriencontainer und Disc-Konflikte
Beim Speichern wird geprüft:
- existiert für Serie/Staffel bereits ein Container?
- existiert in diesem Container bereits dieselbe `Disc-Nummer`?
Wenn ja, wird blockiert (`SERIES_DISC_ALREADY_EXISTS`).
### 3) Serien-RAW-Pfad
Für Serien wird ein eigener RAW-Pfad bevorzugt:
- Blu-ray: `raw_dir_bluray_series` (Fallback: `raw_dir_bluray`)
- DVD: `raw_dir_dvd_series` (Fallback: `raw_dir_dvd`)
RAW-Namensbasis enthält Staffel/Disc (`SxDy`) und wird ebenfalls mit den Prefix-Phasen geführt:
- `Incomplete_...` -> `Rip_Complete_...` -> final
### 4) Serien-Review und Episoden-Ausgabe
Beim Review werden Episoden-/Titelzuordnungen genutzt. Je nach Auswahl:
- Einzel-Episode: Episode-Template
- Multi-Episode-Titel: Multi-Episode-Template
Ausgabepfad:
- Root: `series_dir_*` (Fallback auf `movie_dir_*`)
- Dateiname/Unterordner aus Serien-Template
### 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
## Workflow C: Multipart-Film
### Wann dieser Flow gedacht ist
- gleicher Film auf mehreren Discs (z. B. Disc 1/Disc 2)
- Zusammengehörigkeit soll in Historie und Detailansichten sichtbar sein
### Ablauf
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
## Workflow D: Vorhandenes RAW / RAW-Import
### Fall 1: RAW bereits vorhanden bei Metadatenübernahme
Nach Metadaten-Übernahme erkennt Ripster passende RAW-Ordner und setzt den Job auf Entscheidungsstatus.
Möglichkeiten:
- vorhandenes RAW weiterverwenden (kein neuer Rip)
- RAW löschen/ignorieren und neu rippen
### Fall 2: Orphan-RAW aus `/database`
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.
## Workflow E: Nachbearbeitung bestehender Jobs
In `Historie` (Detaildialog):
| 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 |
## Wo landet was? (Artefakt-Matrix)
| 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 |
## Queue-Verhalten im Alltag
Die Startfreigabe hängt an vier Settings:
- `Max. parallele Film/Video Encodes`
- `Max. parallele Audio CD Jobs`
- `Max. Encodes gesamt`
- `Audio CDs: Queue-Reihenfolge überspringen`
Praxis:
- Film/Video- und Audio/CD laufen in getrennten Lanes
- Gesamtlimit begrenzt beide gemeinsam
- Queue kann neben Jobs auch `Skript`, `Kette`, `Warten` enthalten
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long