Hello 👋! Thanks for subscribing.
Published on: 2021-01-22
tags: TIL, Unix
Distraction-free YouTube (and other videos) on your computer
The free YouTube version has ads and suggestions what to watch. Those try to keep the user on YouTube’s website.
Tons of useful videos exist. If you’re like me, you’ll soon fall into the rabbit hole and spend too much time on YouTube.
Make sure to follow your operating system’s instructions to install those programs.
Vimium is a Google Chrome extension which allows you to navigate websites using keyboard shortcuts. The tool offers you a “mouse-less” experience with Vim key-bindings. This can be a boon because you can browse the web without your hands leaving the keyboard.
Vimium also has a Firefox version.
mpv is a free and open source media player. You can start it with the terminal.
The easiest command is this one (run in your shell):
mpv starts streaming the video, thanks to its integration with youtube-dl.
That works, but let’s make it better.
Create a new file called
youtube-watch.sh (or whatever you’d like to call it) in your
#!/bin/bash # originally by Kris Occhipinti # https://www.youtube.com/watch?v=FsQuGplQvrw
notify-send -t 3000 “Playing Video” “$(xclip -o)“; mpv –ytdl-format=bestvideo+bestaudio/best –fs –speed=2.5 –af=rubberband=pitch-scale=0.981818181818181 “$(xclip -o)“
Don’t forget to make it executable:
chmod u+x youtube-watch.sh
MacOS users might use xanthia as a drop-in replacement for notify-send. Replace xclip with MacOS’s native pbpaste.
Let’s take a look at the mpv command in the bash utility:
--ytdl-format: selects which format to stream. You can look at youtube-dl’s documentation for more info. We use the best format available. This also works for Vimeo or other services that can interface with youtube-dl.
--fs: starts mpv in full-screen mode.
--speed=2.5: automatically starts at 2.5 speed (adjust to your liking).
--af=rubberband=pitch-scale=0.981818181818181: if you speed up a video, you want to retain the pitch. Otherwise the video begins to sound squeaky. I use the
rubberbandutility (comes with mpv installation) because it gave me the best quality. See this GitHub issue for more info.
You can bind your shell script to a keyboard shortcut. I use i3 and use my
mod key with
Use Vimium to copy a YouTube link. Unfortunately, you’ll still have to visit YouTube’s website.
yf to open Vimium’s context menu. Select the entry you want to watch. This will copy the link into your clipboard.
Then use your key-binding for the youtube script (in my case
My blog post uses a modified version of the steps from the below video by Kris Occhipinti:
Thank you for reading my blog posts.