Goodbye YouTube(?)

For many years now, watching YouTube has been my primary source of entertainment. But this clashes with my constant effort of “FOSSifying” and reducing my reliance on “big tech”. Furthermore, YouTube has introduced many controversial changes and is becoming increasingly distracting through its recommendations.

Since many of my favorite creators are still not present on any other platform, I have only been able to experiment with alternative frontends.

I’ve initially tried FreeTube[↗], but yet another Electron app couldn’t win me over. Some futile attempts using Python, and MPV later, I settled on a public instance of Invidious[↗]. Having a minimal web app, subscriptions and being able to turn off all recommendations was a great option for watching YouTube from everywhere. However, I am still wasting too much time watching YouTube from my computer, downloading videos is not a smooth experience and (unsurprisingly) the instance where I have my account is not always available and it does not seem to fetch all subscriptions reliably.

Although I have tried it before, I’ll be switching to NewPipe[↗] for the foreseeable future. This presented the challenge of migrating my subscriptions from Invidious to NewPipe. Previously, I had exported them from YouTube to FreeTube and then imported them into Invidious, however, the supposedly NewPipe-compatible export format provided by Invidious no longer seems to be supported.

Luckily, it is quite simple to convert an Invidious-JSON export to NewPipe’s format, so I wrote a small script to do just that.

I’m not sure if fetching the channel name is strictly necessary, but it only takes a couple of minutes for my hundreds of subscriptions. (Note that the user agent is necessary or YouTube will serve a different HTML page.)

Switching to NewPipe could very well backfire and I’ll find myself glued to my phone again, but at least I can chuck that thing to the other side of the room.
Should I still find the need to watch YouTube on my computer, I’m already used to streaming my Android to it through guiscrcpy[↗] and bluetooth. I’m already used to this solution, since some streaming providers think it’s appropriate in <current year> to force the use of their prorietary players that (obviously) don’t work on Linux.

Most of the content I consume lends itself to being listened to as a podcast anyway, so I probably don’t need a big screen. Alone for YouTube Music, I am still looking for a suitable alternative.

Who knows, maybe I’ll change my mind in a couple of days and start using something new (or old) again. Maybe I should host my own Invidious instance?