Youtube MP4 downloader

By Brandyn Last update May 3, 2010 — Installed 153,187 times.

Archived Comments (locked)

Subscribe to Archived Comments 14 posts, 7 voices

Jesse Andrews Admin

The following is an archive of comments made before threaded discussions was implemented (November 16th, 2008)

KayKay Scriptwright

There is no need to improve my script??! Just a simple copy! (You may rename MY variable names, at least!! Buffoon!)

Same script (with auto-update + multilingual + multi format support [mp4, aswell as high quality flv + normal flv!!]):

Brandyn Script's Author

My script should work now.

n00dles User

Or... you could use this script, which does work:

Booboo Scriptwright

Hi people,

I've done the same as you, but i looked behind the scenes so there were some problems in the code, i've tried to sove:

// ==UserScript==
// @name          Download ANY Video from YouTube
// @namespace
// @description   adds a link to download flv from You Tube
// @source
// @identifier
// @version     5
// @date          2008-06-62
// @creator       Sn1p1ng Guy117
// @include       *youtube.*/*v=*
// ==/UserScript==

 var download_url = '';
 var playerDiv = document.getElementById('movie_player');
 var flashvars = document.evaluate("attribute::flashvars", playerDiv, null, XPathResult.STRING_TYPE, null).stringValue;
 var video_id = flashvars.match(/video_id=([^(\&|$)]*)/)[1];
 var video_format = '.mp4'; 
 var video_url = download_url + video_id + video_format;

function getEl(w){
	return document.getElementById(w);

       desc = getEl("watch-views-div");
       descP = desc.parentNode;
       dv = document.createElement("a");
       dv.innerHTML=" Download MP4 ";
       dv.setAttribute("rel", "nofollow");
       dv.setAttribute("class", "actionLink");
       descP.insertBefore(dv, desc);

function autoupdate() {
var day = GM_getValue('day');
if(day == undefined){
	GM_setValue('day',new Date().getDay());
	if(day != new Date().getDay()){

			onload:function(result) {
				if (result.responseText.indexOf('@version     1') == -1) {
					var div = document.createElement("div");
			div.setAttribute("style", "background-color: #00FF00;");
					div.appendChild(document.createTextNode('There is a new version of the "Download ANY Video from YouTube" userscript.'));

					var a1 = document.createElement("a");
					a1.setAttribute("href", "");
					a1.appendChild(document.createTextNode('Click here to install the script update'));

					document.body.insertBefore(div, document.body.firstChild);
			GM_setValue('version',version + 1);
		GM_setValue('day',new Date().getDay());


I don't guaranty anything but the syntax errors are gone. ;)

n00dles User

Ditto for me - I've installed and re-installed, but never see the "Download MP4" link. Too bad... this sounds like exactly the script I wanted. I've got very little use for low-res FLVs, but would love a quick and easy way to grab the MP4s.

JoeSimmons Scriptwright

Np. By the way Author, your include should be correctly put as http://**

Script isn't even working now, at all, no matter how many times I re-install.

KayKay Scriptwright

Oh! ^^ Sry for that one dude... I missunderstood! ;-D

Yea... looks like that... Well... just use...
Now available in over 10 languages! :-)

JoeSimmons Scriptwright

Not yours. His.

KayKay Scriptwright

Yea... For sure! If my script was uploaded first, it has to be a copy!?! *eye-roll*

FLV because not all videos are available as mp4!

JoeSimmons Scriptwright

haha yea script copy. and this isn't mp4 format, it's flv....

KayKay Scriptwright

Same script (with auto-update + multilingual) already exists at:

Hot Soup0 User

Whereabouts should this link be? I've installed it three times total, haven't seen it yet...

*EDIT* Whooops, found it.

Brandyn Script's Author

Some users report this as not displaying the download link, if this happens reinstall.