Most of my media consumption happens on YouTube. But since i want get rid of Googles grip on my online identity i need to look into alternative ways to use this platform. In this post i describe my way to subscribe and watch channel without relying on the website itself.
This is one of my most used features. I have around 90 subscriptions on YouTube in order to not "miss" a video.
A forgotten feature of YouToube is that they are providing RSS feeds for every channel. You can see them for example via the Firefox plugin Awesome RSS.
A typical RSS-URL for a channel looks like this: https://www.youtube.com/feeds/videos.xml?channel_id=UCPxHg4192hLDpTI2w7F9rPg
Now comes the fun part. How do i manage all my subscriptions via RSS? The most simple solution would be to throw the URLs into whatever newsreader you'd like and then click on the link to watch the video in your browser.
Since i want to use the YouTube Website less this is not really an option for me. So it would be cool to use a combination of
youtube-dl and mpv to watch the videos directly from within the newsreader.
Newsboat is a terminal newsreader and was forked from newsbeuter. It is actively maintained and is (with a little configuration) capable of doing what i want to consume my media.
Newsboat manages its Rss feeds in a simple file called
urls. Here is a small snippet of mine:
https://www.youtube.com/feeds/videos.xml?channel_id=UCDf6reK_hHcz0d7KWBhmPhA "Youtube Subscriptions" music https://www.youtube.com/feeds/videos.xml?user=FrenchGuyCooking "Youtube Subscriptions" https://www.youtube.com/feeds/videos.xml?channel_id=UCyI1D9N2OvZif9a2JhV_nrA "Youtube Subscriptions" music https://www.youtube.com/feeds/videos.xml?channel_id=UCy9m42TK6xAWhCKU-ZxJI1A "Youtube Subscriptions" music
Let's talk about these four lines:
Let us talk about queries first.
Queries are like virtual RSS feeds that are based on certain filters. I, for example, have added the following query on top of my
"query:Unwatched Videos:(unread = \"yes\" and tags # \"Youtube\")"
This query creates a new entry in my feedlist called "Unwatched Videos" an contains every entry that is marked as unread and which tags contains the word "Youtube".
While having this query is nice and allows for quick access to all unwatched videos the real part of my workflow are the Newsboat macros. Macros are defined in Newsboats
macro y set browser "youtube-dl -f best -o '/home/mzumquadrat/Videos/Youtube/%(title)s-%(id)s.%(ext)s' %u &>/tmp/newsboat-youtubedl.log &" ; open-in-browser ; set browser "firefox %u" macro m set browser "mpv %u &>/tmp/newsboat-mpv.log &" ; open-in-browser ; set browser "firefox %u" macro M set browser "mpv --audio-display=no --video=no %u &>/tmp/newsboat-mpv.log &" ; open-in-browser ; set browser "firefox %u" macro c set browser "echo %u | xclip -in -selection clipboard" ; open-in-browser ; set browser "firefox %u"
In Newsboat every entry is opened with the configured browser which is Firefox in my case. But by temporarily overwriting the browser variable Newsboat is able to use different programs to achieve different tasks. This is what my macros are for. After each program is executed the browser variable is set back to the original browser. Let's take a look at my four macros:
youtube-dl. After selecting an entry i can press
,and y to download the video into a special Youtube folder on my filesystem.
playerctlto control mpv from my various terminals even though it is running in the background.
After every macro got invoked (using Newsboats
open-in-browser)the browser is then set back to Firefox.
As long as YouTube isn't killing the RSS feature of channels this setup is a comfortable way to watch subscriptions. For every other thing like searching for stuff, trying to discover new things i use several invidious instances. One unsolved problem with this setup is the question how to support the content creators. Not everyone is offering a way to donate besides the YouTube ad money. This is why i would argue that this is a good setup but not a perfekt one. How do you consume your videos on YouTube?