From 08c2e8f885db88a7c1e94c455ffb798fad416d76 Mon Sep 17 00:00:00 2001 From: team3 Date: Tue, 8 Sep 2026 23:39:04 +0200 Subject: [PATCH] update --- frontend/src/components/StreamTab.vue | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/frontend/src/components/StreamTab.vue b/frontend/src/components/StreamTab.vue index 4ca8d86..c8d5c4e 100644 --- a/frontend/src/components/StreamTab.vue +++ b/frontend/src/components/StreamTab.vue @@ -2,9 +2,9 @@ import { onMounted, onUnmounted, ref } from 'vue' import Hls from 'hls.js' -// Alle Zuschauer regeln auf dieselbe Distanz zur Live-Kante. Damit laufen -// sie synchron, ohne dass ein Server sie taktet. hls.js passt dafür die -// Abspielgeschwindigkeit an (maxLiveSyncPlaybackRate). +// Alle Zuschauer halten dieselbe Distanz zur Live-Kante. Damit laufen sie +// synchron, ohne dass ein Server sie taktet. Ausgeglichen wird nur über +// Sprünge, nicht über die Geschwindigkeit — siehe maxLiveSyncPlaybackRate. const ZIEL_LATENZ = 4 const video = ref(null) @@ -108,11 +108,13 @@ function verbinden() { // ewig mit 1,5-fachem Tempo aufzuholen. Zu dicht an ZIEL_LATENZ // führt laut Doku zu Stockern. liveMaxLatencyDuration: ZIEL_LATENZ + 3, - // Über 1 erlaubt hls.js, die Geschwindigkeit anzuheben, um die - // Ziel-Latenz zu halten. 1,5 wäre deutlich hörbar, wenn der Player sie - // ausreizt; 1,1 reicht für normale Schwankungen und fällt nicht auf. - // Bleibt der Rückstand größer, springt liveMaxLatencyDuration ohnehin. - maxLiveSyncPlaybackRate: 1.1, + // Kein Aufholen über die Geschwindigkeit. Mit 1,1 wechselte der Player + // gemessene 112-mal in 104 Sekunden das Tempo und lief 37 % der Zeit + // schneller als normal — jeder Wechsel ist ein Übergang im Zeitdehner + // und knackst hörbar. Der Puffer lief dabei nie leer (nie unter 2 s), + // die Regelung war also gar nicht nötig. Bleibt der Rückstand doch + // einmal groß, springt liveMaxLatencyDuration. + maxLiveSyncPlaybackRate: 1, backBufferLength: 30, })