Probe: prüfen, ob der Transcoder überhaupt etwas tut

Das Abwarten brachte nichts: der Vorgang meldet auch nach zwölf Sekunden
keine Daten. Und jede Anfrage an den Transcoder endet mit einer nackten
400 — auch die an den Entscheider, der sich sonst erklärt.

Das ist ein Muster, das nicht nach Live-TV aussieht, sondern nach dem
Transcoder selbst. Dass er funktioniert, habe ich die ganze Zeit
vorausgesetzt und nie geprüft: Filme laufen über DirectPlay, da wird er
gar nicht gefragt. Live-TV ist das Erste, was ihn zwingend braucht.

Also die Gegenprobe, vor allem weiteren Suchen: eine gewöhnliche Datei
aus der Mediathek durch den Transcoder. Läuft sie durch, liegt es an
Live-TV. Läuft sie nicht durch, habe ich tagelang am falschen Ende
gesucht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-09-12 15:53:54 +02:00
co-authored by Claude Opus 5
parent 2c66e61c71
commit 458396c2b7
@@ -76,6 +76,30 @@ if !requested.isEmpty {
exit(0)
}
// MARK: - Gegenprobe
// Bevor weiter an Live-TV gesucht wird: tut der Transcoder überhaupt etwas?
// Jede Anfrage an ihn endet mit einer nackten 400 — auch die an den
// Entscheider. Das ist eine Annahme, die ich die ganze Zeit ungeprüft
// mitgeschleppt habe, und sie gehört als Erstes geprüft: läuft eine
// gewöhnliche Datei durch, liegt es an Live-TV. Läuft sie nicht durch, habe
// ich tagelang am falschen Ende gesucht.
if let hubs = try? await server.homeHubs(),
let movie = hubs.flatMap(\.items).first(where: { $0.kind == .movie }) {
let request = TranscodeRequest(
ratingKey: movie.ratingKey,
maximumBitrate: 4_000,
isLocal: connection.local
)
if let url = server.transcodeURL(for: request) {
print("Gegenprobe — Transcoder mit: \(movie.title)")
print(" → \(await server.probeStream(url: url))")
print()
}
} else {
print("Gegenprobe: keine Datei zum Prüfen gefunden.\n")
}
// MARK: - Live-TV
let availability = await server.liveTVAvailability()