UDF-Volume-Label-Leser (Blu-rays haben keine ISO-Bridge) + Etappe 12 (ARM)
Ampel / ampel (push) Successful in 35s
Ampel / ampel (push) Successful in 35s
Praxis-Befund mit echter BD-50: reines UDF, der ISO-PVD-Leser griff nicht. Jetzt ECMA-167-Weg (AVDP Sektor 256 -> Main VDS -> PVD Tag-ID 1 -> Volume Identifier als d-string), mit Tests fuer das d-string-Parsing. ROADMAP Etappe 12 aus der ARM-Vollanalyse: was wir uebernehmen (Fingerprint-DB, bdmt_eng.xml, Suchdegradation, Manual Mode, Apprise, Multi-Drive, Backup-Modus) und wo wir ARM schlagen (Serien-Episoden- Matching, Main-Feature per Laufzeitabgleich). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+43
@@ -251,3 +251,46 @@ Bind-Mounts statt devices: (EPERM), UI rief hartkodiert localhost:8000 auf.
|
||||
- [x] compose: devices: statt Bind-Mounts; Ausgabe aufs media-Volume
|
||||
- [ ] Jellyfin-Post-Processing an den Worker anbinden (NFO/Poster nach dem Rip)
|
||||
- [ ] Auth vor die schreibenden Endpoints (JWT existiert, schützt aber nichts)
|
||||
|
||||
---
|
||||
|
||||
## Etappe 12: Besser als ARM (aus ARM-Analyse 23.07.2026)
|
||||
|
||||
**Quelle:** Vollanalyse von Automatic Ripping Machine v2.24 (Code, arm.yaml,
|
||||
Wiki, Issues). Was Rippy strukturell schon besser macht: Lossless-first statt
|
||||
Transcode-first (ARMs BD-Default ist ein 1080p30-Downscale!), Celery+Postgres
|
||||
statt Prozess-pro-udev-Event+SQLite (ARM-UI friert beim Rippen ein, #1046),
|
||||
ioctl-Watcher statt fragiler udev-Ketten (ARMs größte Support-Quelle), NFO +
|
||||
Jellyfin-Konvention nativ (ARM kann nur Emby-Refresh, keine NFOs).
|
||||
|
||||
**Übernehmen (priorisiert):**
|
||||
- [ ] **Disc-Fingerprint-DB (selbstlernend)** — ARMs beste Idee, besser gemacht:
|
||||
Tabelle disc_fingerprints (DVD-CRC64/MusicBrainz-DiscID/BD-Label-Hash →
|
||||
bestätigte Metadaten). Jede UI-Bestätigung schreibt zurück; zweite Disc
|
||||
derselben Serie wird sofort erkannt. Lokal statt ARMs Crowd-Server
|
||||
(Single Point of Failure auf Free-Hosting).
|
||||
- [ ] **BD-Titel aus BDMV/META/DL/bdmt_eng.xml** als Identifikations-Stufe vor
|
||||
den APIs (echter Disc-Titel statt Label-Raterei).
|
||||
- [ ] **Progressive Suchdegradation** bei TMDB/OMDb: mit Jahr → ohne Jahr →
|
||||
tokenweises Titel-Stripping; jede Stufe senkt die Confidence.
|
||||
- [ ] **Duplikat-Schutz**: Fingerprint-Treffer → „schon gerippt am X — trotzdem?"
|
||||
- [ ] **Track-Auswahl (Manual Mode), besser als ARM**: Job-Status
|
||||
awaiting_selection nach makemkvcon-info; Track-Tabelle im UI mit
|
||||
Heuristik-Vorauswahl; Timeout → Weiter mit Default (ARM bricht hart ab,
|
||||
erlaubt nur EINE Auswahl).
|
||||
- [ ] **Min/Max-Titellänge + Extras**: Bonusmaterial nach extras/ (versteht
|
||||
Jellyfin nativ) statt alles flach.
|
||||
- [ ] **Apprise-Benachrichtigungen**: eine Lib für Telegram/Discord/…,
|
||||
Hooks auf job_completed/failed/awaiting_selection, Deep-Link ins UI.
|
||||
- [ ] **Multi-Drive-Verwaltung**: drives-Tabelle (Seriennummer, Custom-Name,
|
||||
UHD-fähig-Flag), parallele Rips, Job↔Drive-Zuordnung.
|
||||
- [ ] **Backup-Modus** (makemkvcon backup --decrypt) als Plan B für Problem-Discs.
|
||||
- [ ] **Jellyfin-Refresh** nach Ablage (POST /Library/Refresh).
|
||||
|
||||
**ARM schlagen (Alleinstellung):**
|
||||
- [ ] **Serien-Episoden-Erkennung** — ARMs offene Wunde seit 2019 (#395):
|
||||
TVDB-Episodenlaufzeiten gegen Track-Laufzeiten matchen (±5 %,
|
||||
Reihenfolge-Constraint, Disc-Nr aus Label), Vorschlag
|
||||
„Show/Season 02/Show S02E05.mkv" im Preview bestätigen.
|
||||
- [ ] **Main-Feature per Laufzeitabgleich** mit TMDB-Runtime (±3 min) statt
|
||||
ARMs „größte Datei gewinnt" (#1297-Fehlklasse).
|
||||
|
||||
Reference in New Issue
Block a user