Laden Sie YouTube-Videos vom Anfang des Stapels bis zum Ende des Stapels herunter, der Teil einer Wiedergabeliste ist

10

Ein Youtube-Video kann eigenständig angesehen werden oder Teil einer Wiedergabeliste sein.
Beispiel:
https://www.youtube.com/watch?v=vbsNiOkm0BU und
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA

Beachten Sie das Teil vbsNiOkm0BU.

Die Frage ist, diesen Teil für alle Videos des Kanals / der Wiedergabeliste zu bekommen.

Das Motiv ist, alle Videos dieses Kanals herunterzuladen (ca. 3600). Aber ich habe keinen Erfolg damit, youtube-dlalles auf einmal herunterzuladen.
Ich möchte es also als Beispiel in 100er-Dateien herunterladen.

Wenn ich diese Frage weiter beantworten könnte, kann ich ein Bash-Skript schreiben, um nur bestimmte Indizes einer Wiedergabeliste herunterzuladen?

Wenn Sie den obigen Link sehen:
https://www.youtube.com/watch?v=vbsNiOkm0BU&index=141&list=UUmM7KPLEthAXiPVAgBF6rhA
Beachten Sie den Teil &index=141.

Wenn Sie so etwas tun:

for i in {100..200}
do
youtube-dl https://www.youtube.com/watch?v=vbsNiOkm0BU&index=${i}&list=UUmM7KPLEthAXiPVAgBF6rhA
done

Beachten Sie das Teil &index=${i}.

Dies lädt aufgrund von immer wieder das gleiche Video herunter vbsNiOkm0BU.

Jede Hilfe hierzu wäre sehr dankbar. Vielen Dank.

Rishiraj Surti
quelle

Antworten:

14

Wiedergabeliste

youtube-dl -f FORMAT -ciw --output '%(title)s.%(ext)s' --playlist-start NUMBER-START --playlist-end NUMBER-END <url-of-playlist>  

... wo <url-of-playlist>durch die URL des Playlist ersetzt wird, ersetzen FORMATmit alle verfügbaren Video - Format, zum Beispiel 18, NUMBER-STARTist die Anzahl der Videos in der Wiedergabeliste zunächst den Download zu starten, und NUMBER-ENDdie Anzahl der Videos in der Wiedergabeliste zuletzt zum Download .

Kanal

Wenn ein Kanal mehr als eine Wiedergabeliste enthält, klicken Sie auf die erste Wiedergabeliste und laden Sie mit dem obigen Befehl alle Videos in der ausgewählten Wiedergabeliste herunter. Wiederholen Sie diesen Vorgang für jede Wiedergabeliste im Kanal.

Erläuterung

-f, --format FORMAT
    video format code. The -F option (capital F) displays all available video  
    formats for a video link. Example: youtube-dl -F <url-of-video>

-c, --continue                   
    force resume of partially downloaded files

-i, --ignore-errors              
    continue on download errors, for example to skip unavailable videos  
    in a channel   

-w, --no-overwrites
    do not overwrite files 

Konvertieren Sie alle Videotitel in Kleinbuchstaben

youtube-dl -f FORMAT -ciw --output '%(title)s.%(ext)s' --playlist-start NUMBER-START --playlist-end NUMBER-END <url-of-playlist>     
find -type f -exec rename 'y/A-Z/a-z/' {} +

Erläuterung

--output '%(title)s.%(ext)s'  
    output file name(s) as the name of the video, followed by a dot character and the video's extension  

find -type f 
    Find all files.

y/source/destination/  
    Transliterate the characters in the pattern space which appear in source   
    to the corresponding character in destination.
Karel
quelle
Vielen Dank! Das hat funktioniert! Nur noch eine Abfrage: Kann ich beim Herunterladen alle Videotitel in Kleinbuchstaben konvertieren? Ich kann das Format wie angeben --output "%(title)s". Kann ich es auch in Kleinbuchstaben umwandeln?
Rishiraj Surti