Samstag, 14. November 2009

[QuickTip] - 006 - YouTube Video runter laden

Hier mal wieder ein kleiner QuickTip, wie lade ich Videos von YouTube runter. Ja, ich habe ein Autoit Skript gemacht und so habe ich es auch schon gezeigt, aber ich habe mal ein JavaScript erstellt, ja gab es auch schon, welches das alles etwas vereinfacht.

Also, das folgende JavaScript einfach als Lesezeichen hinzufügen und wenn ihr auf einem YouTube Video seit (auf der YouTube Seite) mal das Lesezeichen aufrufen.
Da der ganze Skripttext etwas unleserlich ist, habe ich noch eine PDF Datei zu herunter laden: PDF Download

javascript:
var pTag = document.createElement("p");
pTag.innerHTML = "<h2>Video download</h2>";
var isHD = yt.getConfig('IS_HD_AVAILABLE');
var videoid = yt.getConfig('VIDEO_ID');
var hash = yt.getConfig('SWF_ARGS').t;
var txtMP4=document.createTextNode("MP4 download");
var txtMP4HD=document.createTextNode("MP4 HD download");
var txtBR=document.createTextNode(" ");
var Ausrichtung = document.createAttribute("align");
Ausrichtung.nodeValue = "center";
pTag.setAttributeNode(Ausrichtung);
var LinkMP4 = document.createElement("a");
LinkMP4.appendChild(txtMP4);
LinkMP4.href = "http://www.youtube.com/get_video?";
LinkMP4.href += "fmt=18";
LinkMP4.href += "&video_id="+ videoid;
LinkMP4.href += "&t="+ hash;
LinkMP4.setAttribute("class", 'yt-button yt-button-urgent yt-button-short');
pTag.appendChild(LinkMP4);
if (yt.getConfig('IS_HD_AVAILABLE')){
pTag.appendChild(txtBR);
var LinkMP4HD = document.createElement("a");
LinkMP4HD.appendChild(txtMP4HD);
LinkMP4HD.href = "http://www.youtube.com/get_video?";
LinkMP4HD.href += "fmt=22";
LinkMP4HD.href += "&video_id="+ videoid;
LinkMP4HD.href += "&t="+ hash;
LinkMP4HD.setAttribute("class", 'yt-button yt-button-urgent yt-button-short');
pTag.appendChild(LinkMP4HD);
}
document.getElementById("watch-embed-div").appendChild(pTag);


Das ist meine letzte Version, ich habe mal den ganzen Salat etwas beschrieben:

javascript:
// Hole die wichtigen Daten aus dem Quelltext bzw. den Objekten
var isHD = yt.getConfig('IS_HD_AVAILABLE'); // Ist eine HD Version verfügbar = true oder false
var videoid = yt.getConfig('VIDEO_ID'); // Die Video-ID
var hash = yt.getConfig('SWF_ARGS').t; // Den Video-Hash

// Textvariablen für die Ausgabe
var txtMP4=document.createTextNode("MP4 download"); // Variable für den Text: MP4 download
var txtMP4HD=document.createTextNode("MP4 HD download"); // Variable für den Text: MP4 HD download

// Link Element für die einfache MP4 Datei erzeugen
var LinkMP4 = document.createElement("a"); // Erzeuge Link Element
LinkMP4.appendChild(txtMP4); // Füge dem Element ein Kind-Element an mit dem Text für die Anzeige
LinkMP4.href = "http://www.youtube.com/get_video?"; // Beginn des Links
LinkMP4.href += "fmt=18"; // Qualitätsstufe 18 = kleine MP4 Datei
LinkMP4.href += "&video_id="+ videoid; // Video ID an den Link anfügen
LinkMP4.href += "&t="+ hash; // Video Hash an den Link anfügen
LinkMP4.setAttribute("class", 'yt-button yt-button-urgent yt-button-short'); // Das ganze als YouTube Button anzeigen
document.getElementById("watch-embed-div").appendChild(LinkMP4); // Das ganze dem watch-embed-div Div anhängen



// Link Element für die HD MP4 Datei erzeugen, nur wenn HD vorhanden!!!
if (yt.getConfig('IS_HD_AVAILABLE')){ // Prüfe ob eine HD Version vorhanden ist
var pTag = document.createElement("p"); // Erzeuge Paragraph Element hinzu
pTag.innerHTML = ""; // Schreibe einen Zeilenumbruch in den pTag
document.getElementById("watch-embed-div").appendChild(pTag); // pTag an den watch-embed-div Div anhängen
var LinkMP4HD = document.createElement("a"); // Erzeuge Link Element
LinkMP4HD.appendChild(txtMP4); // Füge dem Element ein Kind-Element an mit dem Text für die Anzeige
LinkMP4HD.href = "http://www.youtube.com/get_video?"; // Beginn des Links
LinkMP4HD.href += "fmt=22"; // Qualitätsstufe 22 = HD MP4 Datei
LinkMP4HD.href += "&video_id="+ videoid; // Video ID an den Link anfügen
LinkMP4HD.href += "&t="+ hash; // Video Hash an den Link anfügen
LinkMP4HD.setAttribute("class", 'yt-button yt-button-urgent yt-button-short'); // Das ganze als YouTube Button anzeigen
document.getElementById("watch-embed-div").appendChild(LinkMP4HD); // Das ganze dem watch-embed-div Div anhängen
}





