Stufe 20 – Youtube Downloader

Eines der ersten Projekte im Homelab war vor einigen Jahren ein Raspberry 3 der automatisiert Videos von Youtube runterlädt und auf einer NAS Lösung speichert.

Das ganze habe ich mal aktualisiert mit folgenden Zutaten:

Sind die Voraussetzungen vorhanden gehen wir wie folgt vor:

  1. Dropbox App auf Ubuntu installieren und dort anmelden
  2. In IFFT anmelden und ein Rezept anlegen

Kontrolle: Youtube Video liken. Nach einigen Minuten sollte nun im Dropbox-Ordner der Wahl eine Datei Favorite.txt angelegt werden. Inhalt ist nur die URL des Videos. Mehr nicht.

3. CIFS Share mit mount einhängen bzw. gleich dauerhaft in der fstab hinterlegen mit RW Rechten!!

Beispiel:

//nas-ip/video  /mnt/mein-mountverzeichnis/    cifs credentials=/etc/samba/passwd_file,vers=1.0,noperm,iocharset=utf8,file_m
ode=0777,dir_mode=0777 0 0

4. Youtube-dl downloaden von Git-Hub und ausführbarmachen! Liegt dann unter /usr/local/bin für alle User und nicht in einer ALTEN VERSION unter /usr/bin!

Vorgehen ist hier gut beschrieben: https://forums.linuxmint.com/viewtopic.php?t=321134

Kontrolle auf der Konsole daher einfach mit: –version

youtube-dl –version
2021.01.24.1

5. Script im /home/username anlegen.

Beispiel: youtube.sh

if [ -f ~/Dropbox/Pfad/zur/favorites.txt ]; then
       cd /mnt/meinmountverzeichnis
       youtube-dl -c –batch-file=~/Dropbox/Pfad/zur/favorites.txt
       rm ~/Dropbox/Pfad/zur/favorites.txt
fi

6. Testlauf machen bevor man das ganze in der crontab automatisiert.

Beispiel:

0 22 * * * /pfad/zum/script.sh

Ergebnis:

Jeden Tag wird um 22.00 Uhr das Script abgearbeitet und die favorites.txt im Dropbox Ordner gelöscht und nicht Daten doppelt downzuloaden.

Wird das Script manuell ausgeführt tauchen einige Hinweismeldungen vom Downloader auf. Einfach erstmal ignorieren und schauen ob im Zielordner die Datei nach Wunsch gespeichert wurde.

Feintuning kann später via: youtube-dl –help immer noch durchgeführt werden.

Jetzt kann jeder nach belieben Videos runterladen und auch offline ansehen.