0.14.0-4 Docs
This commit is contained in:
@@ -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). |
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user