A simple userscript for downloading Youtube Videos.
This script doesn't require any external scripts or libraries, the code you see is the code you get, everything is done locally within your browser.
Simply install one of the following: Greasemonkey [ff], Violentmonkey [ff][ch], Tampermonkey [ff][ch]
Click this link: ytDownloader.user.js
Your chosen add-on should then provide you with an install option, simply follow the instructions.
Once installed, head over to Youtube and you'll find a "Download Links" button underneath the video, click this and it will show you a list of all the video & audio files available to download.
Simply right-click on your desired file and click save-as.
This script is very lightweight and should have a minimal performance impact, if any.
This script should download the files relatively quickly as it downloads the files in chunks and then combines them together for download, this helps to bypass Youtubes streaming bandwidth buffer.
If you encounter any issues whilst using this script please let me know.
Due to the nature of Youtube, many of the videos you watch with a quality of 480p or higher, are actually separate Audio and Video files played simultaneously, so while this script will grant you the ability to download all of these files separately, it cannot merge them into one file.
Video quality of 360p and lower are combined Audio and Video files as you would normally expect.
There is a way to get around the limitation of a separate video and audio file, simply use FFmpeg!
Now of course, this does require a little bit of effort on your behalf, just follow the following guide.
This "guide" is adapted from my own website, test-videos.co.uk
Note this is based on a Windows machine, those of you on Linux should already know how to use FFmpeg... right?
ffmpeg.exebinary file, (you will find it located in the bin folder) to any folder you like, I normally use
ytCombine.batin the same location you just put
@echo off setlocal EnableDelayedExpansion set _dir=%~dp0 .exe -i -i -c:v copy -c:a copy "%~dpn1-combined.mkv" endlocal
To use, simply download your chosen Video only file, and Audio only file, select both of them and drag and drop onto your newly created ytCombine.bat file and hopefully in a very short amount of time, new file will be created that contains both the Video and Audio combined!
The created file will be an MKV file, this is simply because the MKV container supports many different types of codecs, making this script very easy to use.