-----------------------------------------------
Ab hier ist der Bereich, denn man kopieren muss
-----------------------------------------------

javascript:
var isHD = yt.getConfig('IS_HD_AVAILABLE');
var videoid = yt.getConfig('VIDEO_ID');
var hash = yt.getConfig('SWF_ARGS').t;
var txtMP4=document.createTextNode("MP4 download");
var txtMP4HD=document.createTextNode("MP4 HD download");
var LinkMP4 = document.createElement("a");
LinkMP4.appendChild(txtMP4);
LinkMP4.href = "http://www.youtube.com/get_video?";
LinkMP4.href += "fmt=18";
LinkMP4.href += "&video_id="+ videoid;
LinkMP4.href += "&t="+ hash;
LinkMP4.setAttribute("class", 'yt-button yt-button-urgent yt-button-short');
document.getElementById("watch-embed-div").appendChild(LinkMP4);
if (yt.getConfig('IS_HD_AVAILABLE')){
var pTag = document.createElement("p");
pTag.innerHTML = "";
document.getElementById("watch-embed-div").appendChild(pTag);
var LinkMP4HD = document.createElement("a");
LinkMP4HD.appendChild(txtMP4HD);
LinkMP4HD.href = "http://www.youtube.com/get_video?";
LinkMP4HD.href += "fmt=22";
LinkMP4HD.href += "&video_id="+ videoid;
LinkMP4HD.href += "&t="+ hash;
LinkMP4HD.setAttribute("class", 'yt-button yt-button-urgent yt-button-short');
document.getElementById("watch-embed-div").appendChild(LinkMP4HD);
}

-----------------------------------------------
Hier Endet der Bereich, denn man kopieren muss
-----------------------------------------------







Hier noch ein Nachtrag, ich habe zwar ein Video gefunden, welches schon offiziell HD 1080p anzeigt, aber es scheint auch bei anderen zu gehen. Habe das Skript dahin gehend angepasst, nun also mit HD+ download.


javascript:
var pTag = document.createElement("p");
pTag.innerHTML = "<h2>Video download</h2>";
var isHD = yt.getConfig('IS_HD_AVAILABLE');
var videoid = yt.getConfig('VIDEO_ID');
var hash = yt.getConfig('SWF_ARGS').t;
var txtMP4=document.createTextNode("MP4 download");
var txtMP4HD=document.createTextNode("MP4 HD download");
var txtMP4HDPlus=document.createTextNode("MP4 HD+ download");
var txtBR=document.createTextNode(" ");
var Ausrichtung = document.createAttribute("align");
Ausrichtung.nodeValue = "center";
pTag.setAttributeNode(Ausrichtung);
var LinkMP4 = document.createElement("a");
LinkMP4.appendChild(txtMP4);
LinkMP4.href = "http://www.youtube.com/get_video?";
LinkMP4.href += "fmt=18";
LinkMP4.href += "&video_id="+ videoid;
LinkMP4.href += "&t="+ hash;
LinkMP4.setAttribute("class", 'yt-button yt-button-urgent yt-button-short');
pTag.appendChild(LinkMP4);
if (yt.getConfig('IS_HD_AVAILABLE')){
pTag.appendChild(txtBR);
var LinkMP4HD = document.createElement("a");
LinkMP4HD.appendChild(txtMP4HD);
LinkMP4HD.href = "http://www.youtube.com/get_video?";
LinkMP4HD.href += "fmt=22";
LinkMP4HD.href += "&video_id="+ videoid;
LinkMP4HD.href += "&t="+ hash;
LinkMP4HD.setAttribute("class", 'yt-button yt-button-urgent yt-button-short');
pTag.appendChild(LinkMP4HD);
pTag.appendChild(txtBR);
var LinkMP4HDPlus = document.createElement("a");
LinkMP4HDPlus.appendChild(txtMP4HDPlus);
LinkMP4HDPlus.href = "http://www.youtube.com/get_video?";
LinkMP4HDPlus.href += "fmt=37";
LinkMP4HDPlus.href += "&video_id="+ videoid;
LinkMP4HDPlus.href += "&t="+ hash;
LinkMP4HDPlus.setAttribute("class", 'yt-button yt-button-urgent yt-button-short');
pTag.appendChild(LinkMP4HDPlus);
}
document.getElementById("watch-embed-div").appendChild(pTag);

Keine Kommentare:

Kommentar veröffentlichen