YouTube: Force html5_exponential_memory_for_sticky

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

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
作者
𝖢𝖸 𝖥𝗎𝗇𝗀
1日のインストール数
0
累計インストール数
362
評価
2 0 0
バージョン
0.5.8
作成日
2023/07/17
更新日
2024/04/28
大きさ
3.8KB
ライセンス
MIT
対象サイト

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,'|'));