Really Simple High Defination Youtube Video Downloader

This is a really delayed repost of my “geeknote” Really Easy High Defination Youtube Video Downloader. I’m not sure how happy is Google/Youtube with this, or how soon they would change their site so that this wouldn’t work, so no warranties and please use this wisely at your own risk.
~~~~~~~~~~~~~~~~~~~~~~

It started as a bookmarklet I created to download Vimeo HTML5 MP4 videos easily, but soon others were interested in a youtube version. So read on and I’ll try to explain this simply and briefly.

How can I use it?
Go to a youtube video, eg http://www.youtube.com/watch?v=xEF66GRecQg Click on the download bookmark, and the download links will appear under the title. Pick the version you like, and you can watch it in your browser or download them. Usually I use 270p version if I wish to transfer it to my mobile phone for watching. If 720p or 1080p are available, they gives really nice high quality videos.

How can I install this?
Create a bookmark in firefox, chrome, safari or opera. For the link, paste the following block of code into the bookmark’s url.

javascript:(function(){var%20scripts=document.getElementsByTagName('script');for(i=0;i


How can I uninstall this?
Just delete the bookmark if you have added it. Some users have mentioned you can just run the code pasting the entire block into the url.

What’s so special about this compared to so many other downloaders?
This downloader is minimally intrusive and tries to be as unobstructive as possible. It runs only when you click on the bookmarklet. Although it’s unobstructive, its give you the options on the quality, resolution and format you can download. Its really fast and easy to use.

Compared to other software, plugins, addon etc, the installation requires no downloads or browser restarts. Uninstalling is as simple as deleting a bookmarklet. Not to mention that many other scripts are not working well due to some recent changes made by Youtube/Google.

Any updates planned?
Only if I have the time, I would parse the parameters to detect the available formats supported in the current video. This can eliminate the links the current versions adds to the site, but this feature is unnecessary if the user observe what formats the video provides in the little box at the bottom right of the screen.

Reasons why to download videos rather than streamed live?
1. You wish to enjoy more of the video and less of silly comments and the links call ads Google place into the video player.
2. If you are using on a smaller device like a netbook and find that the flash player lags quite a little
3. You think the experience of youtube’s HTML5 player is really horrible
4. You just bought a new 1 Petrabyte hard disk, and wish to borrow some of Google’s bandwidth to utilize more of your unlimited mobile internet and relatively empty disk space.

This is a great tool! Do you accept donations?
I have not tried accepting donations before, but I’ll leave how you can thank me to your creativity. :)

Update!
This script have been modified by my friend Ernest who did an all-nighter for automatically detecting video quality (eg. the HD links will not appear if they are not available).

javascript:(function(){var%20s=document.body.innerHTML.toString();var%20source=s.match(/("video_id":%20"\S+".+"t":%20"\S+")|("t":%20"\S+".+"video_id":%20"\S+")/i);var%20source2=s.match(/("fmt_list":%20\S+")/);var%20residu=String(source2).match(/\d+\.?\d*/g);if(source!==null){var%20u=(String(source).replace(/(?:(?:"video_id":%20"(\S+)".+"t":%20"(\S+)")|(?:"t":%20"(\S+)".+"video_id":%20"(\S+)"))/i,'http:\/\/www.youtube.com\/get_video?video_id=$1+$4&t=$2+$3'));function%20add(t,u){var%20a=document.createElement("a");var%20t=document.createTextNode(t);a.appendChild(t);a.setAttribute('href',u);var%20b=document.getElementById("watch-headline-user-info");if(b==null)b=document.getElementsByTagName("body").item(0);b.appendChild(a)}add('Download%20[LQ%20FLV]%20',u);add('[270p%20MP4]%20',u+'&fmt=18');if(residu.indexOf("34")>=0)add('[360p%20FLV]%20',u+'&fmt=34');if(residu.indexOf("35")>=0)add('[480p%20FLV]%20',u+'&fmt=35');if(residu.indexOf("22")>=0)add('[720p%20HD%20MP4]%20',u+'&fmt=22');if(residu.indexOf("37")>=0)add('[1080p%20HD%20MP4]%20',u+'&fmt=37')}})()