PW Live Speed Controller

Sets video speed to 3x on PW Live

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name        PW Live Speed Controller
// @namespace   pw-live-speed
// @description Sets video speed to 3x on PW Live
// @include     https://www.pw.live/watch/*
// @version     1
// @grant       none
// ==/UserScript==

(function() {
    'use strict';
    
    // Simple function to set video speed
    function setSpeed() {
        let videos = document.getElementsByTagName('video');
        for (let video of videos) {
            video.defaultPlaybackRate = 3.0;
            video.playbackRate = 3.0;
            
            // Lock the playback rate
            Object.defineProperty(video, 'playbackRate', {
                get: () => 3.0,
                set: function() { return; }
            });
        }
    }

    // Run initially
    setSpeed();
    
    // Simple periodic check for dynamically loaded videos
    setInterval(setSpeed, 1000);
})();