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:**
|
**Neu in v3.3:**
|
||||||
- **4K UHD als eigener Disc-Typ** (classify ≥ 55 GiB, beide detection.py,
|
- **4K UHD als eigener Disc-Typ** (classify ≥ 55 GiB, beide detection.py,
|
||||||
Tests): eigene Badge-Farbe überall, Prescan-Label „4K UHD". Der
|
Tests): eigene Badge-Farbe überall, Prescan-Label „4K UHD".
|
||||||
UHD-Rip-Fehler „Failed to open disc" (Code 11) bekommt Klartext:
|
- **UHD-Kette diagnostiziert (Nachtrag, gleicher Tag): Der BU40N-Flash IST
|
||||||
Laufwerk kann UHD nicht entschlüsseln → LibreDrive-Firmware-Hinweis
|
erledigt** — makemkvcon meldet „Using LibreDrive mode (v06.3)". Der
|
||||||
(BU40N-Crossflash-Faden bleibt Hardware-Aufgabe des Commanders).
|
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
|
- **Vollautomatik** (Einstellungen → Ripping): Disc erkannt → Rip startet
|
||||||
ohne Popup in den passenden Schnellwahl-Ordner (Serie/Film/Musik).
|
ohne Popup in den passenden Schnellwahl-Ordner (Serie/Film/Musik).
|
||||||
- **Job-Verwaltung**: „Neu komprimieren" nur noch, wenn Rohdaten wirklich
|
- **Job-Verwaltung**: „Neu komprimieren" nur noch, wenn Rohdaten wirklich
|
||||||
|
|||||||
+2
-1
@@ -67,7 +67,8 @@ services:
|
|||||||
args:
|
args:
|
||||||
# Übersteuerbar via .env — makemkv.com ist zeitweise down (Cloudflare
|
# Übersteuerbar via .env — makemkv.com ist zeitweise down (Cloudflare
|
||||||
# 525); dann Wayback-Snapshot als MAKEMKV_URL_BASE eintragen.
|
# 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:
|
environment:
|
||||||
- DATABASE_URL=postgresql://rippy:rippy@postgres:5432/rippy
|
- DATABASE_URL=postgresql://rippy:rippy@postgres:5432/rippy
|
||||||
- REDIS_URL=redis://redis:6379/0
|
- REDIS_URL=redis://redis:6379/0
|
||||||
|
|||||||
+13
-10
@@ -12,15 +12,18 @@
|
|||||||
|
|
||||||
FROM python:3.12-slim-bookworm AS makemkv-build
|
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
|
# Zurück auf die AKTUELLE Version (24.07.2026): 1.17.7 war wegen des
|
||||||
# bekannten Hänger beim Laufwerks-Scan (100 % CPU, keine Ausgabe) — bei uns
|
# 1.18er-Laufwerks-Scan-Hängers (Forum t=38128) und der Flash-Fähigkeit
|
||||||
# reproduziert, im Forum vielfach bestätigt (t=38128, t=38239), Workaround
|
# gepinnt. Beides erledigt: der Scan wird überall mit --noscan umgangen
|
||||||
# laut Community: 1.17.7. Bonus: 1.17.7 ist auch die Version, die
|
# (info-Lauf mit 1.18.4 auf der BU40N sauber durchgelaufen, 24.07.), und
|
||||||
# Firmware-Flashen kann (neuere ignorieren den Flash-Befehl).
|
# das Laufwerk ist geflasht (LibreDrive v06.3 bestätigt). Die AKTUELLE
|
||||||
# MAKEMKV_URL_BASE ist übersteuerbar (Build-Arg), falls makemkv.com
|
# Version zählt, weil sie die neueste AACS-Schlüssel-Datenbank mitbringt —
|
||||||
# gerade down ist (Wayback-Snapshot als Ausweich-Quelle).
|
# 1.17.7 kannte z. B. den Key der Summer-Wars-UHD (MKB v82) nicht.
|
||||||
ARG MAKEMKV_VERSION=1.17.7
|
# MAKEMKV_URL_BASE ist übersteuerbar (Build-Arg): /download hat nur die
|
||||||
ARG MAKEMKV_URL_BASE=https://www.makemkv.com/download/old
|
# 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 \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
build-essential \
|
build-essential \
|
||||||
@@ -78,7 +81,7 @@ RUN ldconfig
|
|||||||
|
|
||||||
# Version fürs UI sichtbar machen (Einstellungen → System): makemkvcon hat
|
# Version fürs UI sichtbar machen (Einstellungen → System): makemkvcon hat
|
||||||
# keinen --version-Schalter, also kommt die Wahrheit aus dem Build selbst.
|
# 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}
|
ENV MAKEMKV_VERSION=${MAKEMKV_VERSION}
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|||||||
@@ -195,6 +195,17 @@ def run_makemkv(device_path: str, output_dir: str, progress_cb=None) -> dict:
|
|||||||
)
|
)
|
||||||
|
|
||||||
letzte_meldung = ""
|
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:
|
try:
|
||||||
for line in process.stdout:
|
for line in process.stdout:
|
||||||
progress = get_progress_from_prgv(line)
|
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)
|
teile = line.split(",", 4)
|
||||||
if len(teile) >= 4:
|
if len(teile) >= 4:
|
||||||
letzte_meldung = teile[3].strip('"')
|
letzte_meldung = teile[3].strip('"')
|
||||||
|
if any(muster in letzte_meldung for muster in KRITISCH):
|
||||||
|
kritische_meldungen.append(letzte_meldung)
|
||||||
except RipAbbruch:
|
except RipAbbruch:
|
||||||
process.kill()
|
process.kill()
|
||||||
process.wait()
|
process.wait()
|
||||||
@@ -229,6 +242,7 @@ def run_makemkv(device_path: str, output_dir: str, progress_cb=None) -> dict:
|
|||||||
"status": "error",
|
"status": "error",
|
||||||
"error": (
|
"error": (
|
||||||
f"makemkvcon endete mit Code {process.returncode}"
|
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 "")
|
+ (f" — letzte Meldung: {letzte_meldung}" if letzte_meldung else "")
|
||||||
+ ("" if mkv_dateien else " — keine MKV-Datei entstanden")
|
+ ("" if mkv_dateien else " — keine MKV-Datei entstanden")
|
||||||
),
|
),
|
||||||
|
|||||||
+22
-12
@@ -274,19 +274,29 @@ def rip_disc(self, device_path: str, job_id: str, target_dir: str = None):
|
|||||||
progress_cb=fortschritt, output_dir=final_dir,
|
progress_cb=fortschritt, output_dir=final_dir,
|
||||||
)
|
)
|
||||||
|
|
||||||
# 4K-UHD scheitert mit Nicht-LibreDrive-Laufwerken IMMER an der
|
# UHD-Fehler in Klartext übersetzen — "Failed to open disc" allein hilft
|
||||||
# Verschlüsselung — "Failed to open disc" heißt dann nicht "Disc kaputt",
|
# niemandem. Zwei bekannte Ursachen (Befunde 24.07., Summer-Wars-UHD):
|
||||||
# sondern "Laufwerk kann kein UHD" (Firmware-Faden, siehe SAVEPOINT).
|
if ergebnis.get("status") == "error" and disc_type == "uhd":
|
||||||
if (
|
fehler_text = ergebnis.get("error") or ""
|
||||||
ergebnis.get("status") == "error"
|
if "volume key is unknown" in fehler_text:
|
||||||
and disc_type == "uhd"
|
# LibreDrive lief bereits — MakeMKV kennt nur den Disc-Schlüssel
|
||||||
and "Failed to open disc" in (ergebnis.get("error") or "")
|
# nicht: Version zu alt ODER Disc neuer als die Key-Datenbank.
|
||||||
):
|
|
||||||
ergebnis["error"] += (
|
ergebnis["error"] += (
|
||||||
" — 4K-UHD erkannt: Das Laufwerk kann UHD-Discs vermutlich nicht "
|
" — Klartext: Das Laufwerk liest die Disc (LibreDrive OK), "
|
||||||
"entschlüsseln. Dafür ist eine LibreDrive-Firmware nötig (BU40N: "
|
"aber MakeMKV kennt den Schlüssel dieser Disc nicht. Erst "
|
||||||
"Crossflash auf 1.03-MK, MakeMKV-Forum 'Ultimate UHD Drives "
|
"prüfen: MakeMKV aktuell? (Einstellungen → System; Update = "
|
||||||
"Flashing Guide'). Normale BD/DVD gehen weiterhin."
|
"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:
|
if ergebnis.get("status") == "success" and transcode_an:
|
||||||
|
|||||||
Reference in New Issue
Block a user