Thursday, April 08, 2010

Youtube download με το νέο layout

Εδώ και λίγο καιρό, το Youtube έχει αλλάξει layout. Μ' αυτόν τον τρόπο έχει καταφέρει να μας σπάσει τα νεύρα, αφενός γιατί αυτή η αλλαγή είναι χωρίς λόγο, αφετέρου (και κυρίως) λόγω του γεγονότος ότι όλα τα παλιά downloaders δεν λειτουργούν πια.

Όμως, γι' αυτό έχω τις γνώσεις πληροφορικής. Έγραψα λοιπόν ένα μικρό κομμάτι κώδικα javascript που κατεβάζει το βίντεο με ένα κλικ:

javascript:swfHTML=document.getElementById('movie_player').getAttribute('flashvars');w=swfHTML.split('&');for(i=0;i<=w.length-1;i++)if(w[i].split('=')[0]=='fmt_url_map'){links=unescape(w[i].split('=')[1]);break;}abc=links.split('|');abc=abc[1];abc=abc.split(',');window.location.href=abc[0];

Όλο αυτό το κάνετε copy-paste σε ένα καινούριο bookmark του Firefox (δεν το έχω δοκιμάσει σε Explorer), το οποίο bookmark θα πατάτε όταν βρίσκεστε στη σελίδα του βίντεο που σας ενδιαφέρει. Αυτό θα έχει ως αποτέλεσμα ο Firefox να σας κατεβάζει ένα αρχείο με όνομα videoplayback. Το μετονομάζετε σε onoma.mp4 και είστε έτοιμοι!

Στη συνέχεια, μπορείτε με το ffmpeg να το μετατρέψετε σε mp3 128 kbps με τον εξής απλό τρόπο:
ffmpeg -i onoma.mp4 -ab 128 onoma.mp3
(υποθέτω ότι σκαμπάζετε λίγο από command line)

Ξαναγράφω εδώ το javascript με line breaks, για να το δείτε πιο καθαρά:

javascript:
swfHTML=document.getElementById('movie_player').getAttribute('flashvars');
w=swfHTML.split('&');
for(i=0;i<=w.length-1;i++)
if(w[i].split('=')[0]=='fmt_url_map'){
links=unescape(w[i].split('=')[1]);
break;
}
abc=links.split('|');
abc=abc[1];
abc=abc.split(',');
window.location.href=abc[0];