DownloadServer - Youtube
There are a few good reasons to be set up to download YouTube videos.
- Geofencing
- Reliability
- Bandwidth Management
Fortunately, it's pretty easy to do.
But you may need to install python first...
sudo apt install python
youtube-dl
youtube-dl is a pretty awesome tool.
But don't install it through the package manager. It gets incredibly regular updates & the package manager kinda borks this.
Instead, install it directly:
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
This allows you to regularly update (maybe even through cron) it with the command:
sudo youtube-dl -U
Which guarantees you keep up with the multitude of random changes made at YouTube.
scripting
Example of a useful script to update a local copy of a YouTube Channel:
youtube-dl -w --download-archive 11111111-ARCHIVE --write-description -f mp4 -o "%(upload_date)s - %(title)s.%(ext)s" https://www.youtube.com/user/LastWeekTonight
This particular little script maintains a local archive of a channel that YouTube thinks Canadians should not be allowed to watch... (needless to say, it gets run on the VPN equipped Download Server.)
Troubleshooting
ERROR: Did not get any data blocks
This is often caused by YouTube being weird...
Adding -f "bestvideo[height<=720]+bestaudio/best"
into the command line sometimes fixes it.