YouTube is one of my favorite websites of all time and has been for many, many years. You can literally find a video on just about anything: fixing something at home like a garbage disposal (true story), reviews on a video game, how to resolve a problem with software or an Operating System, and even just enlightening opinions on interesting topics. However, it's all about the money at the end of the day and Google wants to make as much as they possibly can. While I agree with the right for a company to provide a service and make money, I think there is a right and wrong way to go about it while keeping happy customers, not annoyed ones.
Advertisement is a very touchy subject for me, but long story short, I just despise the practice. There is just way too much of it in the world and I wish there was less of it. This is a huge topic that I may rant on one day, but not today. It's just not good for anyone in any way, shape or form.
YouTube (Google) thrives off of advertisement and is really pushing things to the absolute limits, injecting more and more ads into the videos you watch until it becomes unbearable to watch anything. I've attempted to watch 30-60 second videos before where not only do I have 2 ads before (10 seconds if skippable) AND an ad that pops up mid-way though the video (unskippable usually). The amount of time spent watching ads is now more than time watching content.
I say enough is enough. There has to be a better way to enjoy online content without being overloaded with annoying ads.
What's The Solution?
A very simple solution is to use UBlock Origin on your desktop or laptop, which will block ads on all sites. Safari is the only coveat to this as it does not support the proper APIs for UBlock Origin to work. UBlock Origin actually blocks ads so well, that there is the rare occasion that it blocks too much and some tweaking is needed. I would still recommend this extension for 99% of people, even though there may come a time where help is needed to get a site to load properly.
But what about mobile devices? I have an iPhone and iPad Pro that I use to consume content daily, so it's pretty normal that I would use them to watch YouTube. The problem is that you cannot use UBlock Origin or any ad-blocking software on iOS/iPadOS (probably the only thing I miss from Android).
Archiving Versus Watching
One thing to clear up before we proceed. There is a difference between watching content on YouTube and archiving content in the context of this article. Watching is considered watching a video and probably never coming back to it ever again; a single use/view scenario. Archiving is obtaining a copy of a YouTube video in the best video and audio possible and storing it offline for future viewing; this could be a local source like a hard drive, USB stick, and other physical media, on any device you choose.
I spent some time this week, looking at some of the software out there that could help me achieve my goals and testing them out:
- Have an easy way to download a local copy of YouTube videos, ad-free, in the best possible video and audio quality, including all metadata.
- If the video is something I watch one time, delete it after 14 days.
- If the video is something I want to archive, allow me to easily mark it as such.
- Have the ability to convert a YouTube video to MP3 format for future listening.
- Be able to watch the content easily on any device.
The goals are aimed high, I must admit, but I do have a solution . . . well, 2 of them.
First, I tried TubeSync and found issues right away; nothing seemed to work the way I wanted it to. Once I got TubeSync going and added a few channels, I noticed that it was taking a lot of time scheduling when it would download metadata, videos, etc. It spent more time preparing than it did downloading anything. Heck, it tried to download an entire channel so I had to stop it. I couldn't find an easy way to only download videos from the last week or even the 5 latest videos from a channel.
Next was a more manual approach: TheFrenchGhosty's Ultimate YouTube DL Scripts. These are simple scripts accompanied by YT-DLP and FFMPEG to download individual videos, playlists and channels in the best quality. I actually started to attempt a fork of this project and put my own spin on it, but I just don't have the time to devote to it. I'll be keeping these scripts for later use, just as another tool in the toolbox.
My Solution and Setup
I finally ended up with a mix of two solutions: TubeArchivist and MeTube.
TubeArchivist is an application that gives you your own personal YouTube experience in a web UI. You can input the URL of individual videos, channels and playlists, then setup times during the day to refresh the feeds and even automatically download new content.
In my setup, I have a list of channels that I check often for new content. TubeArchivist is set to refresh the video listings of these channels every hour and will automatically download the new videos at 5 minutes past each hour. Finally, any video older than 7 days is automatically deleted. Again, this tool is just used for "watching".
The biggest issue that I have with TubeArchivist is the steep learning curve; don't expect an easy setup. I'm hoping that the settings and documentation will get better as this app progresses. On the other side of the coin, once you read documentation, check a few Reddit comments and Github issues and discussions, you finally get to where you have a good grasp on what each setting does.
For archiving, I use MeTube, which is a very simple app that just downloads YouTube content in the form of MP3 or MP4 to a local folder location. I use MeTube for when I find a song, concert, or a favorite video that I know I'm going to watch multiple times or just want to have a copy of forever. It's as easy as copying and pasting the URL into MeTube's Web UI, choosing the format I want, and clicking Download!
Any video downloaded with TubeArchivist is placed in a folder that apps like Plex and JellyFin monitor so I can view the content on the big screen or just in the apps. You can also watch the videos in the TubeArchivist web UI, which is what I'll be doing on my mobile devices. I've found that a simple home screen shortcut to the web UI is the simplest and easiest way to go compared to Plex/Jellyfin apps. MeTube does have split destination folders for MP3 and MP4 formatted downloads, so you can have music in one and video in another! Great for separate libraries in Plex and Jellyfin.
I also found this interesting article about how this guy controls what his kids watch on YouTube by using TubeArchivist. I tend to agree with his opinion that YouTube has a lot of content not suitable for kids and that TubeArchivist allows him to select videos BEFORE downloading anything. Yes, TubeArchivist allows you to have channel override settings for more granular control!
Time will tell if my current setup will work out for me but I really think that I can get used to a local, automated and offline YouTube feed. If you have a custom setup for YouTube content and offline consumption, hit me up on Mastadon and let's chat.