How I Watch YouTube

Fri 06 December 2024

I was listening to one of my favorite podcasts, TuxJam the other day, and they were discussing ways to watch YouTube without the annoyances that Google has added to the experience, namely ads and the inability to download videos for later viewing (also, YouTube stopped letting you listen to videos in the background if you're not a paying customer years ago). Kevie mentioned that while he enjoyed using NewPipe on Android, he didn't really have a good option for watching YouTube on the desktop (namely, on Linux).

Now, let's get the moral/ethical problem out of the way, first. Is watching YouTube without ads and without paying stealing? I think it's a gray area, because it's not like the money goes directly to the artists. It goes to Google's pockets, and maybe some of that "trickles down" to the artist. (Yeah, I know you saw what I did there. ;)

But what isn't a gray area is your rights on your own devices. The ads are a data stream, and nobody can force you to download data. It's your computer, period. Youtube can ask your computer to download the ads, but you absolutely do not have to download or view them. If Google wants to lock down the entirety of Youtube behind DRM and be completely unhinged dinguses, that's on them, but as it stands today, the videos on youtube are freely available to view and download without their shenanigans, although they do plenty of things to try to discourage just that.

With the ethical questions out of the way, let me describe how I enjoy videos at home:

Mobile

This one is pretty obvious. I use NewPipe! Well, actually, I use the fork, PipePipe. Is it exceptionally better than the original? No, not really. It's just that NewPipe is an excellent PeerTube client, and so I leave NewPipe dedicated to PeerTube, and PipePipe dedicated for YouTube.

For those of you still on iOS (I won't judge, lol), there's always invidious instances like yewtu.be and inv.tux.pizza, but be warned that the invidious instances are playing a constant game of cat-and-mouse with YouTube's attempts to block them. They stop working every now and then, and sometime for long stretches of time.

Nevertheless, when I want to share a YouTube link online, I will always check to see if one of my preferred invidious instances are up, and use that instead of YouTube proper. It's as simple as replacing the "https://youtube.com/" part of the URL with that of the invidious instance.

TV

I have a Roku-enabled smart-tv. Yeah, it's terrible. If you're disappointed in me, I don't blame you. I'm absolutely not a genius when it comes to self-hosting. I've tried to set up LibreElec before, and didn't have a very good time of it. I might try it again later. But I do have a little trick for watching YouTube with FEWER ads:

If you go to watch a video, and there is more than 5 seconds of un-skippable ads, immediately hit back, and go into the video again. You may have to do it a few times, but YouTube will gradually reduce the length of ads for that video and possibly skip it altogether. Now they're sneaky: they'll throw a 30-second unskippable ad in the middle of your video. Be vigilant! Hit back right away and go back into it. Now, they're sneakier still: if you've been watching the video and hit back, you may lose your place and be presented with the YouTube home screen. Don't fear, go to the library, history, and re-enter your video. Now, yeah, YouTube still has one more curve-ball up their sleeve: you may lose your place IN the video. EGAD! Don't give in, fast-forward until you find your place.

That may sound absolutely insane, and it honestly is, but it's better than the alternative, until I finally stop watching YouTube altogether (and get up the nerve to once again factory reset my TV and keep it off of the internet).

Web

I don't watch youtube on youtube.com very often, but when I do, Firefox and uBlock Origin are my tag-team of choice to make sure I never see a single ad. I can't remember the last time that uBO let one slip through. It's awesome.

Command Line

There's no nerd cred quite like watching YouTube on the command line! The basic process of doing so is as simple as using a terminal web browser like lynx, links, elinks, or w3m (my personal favorite) to search an invidious instance (because the YouTube website doesn't work without JavaScript, bleh), and then copy the URL of the video and run mpv https://video-url.example.com to view it (using yt-dlp, which you need to have installed as well). In the case of invidious instances, mpv will skip the invidious instance and download/view the video straight from YouTube, so that the invidious instance bandwidth doesn't get a hit (as you're bypassing the YouTube shenanigans with yt-dlp anyway).

Quick note: if your operating system's repos doesn't have a very recent version of yt-dlp, I highly recommend installing it via the python package manger, pipx

My own workflow for this is a bit more complex (to set up) and streamlined (to use). I use a bash shell function (should probably be upgraded to a proper shell script soon) called invid to search an invidious instance for a video (using w3m as the browser). The good thing is that even if the invidious instance is blocked from playing videos, it will usually still be able to search videos just fine. Once I find the video I like, I yank the URL from w3m and then call a script I wrote called yt-mpv, which yanks the URL from the clipboard, detects the screen size, and calls mpv with the right options to make sure it is accessing the video through yt-dlp (instead of youtube-dl, which is now unmaintained), and specifies the vertical resolution target (so that mpv doesn't try to play a 4k video on a 720p screen for example — this may save battery life in some instances, or prevent a video from playing choppily when there isn't enough processor speed to handle the full-resolution video).

So yeah, that's how I've been able to enjoy youtube in a variety of contexts with a minimum of frustration.


If this is your first time visiting my blog, I write about a lot of different subjects, some technical, some not. Thanks for checking it out! :)

Category: Tech Tagged: Computing Entertainment Ethics FOSS (Free and Open Source Software) Linux Non-religious post PeerTube Productivity UNIX Unix Tips Video


I Miss Palette Rotation

Tue 26 November 2024

A hand-animated "Growing Heart Emoji" in the style of 16-bit-era palette animation (3 frames)

Background

In the halcyon days of 16-bit microcomputers, there was a computer graphics technique used by many demos and some games known as Palette Rotation, Palette Shifting, Palette Animation, or Color Cycling.

Computers weren't fast enough to change the entire contents of screen memory in graphics mode (even relatively low …

Category: Tech Tagged: Amiga Beauty Computing Entertainment Gaming Non-religious post Retrocomputing Video WritingMonth

Read More

My Every Day Carry, Part V: What's on My Phone?

Sun 24 November 2024

In Part IV, I discussed wristwatches. In this article, I'm jumping back into my pocket, so to speak, with a look at what's on my phone itself.

This was a rather exhausting article to write, because I have a lot of apps on my phone. I have even been ridiculed …

Category: Tech Tagged: Computing Ethics Federated Services FOSS (Free and Open Source Software) Non-religious post PeerTube Productivity Translation WritingMonth

Read More

What is FOSS?

Sun 24 November 2024
Note: This article was originally written last December, and was sidelined because I didn't feel it was finished. Reading through it this morning, I realized reason that I never "finished" it is because the next step would've been to write a 1280-word chapter, which is no small feat. But honestly …

Category: Tech Tagged: BSD Computing Content Warning Ethics FOSS (Free and Open Source Software) FreeBSD Linux Non-religious post Philosophy UNIX WritingMonth

Read More
Page 1 of 5

Next »