Download automatici di un canale Youtube

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

Canonscan 200 Lide con Debian

Cosa c’è di più ovvio da fare in questi giorni di quarantena che andare a frugare tra le vecchie cose con il velleitario intento di mettere un po’ di ordine?
Ecco che su uno scaffale a prendere polvere trovo un vecchio scanner Canon, un Canoscan 200 Lide.

Collegato all’ancor più vecchio iMac su cui è installata Debian Bullseye, viene riconosciuto immediatamente. Bingo!

La prima scansione di prova però presenta una barra nera che si estende verticalmente su tutta l’immagine, più o meno così:

https://i.stack.imgur.com/b3gij.jpg


Collegato a Mac OS lo scanner funziona invece regolarmente, così da poter escludere che sia un problema hardware.

Tornato a Linux, dopo aver installato sane riesco a far diventare la barra verticale da nera a semplicemente più chiara, ma sempre molto fastidiosa.

Qualche ricerca su Internet mi porta a ritenere che il problema sia nella versione più recente del pacchetto sane-backends, così decido di provare con l’ultima versione che sembra funzionare, la 1.0.25 .

Decido di provare con i sorgenti Debian con l’ultima versione disponibile, così come suggerito qui:

$ sudo apt-get source libsane

L’installazione potrebbe chiedere il pacchetto dpkg-dev, nel caso installatelo.

A questo punto dobbiamo editare un file

$ cd sane-backends-1.0.27/backend/

$ nano -c genesys.c

le righe da modificare sono quelle dalla 2075 alla 2077 e vanno modificate così (in neretto le modifiche da applicare):

if (dev->model->flags & GENESYS_FLAG_SHADING_REPARK && dev->model->cmd_set->slow_back_home)
    {
      status = dev->model->cmd_set->slow_back_home (dev, dev->model->flags );

Salviamo, usciamo dall’editor e compiliamo (installate eventuali dipendenze necessarie):


$ sudo apt-get build-dep libsane
$ cd sane-backends-1.0.27
$ dpkg-buildpackage -rfakeroot -uc -b

Qui il mio vecchio iMac di 12 anni ha lavorato per un po’, su un computer più recente la compilazione non dovrebbe richiedere troppo tempo.
Se tutto va come previsto, dovreste avere il pacchetto pronto da installare:

$ sudo dpkg -i libsane_1.0.27-3.2_amd64.deb

Se richiesto, nella stessa cartella troverete anche i .deb con le necessarie dipendenze.

Alla prima prova lo scanner funzionava già perfettamente, ma potrebbe essere opportuno un riavvio del sistema.

Non resta che impedire che il pacchetto venga sostituito con un aggiornamento successivo:

$ sudo apt-mark hold libsane

Migrare i bookmark da Pocket a Shaarli

Nei miei continui disperati tentativi di affrancarmi il più possibile da servizi esterni con dubbio rispetto della privacy, mi sono imbattuto in Shaarli.
Dalle prime prove su strada sembra un ottimo strumento per salvare ed eventualmente condividere i propri segnalibri, un po’ come faceva il compianto Delicio.us.

Da tempo a questo scopo uso Pocket, relativamente tranquillizzato dal fatto che sia stato acquisito da Mozilla.

Volendo però provare un’installazione di Shaarli sul mio hosting, ho voluto provare a importare tutta la mia lista di Pocket.

La procedura di esportazione dei segnalibri in Pocket richiede un solo clic e genera un semplice file HTML, ma Shaarli si rifiuta di importarlo lamentandosi di un formato non corretto.
Cercando in rete ho trovato un template di una esportazione in formato Netscape.

Ho provato a modificare il file generato da Pocket come segue:

modificato il DOCTYPE (riga 1) come segue:

<!DOCTYPE NETSCAPE-Bookmark-file-1>

I segnalibri sono inclusi in una lista, ho modificato i tag così (qualsiasi editor di testo con la funzione trova & sostituisci sarà più che sufficiente):

<ul> ----> <dl>
</ul> ---> </dl>
<li> ----> <dl>
</li> ---> </li>
<tags> --> <TAGS> (in maiuscolo)

Una volta salvato il file verrà importato senza problemi da Shaarli con le tags correttamente impostate.

Utilizzare una vecchia Airport Express per estendere il segnale Wi-Fi

Una vecchia base Airport Express del 2007 trovata in una scatola di vecchiume informatico mi ha suggerito l’idea di utilizzarla per migliorare la ricezione del Wi-Fi nelle stanze della casa dove il segnale è più debole.
Nonostante abiti in un piccolo appartamento, basta allontanarsi dalla stanza dove è il router per notare bruschi cali nella potenza del segnale e nella velocità di connessione.
La possibilità di connettersi sia tramite Ethernet che wireless rende Airport Express ideale per lo scopo.

Una vecchia base Airport Express di Apple
Premetto che ho un cavo Ethernet che dal router attraversa la casa fino a raggiungere un angolo studio ricavato in camera da letto, e proprio a quel cavo ho collegato la base Airport Express in modo che abbia sempre una connessione stabile e veloce.

Il primo problema da risolvere è quello di configurare la base, visto che le versioni più recenti delli Utility Airport rilasciate da Apple non supportano più le vecchie basi Airport.
Inutile chiedersene il motivo, Apple ci ha ormai abituato a scelte apparentemente senza giustificazioni logiche, è la croce e delizia del cosidetto “giardino chiuso” dei prodotti della Mela.L’ultima versione di Utility Airport che supporta questa vecchia versione di Airport Express è la 5.6.1, ma per farla girare sulle versioni di OSX più recenti ho dovuto seguire questi utili consigli.

Una volta ottenuta una versione funzionante dell’Utility Airport, basta collegare la base direttamente al Mac tramite porta Ethernet e configurarla.
Io ho seguito queste istruzioni e tutto è andato liscio, anche se non ho collegato la base alla porta WAN ma ad una delle porte LAN del router.Una volta riavviata la base e collegata al router il gioco è fatto.

Nonostante questa vecchia base Airport non supporti le connessioni Wi-Fi più recenti e veloci, fornisce comunque un segnale 802.11g stabile e  forte abbastanza da permettere lo streaming di video.