MakeMKV 1.18.4 + UHD-Fehler-Ursachen im Klartext (Laufwerk ist geflasht — Disc-Key war das Problem)
Ampel / ampel (push) Successful in 29s

Diagnose auf der VM (Summer-Wars-UHD, MKB v82):
- 'Using LibreDrive mode (v06.3)' — der BU40N-Crossflash IST erledigt,
  das Laufwerk liest UHD. Der Fehlschlag kam von 'The volume key is
  unknown for this disc': die Disc ist neuer als MakeMKVs
  Schluessel-Datenbank — mit 1.17.7 UND der aktuellsten 1.18.4 bewiesen
  (beide Versionen live gegen die Disc getestet).

Konsequenzen:
- MakeMKV-Pin von 1.17.7 auf 1.18.4 gehoben: der 1.18er Scan-Haenger
  (Forum t=38128) wird ueberall mit --noscan umgangen (info-Lauf mit
  1.18.4 auf der BU40N sauber durchgelaufen), die Flash-Faehigkeit von
  1.17.7 wird nicht mehr gebraucht. Aktuelle Version = aktuellste
  AACS-Key-DB. URL-Base -> /download (dort liegt nur die aktuelle).
- run_makemkv reicht KRITISCHE Meldungen (volume key unknown, Key
  abgelaufen, too old version) in den Fehlertext durch — vorher stand
  da nur die nichtssagende letzte Zeile 'Failed to open disc'.
- UHD-Klartext in tasks.py unterscheidet jetzt die zwei Faelle:
  volume-key-unknown (MakeMKV/Disc-Alter, AACS-Dump aus /root/.MakeMKV/
  im MakeMKV-Forum einreichen) vs. Failed-to-open ohne LibreDrive
  (Firmware-Hinweis).
