update
This commit is contained in:
@@ -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,
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user