Am echten Server gemessen, nachdem der erste Versuch mit „Fehler 500"
abgelehnt wurde. Drei Befunde, alle reproduziert:
**`deviceId` und `playSessionId` fehlten.** Ohne sie antwortet Jellyfin mit
`200` und `Content-Length: 0` — kein Fehler, keine Datei, nichts. Mit ihnen
kamen in fünfzehn Sekunden 66 MB.
Das betraf **auch die verkleinerten Fassungen**: `compressedDownloadURL`
hatte sie nie. „In 480p herunterladen" war damit die ganze Zeit folgenlos —
ein Fehler, der älter ist als alles von heute.
**Die Sitzungskennung muss je Auftrag neu sein.** Zuerst hatte ich sie an die
Titelkennung gehängt, damit ein Wiederholversuch dieselbe Sitzung bleibt.
Zwei Anfragen unter derselben Kennung hielt der Server aber für dieselbe
Sitzung und antwortete der zweiten mit einer leeren Datei. Jetzt eine UUID
beim Anlegen des Auftrags — eindeutig je Download, gleich über alle
Wiederholversuche, weil die Adresse gespeichert ist.
**`subtitleCodec=mov_text` muss dabeistehen.** Das war der Fehler 500. Mit
`subtitleMethod=Embed` allein lehnt der Server ab; derselbe Aufruf ohne
Untertitel liefert 61 MB, mit Untertitel und `mov_text` 42 MB samt Spur. MP4
kennt kein SubRip — wer den Untertitel hineinlegen will, muss sagen, als was.
Nachgewiesen im Simulator gegen den echten Server: „100,0 MB / 917,3 MB ·
6,1 MB/s · noch 2 Min · 11 %".
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>