From b8922a2f08a8e40d41c2d93291be82d581309b13 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 10 Mar 2026 22:02:13 +0100 Subject: [PATCH] perf(player): optimize desktop players for micro-cuts and stability --- web/player.html | 10 +++++----- web/player_lite.html | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/web/player.html b/web/player.html index 8ae8c97..9940e5d 100644 --- a/web/player.html +++ b/web/player.html @@ -255,14 +255,14 @@ const hls = new Hls({ maxBufferLength: 120, enableWorker: true, - liveSyncDurationCount: 3, // Reduced for faster initial sync - nudgeOffset: 0.4, - nudgeMaxRetries: 15, + liveSyncDurationCount: 6, // Slightly more buffer for micro-cut protection + nudgeOffset: 0.6, // More aggressive jump over corrupted frames + nudgeMaxRetries: 25, maxLiveSyncPlaybackRate: 1.15, // Turbo-Start specific - startLevel: 0, // Force lowest level for instant start + startLevel: 0, initialLiveManifestSize: 1, - abrEwmaDefaultEstimate: 500000, + abrEwmaDefaultEstimate: 700000, manifestLoadingRetryDelay: 500, levelLoadingRetryDelay: 500 }); diff --git a/web/player_lite.html b/web/player_lite.html index 90987e1..55e74ae 100644 --- a/web/player_lite.html +++ b/web/player_lite.html @@ -248,17 +248,17 @@ maxBufferLength: 120, // Doubled for stability maxMaxBufferLength: 240, enableWorker: true, - liveSyncDurationCount: 3, // Reduced for faster initial sync + liveSyncDurationCount: 6, // Slightly more buffer for micro-cut protection liveMaxLatencyDurationCount: 40, lowLatencyMode: false, // Disabled for better stability on laggy connections // Robustness features - nudgeOffset: 0.5, // Jump over discontinuities more aggressively - nudgeMaxRetries: 20, + nudgeOffset: 0.6, // More aggressive jump over corrupted frames + nudgeMaxRetries: 25, maxLiveSyncPlaybackRate: 1.2, // Smooth catch-up // Turbo-Start specific - startLevel: 0, // Force lowest level for instant start + startLevel: 0, initialLiveManifestSize: 1, - abrEwmaDefaultEstimate: 500000, + abrEwmaDefaultEstimate: 700000, manifestLoadingRetryDelay: 500, levelLoadingRetryDelay: 500 });