Monday, 17. November 2008, 04:33:15
Youtube Video Download
Hey folks!I made a userjs that enables the user to download the video being watched on youtube. The problem is that the downlaod dialog pops as soon as the page opens even if you don't click on the button provided by the userjs. Please tell me what is wrong with my code.
Thanks.
// ==UserScript==
// @nameYouTube
// @authoraGeek
// @version0.5
// @descriptionAdds a button on youtube site which enables the user to download the video being watched.
// @include http://youtube.com/watch*
// @include http://*.youtube.com/watch*
// ==/UserScript==
window.addEventListener('DOMContentLoaded',function () {
function downloadYT() {
window.location.href = 'http://youtube.com/get_video?video_id=' + swfArgs['video_id'] + "&l=" + swfArgs['l'] + "&sk=" + swfArgs['sk'] + '&fmt_map' + swfArgs['fmt_map'] + '&t=' + swfArgs['t'];
}
screentoggle = document.createElement('img');
screentoggle.style="position:absolute; top: 3px; right: 3px;";
document.body.appendChild(screentoggle);
screentoggle.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGBQTFRFWVhZlJWXyszPKioqsbO1YmJiurzBsrW709TWeXl62d7lcXJ03uHn6u3we32CoqKjbG1ttbi8qqyturq7SUpJrrCznp6fpaerv8HFtrm8Tk9OODg4u7u7REVEPDw8////ArijUwAAACB0Uk5T/////////////////////////////////////////wBcXBvtAAAAiUlEQVR42lzPQQ6EIBQD0MoggqAIioOozP1vOUBEE9+ii6aL//F7AXHddjGGGgVLOL04x4kFJaK9CaJBPZyVohhbr+F8WJt2KiRSYX0oa2QhF2xBqE6m8WXnclZxy0V87EZDm7g/uhUNk5/bZHIxqL7vlco55IUYq3SapBj4fCRzycMrvN//CzAA2poRcJxdnucAAAAASUVORK5CYII=";
screentoggle.onclick = downloadYT();
}, false);
Friday, 26. December 2008, 04:14:49
I'm using this userjs (thanks very much, by the way!) for downloading YT videos. However, the little icon shows up in the top corner of the page regardless of the website I'm visiting. It's even there right now as I post this! Something would need to be added so that the icon only appears whenever you're actually browsing YouTube.
Friday, 26. December 2008, 12:46:04
Some cleaned up code. No real change except: if you hover the icon (top right) of the downloader, it shows a tool tip.
Works saving it as "downloader-youtube.js".
Works saving it as "downloader-youtube.js".
// ==UserScript==
// @nameYouTube
// @authoraGeek
// @version0.5.ba
// @descriptionAdds a button on youtube site which enables the user to download the video being watched.
// @include http://youtube.com/watch*
// @include http://*.youtube.com/watch*
// ==/UserScript==
// modified BananaAcid.de.vu
window.addEventListener('DOMContentLoaded',function () {
var ytd = document.createElement('img');
ytd.style = "position:absolute; top: 3px; right: 3px;";
ytd.title = "download YouTube video...";
ytd.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGBQTFRFWVhZlJWXyszPKioqsbO1YmJiurzBsrW709TWeXl62d7lcXJ03uHn6u3we32CoqKjbG1ttbi8qqyturq7SUpJrrCznp6fpaerv8HFtrm8Tk9OODg4u7u7REVEPDw8////ArijUwAAACB0Uk5T/////////////////////////////////////////wBcXBvtAAAAiUlEQVR42lzPQQ6EIBQD0MoggqAIioOozP1vOUBEE9+ii6aL//F7AXHddjGGGgVLOL04x4kFJaK9CaJBPZyVohhbr+F8WJt2KiRSYX0oa2QhF2xBqE6m8WXnclZxy0V87EZDm7g/uhUNk5/bZHIxqL7vlco55IUYq3SapBj4fCRzycMrvN//CzAA2poRcJxdnucAAAAASUVORK5CYII=";
ytd.onclick = function() {
window.location.href = 'http://youtube.com/get_video?video_id=' + swfArgs['video_id'] + "&l=" + swfArgs['l'] + "&sk=" + swfArgs['sk'] + '&fmt_map' + swfArgs['fmt_map'] + '&t=' + swfArgs['t'];
}
document.body.appendChild(ytd);
}, false);
Friday, 13. February 2009, 20:23:44
Thank you all for your corrections and thanks bananaacid for your cleanup. I hope ppl can benefit from this userJS now.
sorry 4 the late response.
sorry 4 the late response.
Wednesday, 18. March 2009, 18:43:43
I found another userjs for Youtube download, it provide both high quality & low quality downloads links:
// ==UserScript==
// @author Punkesito
// @include http://*.youtube.com/watch?v=*
// ==/UserScript==
function gup(name)
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regex = new RegExp( "[\\?&]"+name+"=([^&#]*)" );
return regex.exec(fullscreenUrl)[1];
}
document.addEventListener(
'DOMContentLoaded',
function (e) {
var linkflv='/get_video?video_id='+gup('video_id')+'&l='+gup('l')+'&sk='+gup('sk')+'&t='+gup('t')+'&hl='+gup('hl')+'&plid='+gup('plid');
var linkmp4=linkflv+'&fmt=18';
var a = document.createElement('a');
a.setAttribute('href', linkmp4);
a.appendChild(document.createTextNode("Download MP4"));
var al = document.createElement('a');
al.setAttribute('href', linkflv);
al.appendChild(document.createTextNode("Download FLV"));
var viddiv = document.getElementById('watch-player-div');
viddiv.appendChild(a);
var nodoTexto = document.createTextNode("(High quality) ");
viddiv.appendChild(nodoTexto);
viddiv.appendChild(al);
nodoTexto = document.createTextNode("(Low quality)");
viddiv.appendChild(nodoTexto);
viddiv.appendChild(at);
},
false
);
Thursday, 19. March 2009, 01:41:12 (edited)
Changes made to reflect the MP4 and 3GP choices, and to circumvent the new block mechanism by YouTube. (and the url construction done with less code)
- Downloads FLV, MP4, 3GP
- Download buttons position can be changed.
- New download button. swap the commenting at the 2 ytd.src to get the old icon back, or delete the commented line ( // ) to save space.
To change the display pos, set
- Downloads FLV, MP4, 3GP
- Download buttons position can be changed.
- New download button. swap the commenting at the 2 ytd.src to get the old icon back, or delete the commented line ( // ) to save space.
To change the display pos, set
var ShowButtonPos = posops.leftofvid;to the appropriate posops option. these are: posops.topleft, posops.belowvid and posops.leftofvid
// ==UserScript==
// @nameYouTube
// @authoraGeekAndBananaAcid
// @version1.2ba
// @descriptionAdds a button on youtube site which enables the user to download the video being watched.
// @include http://youtube.com/watch*
// @include http://*.youtube.com/watch*
// ==/UserScript==
// modified BananaAcid.de.vu
window.addEventListener('DOMContentLoaded',function () {
var posops = {topright:0, belowvid:1, leftofvid:2};
var ShowButtonPos = posops.leftofvid;
var countCreated = 0;
var mkBtn = function(tokenID, desc) {
var ytd = document.createElement("img");
ytd.alt = ytd.title = "Download video... " + (desc || "");
//ytd.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAGBQTFRFWVhZlJWXyszPKioqsbO1YmJiurzBsrW709TWeXl62d7lcXJ03uHn6u3we32CoqKjbG1ttbi8qqyturq7SUpJrrCznp6fpaerv8HFtrm8Tk9OODg4u7u7REVEPDw8////ArijUwAAACB0Uk5T/////////////////////////////////////////wBcXBvtAAAAiUlEQVR42lzPQQ6EIBQD0MoggqAIioOozP1vOUBEE9+ii6aL//F7AXHddjGGGgVLOL04x4kFJaK9CaJBPZyVohhbr+F8WJt2KiRSYX0oa2QhF2xBqE6m8WXnclZxy0V87EZDm7g/uhUNk5/bZHIxqL7vlco55IUYq3SapBj4fCRzycMrvN//CzAA2poRcJxdnucAAAAASUVORK5CYII=";
ytd.src = "data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QC+RXhpZgAASUkqAAgAAAAFABoBBQABAAAASgAAABsBBQABAAAAUgAAACgBAwABAAAAAgBKRzEBAgAQAAAAWgAAAGmHBAABAAAAagAAAAAAAABgAAAAAQAAAGAAAAABAAAAUGFpbnQuTkVUIHYzLjM2AAEAhpICADoAAAB8AAAAAAAAAENSRUFUT1I6IGdkLWpwZWcgdjEuMCAodXNpbmcgSUpHIEpQRUcgdjYyKSwgcXVhbGl0eSA9IDkwCgD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAAUABYDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0bxL4zvL27Fvosdw86XYgujvMYgjZSVZR0I4OTUHh681O01K6guLi0d4wJba5g2hZA33c7eGUkFTnPNJ4p0fUtL1DXLh4La9tIbYy2lqcrI5JIYqwHPyMwxnsOK4ya/0jQJdEsLVblQLJm8pn3SIWcsoJ7YOcZ6Vhiq8qFJzirjhBzlyxTb7I+kNE1BNU0q2vIxhZUDY9D3FFeeeAvG1lp2iW+nayxguEVnWQDckq56jHQjPIxRVQqQqRUo7MqdOdOXLNWaPRtT0201O3MN9Ak0fow5H0PavMfif8PtAk0OGaC2e0uIJMrNA2HOeoYkHNFFXNJqzCjJwqJxdmbfw+8D6Jpeni5SB7m6mTa0103mNjrgZ6D6UUUU1FJWSCpJyk22f/2Q==";
ytd.token = ((tokenID != "") ? "&fmt="+tokenID :"");
ytd.onclick = function() {
window.location.href = "/get_video?" + fullscreenUrl.replace("/watch_fullscreen?", "") + this.token;
}
switch (ShowButtonPos) {
case posops.belowvid:
ytd.style = "margin-left: 5px;"; document.getElementById('watch-player-div').appendChild(ytd); break;
case posops.leftofvid:
ytd.style = "position:relative; top: "+((countCreated * 25)+3)+"px; float: left; margin-left: -20px;"; document.getElementById('watch-vid-title').appendChild(ytd); break;
default:
ytd.style = "position:absolute; top: "+((countCreated * 25)+3)+"px; right: 3px;"; document.body.appendChild(ytd); break;
}
countCreated++;
}
mkBtn("", "(Web-Lowres - FLV)");
mkBtn(18, "(Hires - MP4)");
mkBtn(17, "(Mobile - 3GP)");
}, false);
Saturday, 8. August 2009, 17:27:13
I have edited this a little to make it perfect
well it downloads videos in mp4 format and i have added a bigger watchable image which appears in top-middle page and its position is fixed
when you scroll down the page also.
Happy downloading
well it downloads videos in mp4 format and i have added a bigger watchable image which appears in top-middle page and its position is fixed
when you scroll down the page also.
Happy downloading
// ==UserScript==
// @nameYouTube
// @authorthemightydeity
// @version1
// @descriptionAdds a button on youtube site which enables the user to download the video being watched.
// @include http://youtube.com/watch*
// @include http://*.youtube.com/watch*
// ==/UserScript==
// start
window.addEventListener('DOMContentLoaded',function () {
var ytd = document.createElement('img');
ytd.style = "position:fixed; display:inline-block; top: 3px; right: 384px;";
ytd.title = "Download Youtube Video by (themightydeity) yespiracy.com";
ytd.src = "data:image/png;base64,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";
ytd.onclick = function() {
window.location.href = 'http://youtube.com/get_video?fmt=18&video_id=' + swfArgs['video_id'] + "&l=" + swfArgs['l'] + "&sk=" + swfArgs['sk'] + '&fmt_map' + swfArgs['fmt_map'] + '&t=' + swfArgs['t'];
}
document.body.appendChild(ytd);
}, false);
Sunday, 9. August 2009, 00:44:25
Wikipedia used to have a nice little table listing the various fmt= values and their results. It's since been removed for lack of references, which is true — no-one else on the Internet seems interested in keeping track of those values.
I thought I'd post them here for your reference though, they've been very useful for the download script I have (and might release if I ever get around to getting permission for the various bits of code I've integrated or taken inspiration for along the way).
I'd ignore the '38' value it mentions though, that one seems somewhat debatable. Most notable for you would be 35, which is a the new high quality version applying to videos circa ~Feb-09 onward. Also, &fmt=6 was valid once, but doesn't exist anymore and can be ignored too.
I thought I'd post them here for your reference though, they've been very useful for the download script I have (and might release if I ever get around to getting permission for the various bits of code I've integrated or taken inspiration for along the way).
I'd ignore the '38' value it mentions though, that one seems somewhat debatable. Most notable for you would be 35, which is a the new high quality version applying to videos circa ~Feb-09 onward. Also, &fmt=6 was valid once, but doesn't exist anymore and can be ignored too.
Forums » Generic » User JavaScript
Moderated by:
virtuelvis
tarquinwj
hallvors
nicomen
