martedì 15 marzo 2011

Linux - Scaricare semplicemente video di Youtube da linea di comando (da terminale)

Installazione comando youtube-dl

Su Ubuntu Linux è semplicissimo, basta installare youtube-dl digitando:

sudo apt-get install youtube-dl

Su distribuzioni dove invece il comando youtube-dl non è presente a repository, poco male, occorre dare qualche comando in più per installarlo manualmente:

  • Scaricare youtube-dl da qui: http://rg3.github.com/youtube-dl/ (tasto destro "salva documento sull scrivania")
  • Bisogna avere già installato Python
  • Rinominare il file youtube-dl.sh in youtube-dl.py
  • Copiate il file youtube-dl.py nella cartella /usr/bin (o in altra directory raggiungibile dal PATH, es. /usr/local/bin o $HOME/bin) digitando:

    sudo cp youtube-dl.py /usr/bin




A questo punto siamo pronti per scaricare i nostri video da youtube col terminale!
Digitate ad esempio:
youtube-dl.py http://www.youtube.com/watch?v=iR1b7G1TM0s -o prova.mp4
L'opzione -b scarica il video alla massima qualità trovata, mentre l'opzione -t assegna lo stesso nome del video usato a quello di youtube.
L'opzione -o che permette di specificare il nome e formato del file di destinazione; -c per continuare download interrotto.

Per interrompere eventualmente il download premete ctrl+c

Problema aggiornamento operatività di youtube-dl in seguito a nuove specifiche di YouTube.

Fantastico comando, eh, youtube-dl ?
Tuttavia, molti di voi si saranno accorti che ultimamente youtube-dl non funziona correttamente, e riceveranno un messaggio di questo tipo:

gabo@ubuntu:~$ youtube-dl -i http://www.youtube.com/watch?v=Zg0VibH6Pbo
[youtube] Setting language
[youtube] Zg0VibH6Pbo: Downloading video webpage
[youtube] Zg0VibH6Pbo: Downloading video info webpage
[youtube] Zg0VibH6Pbo: Extracting video information
ERROR: unable to download video (format may not be available)


:-( ...
.. niente paura, youtube-dl deve essere solo aggiornato secondo le ultime specifiche di YouTube. :-)
Sfortunatamente, anche per i possessori di Ubuntu /Debian, youtube-dl non si aggiorna come tutti gli altri programmi da linea di comando con un semplice apt-get update, ma occorre specificare al comando youtube-dl stesso di andarsi a prendere gli aggiornamenti, con il seguente comando.

sudo youtube-dl -U

Tuttavia, occorre tener presente che l'update occorre farlo due volte. Dopo la prima, a terminale ci verrà visualizzato:
Updating to latest stable versionxn--
Updated to version github


Ridando un comando per catturare un video, riceveremo di nuovo un errore:
youtube-dl -i http://www.youtube.com/watch?v=Zg0VibH6Pbo

[youtube] Setting language
[youtube] Zg0VibH6Pbo: Downloading video webpage
[youtube] Zg0VibH6Pbo: Downloading video info webpage
[youtube] Zg0VibH6Pbo: Extracting video information
ERROR: unable to download video (format may not be available)


Allora ripetiamo un'altra volta il comando di prima
sudo youtube-dl -U

Updating to latest stable versionxn--
Updated to version 2011.02.25c


Dopo quest'ultimo messaggio (Updated to version 2011.02.25c), youtube-dl sarà aggiornato correttamente.

Infatti:
youtube-dl -i http://www.youtube.com/watch?v=Zg0VibH6Pbo

[youtube] Setting language
[youtube] Zg0VibH6Pbo: Downloading video webpage
[youtube] Zg0VibH6Pbo: Downloading video info webpage
[youtube] Zg0VibH6Pbo: Extracting video information
[download] Destination: Zg0VibH6Pbo.mp4


;-)

NOTA: Naturalmente questa procedura di aggiornamento, è aggiornata alla data di scrittura del presente post (15/03/2011). E' molto probabile che in futuro, in seguito a nuove ulteriori variazioni di specifiche di Youtube, occorra ripetere nuovamente la procedura sopra descritta.