YouTube: Force html5_exponential_memory_for_sticky

To prevent YouTube to change the video quality automatically during YouTube Live Streaming.

Author
𝖢𝖸 𝖥𝗎𝗇𝗀
Daily installs
0
Total installs
321
Ratings
2 0 0
Version
0.5.8
Created
2023-07-17
Updated
2024-04-28
License
MIT
Applies to

This script is the first script on Greasy Fork to focus on the setting html5_exponential_memory_for_sticky in WEB_PLAYER_CONTEXT_CONFIG_ID_KEVLAR_WATCH.

During YouTube live streaming, the video quality might change as YouTube engine detected your browser might be not that powerful (network slow) to handle the high video quality, but indeed the cause might be due to the overwhelmed chat messages in chat iframe (e.g. Pekora Ch. 兎田ぺこら's popular 生配信).

This script will enable the hidden feature html5_exponential_memory_for_sticky for the player settings such that the video quality will not freely automatically changed.

You can still change the video quality settings using the buttons in the player.

Compatible with YouTube EXPERIMENT_FLAGS Tamer

Notes

Turn ON the following:

  • html5_exponential_memory_for_sticky becomes true

Turn OFF the following:

  • html5_perf_cap_override_sticky
  • html5_ustreamer_cap_override_sticky
  • html5_always_apply_default_quality_cap
  • html5_apply_pbr_cap_for_drm
  • manifestless_post_live_ufph
  • manifestless_post_live
  • hls_for_vod
  • mweb_remove_360p_cap

Testing

((s)=>[...yt.config_.WEB_PLAYER_CONTEXT_CONFIGS.WEB_PLAYER_CONTEXT_CONFIG_ID_KEVLAR_WATCH.serializedExperimentFlags.matchAll(
    new RegExp(`\\b(${s})=([^&=]+)\\b`,"g")
)].map(e=>e.slice(1,3))
)(`
  html5_exponential_memory_for_sticky|h5_expr_b9Nkc|html5_perf_cap_override_sticky|html5_ustreamer_cap_override_sticky|
  html5_always_apply_default_quality_cap|html5_apply_pbr_cap_for_drm|manifestless_post_live_ufph|manifestless_post_live|
  hls_for_vod|mweb_remove_360p_cap
`.replace(/\s+/g,'').replace(/\|+/g,'|'));