Smooth YouTube livestream

5/11/2025, 9:27:12 PM

目前為 2025-05-11 提交的版本,檢視 最新版本

// ==UserScript==
// @name                Smooth YouTube livestream
// @namespace           UserScripts
// @version             0.1.2
// @license             MIT License
// @match               https://www.youtube.com/*
// @grant               none
// @author              -
// @description         5/11/2025, 9:27:12 PM
// ==/UserScript==
(() => {
    let cid1 = 0, cid2 = 0;
    let checks = new Set();
    let lastMedia = null;
    const onDelayDone = () => {
        const media = lastMedia;
        lastMedia = null;
        if (!media) return;
        // L = n * 1 - n * 0.968
        if (media.isConnected && media.playbackRate === 0.968) {
            media.playbackRate = 1;
        }
    }
    const delayCheck = () => {
        let media;
        for (const target of checks) {
            if (target.isConnected && target.playbackRate === 1 && target.matches('#player *, #ytd-player *')) {
                media = target;
                break;
            }
        }
        if (!media) return;
        if (!document.querySelector('.ytp-live-badge.ytp-live-badge-is-livehead')) return;
        if (cid2) clearTimeout(cid2);
        if (lastMedia && lastMedia.isConnected && lastMedia.playbackRate === 0.968) lastMedia.playbackRate = 1;
        lastMedia = media;
        media.playbackRate = 0.968;
        cid2 = setTimeout(onDelayDone, 30000);
    }
    document.addEventListener('canplay', (e) => {
        if (!e || !e.isTrusted || !(e.target instanceof HTMLMediaElement)) return;
        const p = document.querySelector('.ytp-live-badge.ytp-live-badge-is-livehead');
        const media = e.target;
        if (p && media.playbackRate === 1) {
            if (cid1) clearTimeout(cid1);
            checks.add(media);
            cid1 = setTimeout(delayCheck, 100);
        }
    }, true);
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址