diff --git a/Packages/FlixyKit/Sources/FlixyProbe/Leiter.swift b/Packages/FlixyKit/Sources/FlixyProbe/Leiter.swift index 5872f31..d0e1fc5 100644 --- a/Packages/FlixyKit/Sources/FlixyProbe/Leiter.swift +++ b/Packages/FlixyKit/Sources/FlixyProbe/Leiter.swift @@ -200,8 +200,42 @@ func jellyfinLeiter(host: String) async { } print("3) Als master.m3u8 mit enableAdaptiveBitrateStreaming=true") - print(await prüfePlaylist( + let mitABR = await prüfePlaylist( setzend("enableAdaptiveBitrateStreaming", auf: "true", in: master), kopfzeilen: kopf - )) + ) + print(mitABR) + + if mitABR.contains("1 Stufe:") { erklärungWarumKeineLeiter() } + + // Aufräumen: die Aushandlung hat am Server eine Sitzung angelegt, und + // ohne dieses Signal rechnet der Transcoder weiter, obwohl niemand + // zusieht. Ein Messwerkzeug, das Arbeit hinterlässt, ist ein schlechtes. + if let sitzung = ziel.sessionID { + await backend.endPlayback(sessionID: sitzung) + } + print("") + print("Transcode-Sitzung beendet.") +} + +/// Sagt, woran es liegen kann — aus Jellyfins eigenem Quelltext. +/// +/// `DynamicHlsHelper.EnableAdaptiveBitrateStreaming` prüft der Reihe nach, +/// und die erste Hürde ist die überraschendste. +func erklärungWarumKeineLeiter() { + print("") + print(" Warum nur eine Stufe kommt — aus Jellyfins Quelltext,") + print(" `DynamicHlsHelper.EnableAdaptiveBitrateStreaming`, der Reihe nach:") + print("") + print(" 1. Im lokalen Netz liefert Jellyfin grundsätzlich keine Leiter.") + print(" Wörtlich im Quelltext: „Within the local network this will") + print(" likely do more harm than good.\" Das gilt auch für ein") + print(" schwaches WLAN — unterschieden wird da nicht.") + print(" 2. Ohne den Parameter keine Leiter; im Server steht er auf false.") + print(" 3. Bei einem laufenden Sender nicht.") + print(" 4. Wird Bild ODER Ton nur kopiert statt neu gerechnet, nicht.") + print(" Das trifft oft zu, wenn der Ton schon AAC ist.") + print("") + print(" Kam dieser Aufruf von zuhause, ist Punkt 1 die Erklärung — und dann") + print(" sagt die Messung nichts darüber, was von unterwegs käme.") }