- SAVEPOINT: Flash-Status korrigiert (war als offen dokumentiert).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-07-24 13:44:42 +02:00
parent 5778ac4645
commit c9270d08e1
5 changed files with 67 additions and 29 deletions
+14 -4
View File
@@ -14,10 +14,20 @@
**Neu in v3.3:**
- **4K UHD als eigener Disc-Typ** (classify ≥ 55 GiB, beide detection.py,
Tests): eigene Badge-Farbe überall, Prescan-Label „4K UHD". Der
UHD-Rip-Fehler „Failed to open disc" (Code 11) bekommt Klartext:
Laufwerk kann UHD nicht entschlüsseln → LibreDrive-Firmware-Hinweis
(BU40N-Crossflash-Faden bleibt Hardware-Aufgabe des Commanders).
Tests): eigene Badge-Farbe überall, Prescan-Label „4K UHD".
- **UHD-Kette diagnostiziert (Nachtrag, gleicher Tag): Der BU40N-Flash IST
erledigt** — makemkvcon meldet „Using LibreDrive mode (v06.3)". Der
Summer-Wars-Fehlschlag lag NICHT am Laufwerk, sondern an „The volume key
is unknown": die Disc (MKB v82) ist neuer als MakeMKVs Schlüssel-DB —
auf der VM mit 1.17.7 UND der aktuellsten 1.18.4 bewiesen. Konsequenzen:
MakeMKV auf **1.18.4** gehoben (Scan-Hänger durch überall genutztes
--noscan umgangen, auf der BU40N sauber gelaufen; URL-Base → /download),
run_makemkv reicht kritische Meldungen (volume key/Key abgelaufen) in
den Fehlertext durch, UHD-Klartext unterscheidet jetzt „Laufwerk kann
kein UHD" von „Disc neuer als Key-DB" inkl. Forum-Dump-Hinweis
(MakeMKV speichert den AACS-Dump automatisch unter /root/.MakeMKV/).
Summer Wars bleibt bis zu einem MakeMKV-Key-Update nicht entschlüsselbar
— das ist Stand der Technik, kein Rippy-Bug.
- **Vollautomatik** (Einstellungen → Ripping): Disc erkannt → Rip startet
ohne Popup in den passenden Schnellwahl-Ordner (Serie/Film/Musik).
- **Job-Verwaltung**: „Neu komprimieren" nur noch, wenn Rohdaten wirklich
+2 -1
View File
@@ -67,7 +67,8 @@ services:
args:
# Übersteuerbar via .env — makemkv.com ist zeitweise down (Cloudflare
# 525); dann Wayback-Snapshot als MAKEMKV_URL_BASE eintragen.
MAKEMKV_URL_BASE: ${MAKEMKV_URL_BASE:-https://www.makemkv.com/download/old}
# /download = aktuelle Version, /download/old = ältere Versionen.
MAKEMKV_URL_BASE: ${MAKEMKV_URL_BASE:-https://www.makemkv.com/download}
environment:
- DATABASE_URL=postgresql://rippy:rippy@postgres:5432/rippy
- REDIS_URL=redis://redis:6379/0
+13 -10
View File
@@ -12,15 +12,18 @@
FROM python:3.12-slim-bookworm AS makemkv-build
# 1.17.7 statt 1.18.4 (23.07.2026): MakeMKV 1.18.x hat unter Linux einen
# bekannten Hänger beim Laufwerks-Scan (100 % CPU, keine Ausgabe) — bei uns
# reproduziert, im Forum vielfach bestätigt (t=38128, t=38239), Workaround
# laut Community: 1.17.7. Bonus: 1.17.7 ist auch die Version, die
# Firmware-Flashen kann (neuere ignorieren den Flash-Befehl).
# MAKEMKV_URL_BASE ist übersteuerbar (Build-Arg), falls makemkv.com
# gerade down ist (Wayback-Snapshot als Ausweich-Quelle).
ARG MAKEMKV_VERSION=1.17.7
ARG MAKEMKV_URL_BASE=https://www.makemkv.com/download/old
# Zurück auf die AKTUELLE Version (24.07.2026): 1.17.7 war wegen des
# 1.18er-Laufwerks-Scan-Hängers (Forum t=38128) und der Flash-Fähigkeit
# gepinnt. Beides erledigt: der Scan wird überall mit --noscan umgangen
# (info-Lauf mit 1.18.4 auf der BU40N sauber durchgelaufen, 24.07.), und
# das Laufwerk ist geflasht (LibreDrive v06.3 bestätigt). Die AKTUELLE
# Version zählt, weil sie die neueste AACS-Schlüssel-Datenbank mitbringt —
# 1.17.7 kannte z. B. den Key der Summer-Wars-UHD (MKB v82) nicht.
# MAKEMKV_URL_BASE ist übersteuerbar (Build-Arg): /download hat nur die
# aktuelle Version, /download/old die älteren; bei Cloudflare-525 einen
# Wayback-Snapshot eintragen.
ARG MAKEMKV_VERSION=1.18.4
ARG MAKEMKV_URL_BASE=https://www.makemkv.com/download
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
@@ -78,7 +81,7 @@ RUN ldconfig
# Version fürs UI sichtbar machen (Einstellungen → System): makemkvcon hat
# keinen --version-Schalter, also kommt die Wahrheit aus dem Build selbst.
ARG MAKEMKV_VERSION=1.17.7
ARG MAKEMKV_VERSION=1.18.4
ENV MAKEMKV_VERSION=${MAKEMKV_VERSION}
WORKDIR /app
+14
View File
@@ -195,6 +195,17 @@ def run_makemkv(device_path: str, output_dir: str, progress_cb=None) -> dict:
)
letzte_meldung = ""
# Kritische Meldungen einsammeln: die LETZTE Zeile ist fast immer nur
# "Failed to open disc" — die URSACHE ("volume key is unknown", Key
# abgelaufen) steht Zeilen davor und ging im Fehlertext verloren
# (Befund 24.07., Summer-Wars-UHD).
kritische_meldungen = []
KRITISCH = (
"volume key is unknown",
"evaluation period has expired",
"registration key",
"Too old version",
)
try:
for line in process.stdout:
progress = get_progress_from_prgv(line)
@@ -205,6 +216,8 @@ def run_makemkv(device_path: str, output_dir: str, progress_cb=None) -> dict:
teile = line.split(",", 4)
if len(teile) >= 4:
letzte_meldung = teile[3].strip('"')
if any(muster in letzte_meldung for muster in KRITISCH):
kritische_meldungen.append(letzte_meldung)
except RipAbbruch:
process.kill()
process.wait()
@@ -229,6 +242,7 @@ def run_makemkv(device_path: str, output_dir: str, progress_cb=None) -> dict:
"status": "error",
"error": (
f"makemkvcon endete mit Code {process.returncode}"
+ (f" — Ursache: {'; '.join(kritische_meldungen)}" if kritische_meldungen else "")
+ (f" — letzte Meldung: {letzte_meldung}" if letzte_meldung else "")
+ ("" if mkv_dateien else " — keine MKV-Datei entstanden")
),
+24 -14
View File
@@ -274,20 +274,30 @@ def rip_disc(self, device_path: str, job_id: str, target_dir: str = None):
progress_cb=fortschritt, output_dir=final_dir,
)
# 4K-UHD scheitert mit Nicht-LibreDrive-Laufwerken IMMER an der
# Verschlüsselung — "Failed to open disc" heißt dann nicht "Disc kaputt",
# sondern "Laufwerk kann kein UHD" (Firmware-Faden, siehe SAVEPOINT).
if (
ergebnis.get("status") == "error"
and disc_type == "uhd"
and "Failed to open disc" in (ergebnis.get("error") or "")
):
ergebnis["error"] += (
" — 4K-UHD erkannt: Das Laufwerk kann UHD-Discs vermutlich nicht "
"entschlüsseln. Dafür ist eine LibreDrive-Firmware nötig (BU40N: "
"Crossflash auf 1.03-MK, MakeMKV-Forum 'Ultimate UHD Drives "
"Flashing Guide'). Normale BD/DVD gehen weiterhin."
)
# UHD-Fehler in Klartext übersetzen — "Failed to open disc" allein hilft
# niemandem. Zwei bekannte Ursachen (Befunde 24.07., Summer-Wars-UHD):
if ergebnis.get("status") == "error" and disc_type == "uhd":
fehler_text = ergebnis.get("error") or ""
if "volume key is unknown" in fehler_text:
# LibreDrive lief bereits — MakeMKV kennt nur den Disc-Schlüssel
# nicht: Version zu alt ODER Disc neuer als die Key-Datenbank.
ergebnis["error"] += (
" — Klartext: Das Laufwerk liest die Disc (LibreDrive OK), "
"aber MakeMKV kennt den Schlüssel dieser Disc nicht. Erst "
"prüfen: MakeMKV aktuell? (Einstellungen → System; Update = "
"Image-Rebuild). Ist es aktuell, ist die Disc neuer als die "
"Schlüssel-Datenbank — MakeMKV hat einen AACS-Dump unter "
"/root/.MakeMKV/ im Worker gespeichert; im MakeMKV-Forum "
"(Bereich 'Ultra HD Blu-ray') einreichen, mit einem der "
"nächsten Updates ist die Disc dann rippbar."
)
elif "Failed to open disc" in fehler_text:
ergebnis["error"] += (
" — 4K-UHD erkannt: Das Laufwerk kann UHD-Discs vermutlich "
"nicht entschlüsseln. Dafür ist eine LibreDrive-Firmware nötig "
"(MakeMKV-Forum 'Ultimate UHD Drives Flashing Guide'). "
"Normale BD/DVD gehen weiterhin."
)
if ergebnis.get("status") == "success" and transcode_an:
# Kompression als eigener Task auf der transcode-Queue — kann vom