Einfache Warteschlange für youtube-dl in der Linux-Shell

8

youtube-dl ist ein Python-Skript, mit dem man YouTube-Videos herunterladen kann. Es unterstützt eine Option für Batch-Downloads:

  

-a FILE, --batch-file=FILE
  Datei mit URLs zum Herunterladen ('-' für Standard)

Ich möchte eine Art von Warteschlange einrichten, damit ich einfach URLs an eine Datei anhängen und youtube-dl verarbeiten kann. Derzeit werden Dateien nicht aus der Stapeldatei entfernt. Ich sehe die Option für '-' Stdin und weiß nicht, ob ich das zu meinem Vorteil nutzen kann.

Eigentlich möchte ich youtube-dl als eine Art Daemon ausführen, der die Warteschlangendatei überprüft und die enthaltenen Dateinamen herunterlädt.

Wie kann ich das tun?

    
ncatnow 03.09.2010, 03:43
quelle

2 Antworten

4

Der Tail -f funktioniert nicht, weil das Skript alle Eingaben gleichzeitig liest.

Es funktioniert, wenn Sie das Skript so ändern, dass es die Batch-Datei fortlaufend liest.

Führen Sie das Skript dann einfach als

aus %Vor%

Wenn Sie einige Daten an batch.txt anhängen, sagen Sie:

%Vor%

Das Skript beginnt mit dem Herunterladen des angehängten Videos in den Stapel.

Dies ist der Patch, den Sie auf die neueste Version von "youtube-dl" anwenden sollten:

%Vor%

Hoffe es hilft, Glückliche Videoüberwachung ;)

HINWEIS: Aufgrund der Umstrukturierung des Codes funktioniert dieser Patch nicht mehr. Es wäre interessant zu sehen, ob dies zum Upstream-Code hinzugefügt werden könnte.

    
vegacom 03.09.2010, 05:40
quelle
1

Sie können möglicherweise% tail -f verwenden, um von Ihrer Datei zu lesen. Es wird nicht beendet, wenn es das Dateiende erreicht, wartet aber auf weitere Daten, die an die Datei angehängt werden.

%Vor%

Da tail -f nicht beendet wird, sollte youtube-dl weiterhin Dateinamen von stdin lesen und niemals beenden.

    
John Kugelman 03.09.2010 03:50
quelle

Tags und Links