YoutubeDL-Material als YouTube Video Downloader

YoutubeDL-Material ist ein schönes und einfach zu bedienendes Webfrontend für das Kommandozeilentool youtube-dl.

29.01.2022 - youtube-dl ist elendig langsam! yt-dlp wird hier leider nicht unterstützt :(
14.09.2021 - Anleitung aktualisiert (installiert unter Debian 11 Bullseye)
  • einzelne Videos von YouTube herunterladen
  • Playlists von YouTube herunterladen
  • automatischer download von Kanälen
  • heruntergeladene Videos im Browser wiedergeben
  • heruntergeladene Videos auf den PC speichern
  • komplette Steuerung und Konfiguration über ein Webinterface
  • Docker Unterstützung

Mit Docker ist die Anwendung natürlich schnell und einfach aufgesetzt. Ich installiere es aber selber in einem LXC Container mit Debian 11.

Installation

Abhängigkeiten installieren.

$ apt install -y curl ffmpeg

Node.js 12 installieren.

$ curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
$ apt install -y nodejs

$ nodejs -v
v12.22.6

$ npm -v
6.14.15

Die installierte und verlinkte Python Version überprüfen. (/usr/bin/env python)

$ which python
$ which python2
$ which python3
/usr/bin/python3

Da nur Python 3 installiert ist, muss der link zu python aktualisiert werden.

$ apt install python-is-python3

$ which python
/usr/bin/python3

Aktuellen youtube-dl installieren.

$ curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
$ chmod a+rx /usr/local/bin/youtube-dl

$ youtube-dl --version
2021.06.06

Benutzer anlegen. (sollte später nicht als root laufen)

$ adduser youtube

YoutubeDL-Material installieren. (immer die aktuellste Version nehmen) Als Benutzer youtube ausführen, kommt alles ins Homeverzeichnis.

youtube@host:~$ cd /home/youtube
youtube@host:~$ wget https://github.com/Tzahi12345/YoutubeDL-Material/releases/download/v4.2/youtubedl-material-v4.2.zip
youtube@host:~$ unzip youtubedl-material-v4.2.zip

Config anpassen: ./youtubedl-material/appdata/default.json

{
 "YoutubeDLMaterial": {
   "Host": {
     "url": "http://IP-OR-DNS-NAME",
     "port": "17442"

   "Downloader": {
     "path-audio": "audio/",
     "path-video": "video/",
     "default_file_output": "",
     "use_youtubedl_archive": false,
     "custom_args": "-f bestvideo[ext=mp4]+bestaudio[ext=m4a]/best"     # optional (siehe Videoformat)

Abhängigkeiten für das Node.js Backend installieren.

youtube@ytdl:~$ cd youtubedl-material/appdata
youtube@ytdl:~$ npm install
youtube@ytdl:~$ npm audit fix

YoutubeDL sollte sich jetzt starten lassen.

youtube@ytdl:~$ npm start
> backend@1.0.0 start /home/youtube/youtubedl-material
> nodemon -q app.js
2021-09-14T18:13:44.125Z INFO: youtube-dl successfully updated!
2020-09-14T19:12:44.129Z INFO: YoutubeDL-Material v4.2 started on PORT 17442

Startscript für den systemd erstellen: /etc/systemd/system/youtubedl-material.service

[Unit]
Description = YoutubeDL-Material
After = network.target

[Service]
Environment = NODE_PORT=17442
Type = simple
Restart = on-failure
WorkingDirectory = /home/youtube/youtubedl-material
ExecStart = npm start
StandardOutput = syslog
StandardError = syslog
SyslogIdentifier = YoutubeDL-Material
User = youtube
Group = youtube

[Install]
WantedBy = multi-user.target

Den Service aktivieren und starten.

$ systemctl enable youtubedl-material.service
$ systemctl start youtubedl-material.service

Das Webfrontend ist über: http://ip-adresse:17442 erreichbar.

Anpassungen

Fehlermeldung:
/usr/bin/env: python: No such file or directory

$ apt install python-is-python3

Fehlermeldung:
WARNING: Assuming –restrict-filenames since file system encoding cannot encode all characters. Set the LC_ALL environment variable to fix this.

$ dpkg-reconfigure locales

Ich aktiviere und setze hier en_GB.UTF-8 als default.

Reboot und die Fehlermeldung ist verschwunden.

Videoformat:
Einige Videos werden im MKV-Format heruntergeladen und sind dadurch im Webinterface nicht sichtbar.
Mit diesem Eintrag in der default.json, wird das Format fest auf MP4 gesetzt. Damit gab es bisher keine Probleme mehr.

"custom_args": "-f bestvideo[ext=mp4]+bestaudio[ext=m4a]/best"

2 Gedanken zu „YoutubeDL-Material als YouTube Video Downloader“

  1. Bitte die Nightlies verwenden, es gibt demnächst wieder ein neues Release (4.2 ist ja schon etwas her und es ist wirklich SEHR viel in den Nightlies passiert seitdem!).

    Auf denen kann man dann allerdings auch gut bleiben. Release Channel ist halt gehäbiger.

    Antworten

Schreibe einen Kommentar