Skip to content

Instantly share code, notes, and snippets.

@DouglasdeMoura
Last active October 25, 2020 15:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DouglasdeMoura/052456a93f93d47982ccb5eefc602eb1 to your computer and use it in GitHub Desktop.
Save DouglasdeMoura/052456a93f93d47982ccb5eefc602eb1 to your computer and use it in GitHub Desktop.
Control YouTube playback rate
/*
* JAVASCRIPT BOOKMARKLET
*
* In order to have this function always at hand and use it in
* any website, just add the code below to a bookmark in your favorite browser.
* Every time you click it, the browser will prompt you for a new playback
* rate for first video in the page.
*/
javascript:(function() {
const rate = prompt('Set the new playback rate', 2.5);
if (rate != null) {
const video = document.getElementsByTagName('video')[0];
video.playbackRate = parseFloat(rate);
}
})();
/*
* CONTROL YOUTUBE PLAYBACK RATE
*
* YouTube videos (along with all modern video implementations on the web)
* uses the HTML5 video element (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video).
* This new media tag implements the HTMLMediaElement API (https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement),
* which gives a plenty of media-related methods common to audio and video.
*
* The standard YouTube player just allow us to increase video speed up to 2x, but, if
* you want to increase it even more? Well, there's a solution for that: just set the
* playback rate to whatever number you want!
*
* The function below receives one argument with the playback rate, selects the first
* <video> element in the page and applies the new playback rate.
*/
function setVideoPlaybackRate(rate = 1) {
document.getElementsByTagName('video')[0].playbackRate = rate;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment