First of all, let me try to highlight that if I’m downloading YouTube videos to watch offline I don’t feel I am stealing their content. The content was already there, published, free to watch but in some cases it’s just not convenient to sit in front of the computer to watch an hour-long presentation.
I study a lot with my iPad – watching presentations and lectures on it while I cannot really do anything else (on the bus).
However, trying to watch a video on a 3G internet connection just does not cut it. I had to find a way to download YouTube videos and save them to my iPad.
Catch network traffic
The simplest way is to start watching the video, open Chrome’s developer toolbar (CTRL+SHIFT+J or COMMAND+OPTION+J on Mac), switch to the network tab, and check which URL takes so long to download. Copy-paste this URL into a new window and ready to download the MP4 formatted video.
Most of the cases it works, but for some large videos YouTube uses around 10mb chunks for the download hence the whole process is useless.
The other, way simpler solution is to use a YouTube downloader tool. I personally hate the bloatware apps with all the ads, backdoor programs and so on, so I tried to find something clean and lean.
Youtube-dl is a Python script which can download the video just by giving it the videos URL:
$ python youtube-dl.py 'http://www.youtube.com/watch?v=bwOhfoewMYs'(watch out for the quotes!)
To run, you only need Pyton 2.5 or newer and ready to go. The downloader is a single (!) Python script file, so I guess you just cannot find it anything simpler out there. I tested it on larger (1+ hour) videos and worked well all the time.
To get the YouTube downloader, head to http://rg3.github.com/youtube-dl/