# Workflows aus Nutzersicht Diese Seite beschreibt die produktiven Abläufe als Handbuch: welche Entscheidung an welcher Stelle fällt, welche Objekte dabei entstehen (Job, Container, Child-Job) und welche Dateien in welchen Ordnern landen. ## Gemeinsame Grundlagen ### Statuskette im Normalfall `Medium erkannt` -> `Analyse` -> `Metadatenauswahl` -> `Startbereit` -> `Rippen` -> `Mediainfo-Pruefung` -> `Bereit zum Encodieren` -> `Encodieren` -> `Fertig` Abweichungen: - bei Blu-ray/DVD mit nötiger Playlistwahl: `Mediainfo-Pruefung` -> `Warte auf Auswahl` -> zurück in `Mediainfo-Pruefung` - bei vorhandenem RAW: `Startbereit` springt direkt in Review/Prüfung ohne neuen Laufwerks-Rip - bei Fehler/Abbruch: `Fehler` oder `Abgebrochen` mit Wiederanlauf-Aktionen ### Job- und Container-Typen | 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 | Wichtig: - Container sind primär Ordnungs- und Statusobjekte. - Dateien (RAW/Output) hängen an den Child-Jobs. ## Workflow A: Film (Blu-ray/DVD) ### 1) Disc analysieren und Film-Metadaten wählen 1. Im `Ripper` `Analyse starten`. 2. Im Metadaten-Dialog Film auswählen (OMDb bzw. manuelle Film-Metadaten). 3. `Auswahl übernehmen`. Wirkung: - der Job wird als Film-Workflow geführt - Film-Fingerprint für Duplikaterkennung wird gebildet (IMDb oder Titel/Jahr) ### 2) Duplikatfall entscheiden Wenn Film mit gleichem Fingerprint bereits existiert, gibt es zwei Wege: 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 Bei Multipart gilt: - beide Discs brauchen unterschiedliche `Disc-Nummer` - gleiche Disc-Nummer blockiert den Vorgang (`MULTIPART_DISC_ALREADY_EXISTS`) ### 3) RAW-Verzeichnis entsteht Ordnername basiert auf Metadaten plus Job-ID: - `Incomplete_ () - RAW - job-` Zustandswechsel des RAW-Ordners: - 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-/.` - 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