Di Youtube-dl ho già parlato, ma ogni volta che vi ricorro si dimostra ancora più versatile e potente di quanto potessi immaginare.
Una convention annuale solitamente articolata in più giorni, in questo periodo di pandemia si svolge completamente online, pubblicando i filmati degli interventi su un canale Youtube.
Purtroppo i video rimangono disponibili solo per poche ore, avevo quindi bisogno di scaricarli in fretta, evitando però di includere anche altri video pubblicati precedentemente.
Leggendo tra la documentazione di Youtube-dl, ho scoperto l’opzione --dateafter
, mi basta quindi impostare la data di inizio della convention per selezionare automaticamente solo i video pubblicati a partire da quella data.
Con l’opzione --download-archive
evito il download dei video precedentemente scaricati. Youtube-dl tiene traccia di quanto ha già scaricato nel file download.txt
.
L’opzione -i
ignora eventuali errori relativi a filmati non disponibili, nel mio caso utili perchè già presenti in playlist i filmati in programma nei giorni successivi.
Con l’opzione -o
specifico la cartella di destinazione e il formato del nome del file da salvare.
Il comando completo è quindi:
$ youtube-dl -o "/cartella/download/%(title)s.%(ext)s" --dateafter 20210315 --download-archive /cartella/download/downloads.txt -i https://www.youtube.com/playlist?list=abcde1234
inserito in un crontab, ogni 6 ore controlla la presenza di nuovi video e li scarica nella cartella scelta.
# scarica i nuovi filmati ogni 6 ore
* */6 * * * youtube-dl -o "/mnt/download/CON6/%(title)s.%(ext)s" --dateafter 20210315 --download-archive /mnt/download/downloads.txt -i https://www.youtube.com/playlist?list=abcde1234