youtube-dl; Laden Sie NUR die Wiedergabeliste herunter, NICHT die darin enthaltenen Dateien

1370
user985675

Beim Versuch, nur den Inhalt der Wiedergabeliste (mindestens 600 Einträge) von einer URL abzurufen, gehen Sie folgendermaßen vor:

youtube-dl -i -v --flat-playlist --skip-download https://www.youtube.com/watch?v=CNotezuR73g&list=PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr 

die laut Manpage Playlist-Einträge auflisten soll, während das Herunterladen von Dateien verhindert wird.

Stattdessen hängt es, nachdem diese Ausgabe erzeugt wurde:

~ $ youtube-dl -i -v --flat-playlist --skip-download https://www.youtube.com/watch?v=CNotezuR73g&list=PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr  [1] 4531  ~ $ [debug] System config: []  [debug] User config: []  [debug] Custom config: []  [debug] Command-line args: ['-i', '-v', '--flat-playlist', '--skip-download', 'https://www.youtube.com/watch?v=CNotezuR73g']  [debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8  [debug] youtube-dl version 2018.07.10  [debug] Python version 3.6.6 (CPython) - Linux-4.17.6-1-ARCH-x86_64-with-arch  [debug] exe versions: ffmpeg 4.0.1, ffprobe 4.0.1, rtmpdump 2.4  [debug] Proxy map: {}  [youtube] CNotezuR73g: Downloading webpage  [youtube] CNotezuR73g: Downloading video info webpage  [debug] Default format spec: bestvideo+bestaudio/best  

Wie soll ich das machen?

0
Ich bin unter Windows, das trifft vielleicht auf Linux zu, aber ich musste die URL in "https: //www.youtube.com/playlist? List = PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr" ändern. Siehe auch: https: // archive .zhimingwang.org / blog / 2014-11-05-list-youtube-playlist-with-youtube-dl.html wysiwyg vor 6 Jahren 0
Kommentare scheinen auf eine Zeile beschränkt zu sein, daher muss ich stattdessen einen separaten Beitrag erstellen, siehe unten. user985675 vor 6 Jahren 0

3 Antworten auf die Frage

1
radiolondra

Haben Sie die Seite gelesen, die Wysiwig in seinem Kommentar vorgeschlagen hat? ( Danke @wysiwig! )

Youtube-Playlist mit youtube-dl auflisten

Wie auch immer, hier werde ich versuchen zu erklären, was Sie tun können (aus der vorherigen Website extrahiert).

Versuchen Sie es mit diesem Befehl:

youtube-dl -j --flat-playlist "https://<yourYoutubePlaylist>" | jq -r '.id' | sed 's_^_https://youtu.be/_' > result.log 

Dadurch wird eine ähnliche Ausgabe in result.log erzeugt:

https://youtu.be/0gvUCLL-UGE https://youtu.be/CPV7zcUy4J0 https://youtu.be/4wyZNwIrH9I ... 

Was sollte das sein, was Sie brauchen (eine Liste diskreter Links zu YT-Videos).

Befehlserklärung Mit der -jOption youtube-dl wird eine JSON-Ausgabe erzeugt, die alle Informationen zu dem Link enthält, den Sie übergeben (in diesem Fall eine Playlist).

Diese JSON-Ausgabe wird dann an den jqJSON-Prozessor übergeben (Sie müssen ihn vor der JQ-Website installieren ) und nach allen in der JSON-Ausgabe enthaltenen "id" -Schlüsseln suchen (0gvUCLL-UGE, CPV7zcUy4J0,4wyZNwIrH9I, ...). Wir übergeben dann diese "IDs", seddenen jeder von ihnen https://youtu.be/das zuvor gezeigte Ergebnis voranstellen wird .

Hinweis 1: Zur Installation von JQ können Sie einfach Folgendes verwenden: sudo apt-get install jq

Hinweis 2: Dieser Ansatz funktioniert nur für Youtube .

1
Daniel B

Anscheinend zitieren Sie die URL nicht. Zitieren Sie immer URLs. Auf jedem Betriebssystem.

In Ihrem Beispiel ist das Problem deutlich sichtbar:

~ $ youtube-dl -i -v --flat-playlist --skip-download https://www.youtube.com/watch?v=CNotezuR73g&list=PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr [1] 4531 

[1] 4531 bedeutet, dass ein Job (ID 1) gestartet wurde und mit der PID 4531 ausgeführt wird.

Diese Befehlszeile entspricht mehr oder weniger:

youtube-dl -i -v --flat-playlist --skip-download https://www.youtube.com/watch?v=CNotezuR73g & list=PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr 

Das kaufmännische Und-Zeichen am Ende bedeutet, dass Zeile 1 im Hintergrund ausgeführt wird. Es wird immer noch mit Ihrer Shell verbunden, so dass Sie die Ausgabe sehen. Es hängt wahrscheinlich nicht, es ist gerade fertig: Es ist doch nur ein Link zu einem Video.

Zeile 2 ist eine variable Zuweisung in Bash. Es definiert eine Variable, die aufgerufen wird, listwenn sie noch nicht vorhanden ist. Es wird so verwendbar sein:

~ $ echo $list PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr 

Die richtige Befehlszeile, die Sie verwenden möchten, lautet:

youtube-dl -i -v --flat-playlist --skip-download "https://www.youtube.com/watch?v=CNotezuR73g&list=PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr" 
0
user985675

@wysiwig's Methode erzeugt zwar eine Ausgabe auf Linux, aber nicht das, was ich gesucht habe, also:

$ youtube-dl --flat-playlist --skip-download https://www.youtube.com/playlist?list=PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr 

Ausgabe :

[youtube: Playlist] PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr: Download Webseite
[Download] Download - Playlist: In voller Länge Arthouse Filme
[youtube: Playlist] PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr: Herunterladen Seite # 1
[youtube: Playlist] PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr: Herunterladen Seite # 2
[youtube: Playlist] PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr: Herunterladen Seite # 3
[youtube: Playlist] PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr: Herunterladen Seite # 4
[youtube: Playlist] PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr: Herunterladen Seite # 5
[youtube: Playlist] PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr: Herunterladen Seite # 6
[youtube: Playlist] Playlist Ganzkörper Arthouse Filme: Das Herunterladen von 636 Videos
[download] Video 1 von 636
herunterladen [Download] Video 2 von 636
herunterladen [Download] Video 3 von 636 herunterladen
...

Was ich wirklich von der Playlist bekommen wollte, sind die Video-Namen, so dass ich nur diejenigen auswählen konnte, die ich herunterladen möchte, die ich mit bekomme:

$ youtube-dl -i --get-filename --skip-download https://www.youtube.com/playlist?list=PLm9l7EEbJuhyDYNuItj3sG8h3xAZbjIxr 

Ausgabe :

The Waiters (in voller Länge MOVIE, gesamter Spielfilm, voller Film) _volle Filme kostenlos anschauen-CNotezuR73g.mp4
Malcolm X (MORGAN FREEMAN, Volle Film, Englisch, Film in voller Länge) _volle Filme kostenlos ansehen-3C8j1C7HMj8.mp4
The Arizona Kid - Western, Film, Ganzkörperansicht, Langfilm mit ROY ROGERS, Classic Movies-8McZ6G2Uud8.mp4
Desperado Man oder Sagebrush Trail (Westernfilm, Langfilm, Spielfilm, Klassiker) -7udmB5M6IIE.mp4
...