MakeMKV 1.18.4 + UHD-Fehler-Ursachen im Klartext (Laufwerk ist geflasht — Disc-Key war das Problem)
Ampel / ampel (push) Successful in 29s
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:
+14
-4
@@ -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
@@ -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
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user