Den grössten Titel messen, und die Quelle dazusagen
Die Reihe lieferte viermal dasselbe — 480p bei 1,1 Mbit, gleichgültig ob mit `videoResolution` oder mit 20 Mbit. Das sieht nach einem Fehler in der Anfrage aus und ist wahrscheinlich keiner: gemessen wurde „2 Fast 2 Furious", der erste Titel im Alphabet, und vermutlich ein 540p-Rip. Plex rechnet nichts hoch. Damit misst die Reihe die **Datei** statt die Einstellungen — und aus einer Messung, die immer dasselbe sagt, liest man leicht das Falsche heraus. Die Probe nimmt jetzt den Titel mit der höchsten Bitrate aus einer Stichprobe von sechzig und druckt die Quelle dazu: Auflösung, Bitrate, Codec. Damit ist auf einen Blick zu sehen, ob eine kleine Antwort eine kleine Quelle ist oder ein echter Deckel. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
d2237c29cd
commit
c334fca665
@@ -150,6 +150,20 @@ let firstMovie = await { () async -> PlexItem? in
|
||||
return try? await server.items(inLibrary: movieLibrary, limit: 1).items.first
|
||||
}()
|
||||
|
||||
/// Der **größte** Titel aus einer Stichprobe — nicht der erste im Alphabet.
|
||||
///
|
||||
/// Für die Frage „wie gross liefert der Server" taugt eine kleine Datei
|
||||
/// nicht: Plex rechnet nichts hoch, und dann misst man die Quelle statt die
|
||||
/// Einstellungen. Genau daran ist eine Messung schon gescheitert — „2 Fast 2
|
||||
/// Furious" steht alphabetisch vorn und ist ein 540p-Rip.
|
||||
let biggestMovie = await { () async -> PlexItem? in
|
||||
guard let movieLibrary else { return nil }
|
||||
let stichprobe = (try? await server.items(inLibrary: movieLibrary, limit: 60).items) ?? []
|
||||
return stichprobe.max { links, rechts in
|
||||
(links.media.first?.bitrate ?? 0) < (rechts.media.first?.bitrate ?? 0)
|
||||
}
|
||||
}()
|
||||
|
||||
// MARK: - Die Leiter bei Plex
|
||||
|
||||
// Dieselbe Frage wie bei Jellyfin, und aus demselben Grund gestellt: bei Plex
|
||||
@@ -157,11 +171,18 @@ let firstMovie = await { () async -> PlexItem? in
|
||||
// mehrere Stufen liefert, war nie geprüft. Eine ungeprüfte Annahme über
|
||||
// Serververhalten hat uns bei Jellyfin vier Runden gekostet.
|
||||
if CommandLine.arguments.contains("--leiter") {
|
||||
guard let movie = firstMovie else {
|
||||
guard let movie = biggestMovie ?? firstMovie else {
|
||||
print("Keine Datei zum Prüfen gefunden.")
|
||||
exit(0)
|
||||
}
|
||||
print("Leiter-Probe mit: \(movie.title)\n")
|
||||
|
||||
// **Die Quelle zuerst nennen.** Ohne sie misst man womöglich die Datei
|
||||
// statt die Einstellungen: Plex rechnet nichts hoch, und eine kleine
|
||||
// Quelle liefert klein, ganz gleich was man anfragt.
|
||||
let quelle = movie.media.first
|
||||
print("Leiter-Probe mit: \(movie.title)")
|
||||
print(" Quelle: \(quelle?.width ?? 0)x\(quelle?.height ?? 0), "
|
||||
+ "\((quelle?.bitrate ?? 0)) kbit, \(quelle?.videoCodec ?? "–")\n")
|
||||
|
||||
// **Zwei getrennte Sitzungen, und das ist der Kern des Vergleichs.**
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user