My home internet is not very good and I also have bandwidth caps. So I have to find creative ways to do things in the online world. I was having trouble even watching youtube so I started to ask myself a question. How do I download an entire Youtube Channel to my computer so I can view it offline? After some looking around I found a program called youtube-dl.
Now when I am at a place with good internet I can download a ton of videos to my external hard drive. Then I take them home to enjoy them later.
A python script called youtube-dl will download youtube videos by command line. Simply give it the commands to do what you want it to do and set back and watch.
You may also need to drop
How to use youtube-dl
My setup is Windows-based but because this is in Python it should work on any OS that supports Python. The full command I ended up using looks like this.
youtube-dl.exe -f bestvideo+bestaudio https://www.youtube.com/user/handmadeheroarchive/videos --o "../%%(upload_date)s - %%(title)s.%%(ext)s"
How the command works
The “-f bestvideo+bestaudio” tells the script to download the best audio and video formats that are available. You can also set a size limit in order to save space and bandwidth. Let’s say you only wanted the best video up to 720p. Then a command like this would do the trick.
After that you put in the URL of the YouTube channel you want to download.
That is all you have to do it you want the videos to download in the same folder with default names. But I like to put the date in the name so that I can sort them by date. I also like to put them in another folder so that the youtube-dl stuff is not mixed in. To do that we need to use an output template. Mine looks like this.
--o "../%%(upload_date)s - %%(title)s.%%(ext)s
The "../" tells the program to go up one folder and save the videos there.
Then "%%(upload_date)s - %%(title)s.%%(ext)s" tells it to name the videos with the date and title and to put the video extension at the end. Because I am using the Windows command line I need to use two % symbols and not just one.
If you need subtitles then adding this to the command should do the trick.
--write-sub --sub-lang enUS
Enjoy Your Offline Videos
Now when your offline or in a place with bad internet you can still catch up on your favorite YouTube channels!
More than just YouTube!
I also found out this same program works with a lot more than YouTube! In fact, the list is so big I decided to not even try to count them. They have a supported sites list over on their GitHub page.
With a list that big, this may be the only program you will ever need to save videos for offline viewing.