Nella mini-guida di oggi vedremo come utilizzare il terminale per scaricare video da YouTube e siti simili. Utilizzeremo youtube-dl, un tool libero ed open source, semplicissimo da usare ed altamente configurabile.
Youtube-dl: download di audio, video e playlist
Youtube-dl è un programma, da eseguire tramite terminale, che permette di scaricare video da moltissime piattaforme. Trovate qui un elenco completo di siti compatibili, non li ho contati ma sono svariate decine, sicuramente più di 100. Per funzionare necessita dell’interprete 2.6+ o 3.2+ di Python, quindi possiamo utilizzarlo su GNU/Linux, ma anche su MacOS e Windows. Nonostante sia disponibile nel repository delle princilapi distribuzioni, conviene installarlo tramite il sito ufficiale, per avere sempre l’ultima versione, non appena viene rilasciata. Questo fattore è essenziale per questo tipo di programmi.
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl sudo chmod a+rx /usr/local/bin/youtube-dl
Installandolo con questa procedura, potremo ottenere l’ultima release semplicemente con l’istruzione youtube-dl -U.
Per procedere al download di un video, o di una intera playlist, basterà utilizzare la sintassi youtube-dl ‘URL’, ad esempio:
youtube-dl ‘https://www.youtube.com/watch?v=n9YDz-Iwgyw’
Tutte le opzioni disponibili sono accessibili tramite l’istruzione youtube-dl – -help. Alcune delle più interessanti sono:
- -F ‘URL’, per visualizzare tutti i formati video disponibili. Si avrà una schermata come quella nell’immagine precedente. Il primo numero corrisponde al relativo file;
- -f numero_file ‘URL’, per scaricare il formato scelto;
- -r 2M ‘URL’, per limitare il download rate, in questo esempio a 2MiB/s;
- -a list_file.txt, per scaricare un elenco di video, i cui link sono da inserire in un generico file list_file.txt.
È possibile configurare, in base alle proprie esigenze, il funzionamento del programma. Per farlo dovremo andare a creare, se non esistente, la cartella di configurazione ed il relativo file:
mkdir ~/.config/youtube-dl touch ~/.config/youtube-dl/config
Un esempio di file di configurazione potrebbe essere il seguente. Permette di scaricare l’audio di un video, limitando la velocita di download. In seconda istanza il file verrà spostato sul proprio dispositivo Android e rimosso dal pc:
-r 2M -f 'bestaudio[ext=m4a]' --exec 'adb push {} /sdcard/Music/ && rm {}'
Bonus tip: una piccola GUI
Parlando di terminale non posso non aggiungere un piccolo bonus, per quanti si avvicinano per la prima volta al mondo GNU/Linux. Le possibilità forniteci da questo sistema operativo sono infatti moltissime. Lo scripting bash in particolare, ci da la possibilità di interagire con i vari programmi, come ad esempio vi ho spiegato in questo articolo. Questa potrebbe essere un’ottima occasione per un altro esempio.
Dando un paio di volte il comando youtube-dl -F ‘URL’, si può notare che il relativo output prevede nell’ultima linea il formato “best”. Ho creato quindi un piccolissimo script in bash, grezzo e non ottimizzato, per velocizzare l’uso del tool e fornirne una piccola GUI. Per funzionare necessita di zenity e che la configurazione custom del tool non presenti istruzioni che portano conflitti. In tal caso si potrebbe direttamente inserire le istruzioni in questo script, piuttosto che nel file di config, per esercitarsi.
#!/usr/bin/env bash URL=$(zenity --entry --title=”LFFL-Youtube-dl” --text="Inserire URL del video da scaricare") youtube-dl -F $URL > ./youtube-dl-quality NUM=$(awk '{w=$1} END{print w}' ./youtube-dl-quality) rm ./youtube-dl-quality youtube-dl -f $NUM $URL
Per maggiori dettagli vi rimando alla pagina ufficiale, di questo progetto.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.