Herunterladen von YouTube-Wiedergabelisten mit YouTube-DL, Überspringen vorhandener Dateien

22

Ich habe mich gefragt, ob es möglich ist, eine YouTube-Wiedergabeliste als MP3 herunterzuladen, indem ich youtube-dlbereits vorhandene Dateien überspringe. Ich benutze diesen Befehl:

youtube-dl --continue --ignore-errors --no-overwrites --extract-audio --audio-format mp3 --output "%(title)s.%(ext)s" [path here]

und obwohl ich es so eingestellt habe, dass es nicht überschreibt, wird alles von Grund auf neu heruntergeladen. Ist das möglich?

Krieger
quelle
obwohl es neu herunterlädt, überspringt es normalerweise das Schreiben der Datei standardmäßig, auch wenn diese Option nicht gesetzt ist
mchid
OK, wenn ich das heruntergeladene Video zusammen mit der MP3-Datei behalte, funktioniert die Überspringfunktion ordnungsgemäß. Nicht genau das, was ich brauchte, aber es ist in Ordnung.
Warrior

Antworten:

45

Mit der Option --download-archive FILE youtube-dl liest und fügt youtube-dl eine Liste von Dateien hinzu, die nicht erneut heruntergeladen werden sollen. Jedes Mal, wenn eine Datei erfolgreich heruntergeladen wurde, wird diese Video-ID hinzugefügt FILE.

Sie können es wie folgt verwenden:

youtube-dl --download-archive downloaded.txt --no-post-overwrites -ciwx --audio-format mp3 -o "%(title)s.%(ext)s" [path here]

Es werden alle Videos von zuvor heruntergeladen, die Sie beim Erstellen der Liste nicht ein letztes Mal gespeichert haben. Sie können sie jetzt löschen.

Wenn Ihre MP3-Dateien mit dem Standardformat von benannt worden %(title)s-%(id)s.%(ext)swären, hätten Sie den erneuten Download vermeiden können, indem Sie downloaded.txtvom YouTube %(id)sin einem Bash-Terminal Folgendes erstellt hätten:

for n in *.mp3
do if [[ "$n" =~ -[-_0-9a-zA-Z]{11}.mp3$ ]]
   then echo "youtube ${n: -15: 11}" >> downloaded.txt
   fi
done
Martin Thornton
quelle
1
Wertvolle Antwort hier. Es löst mein Problem. Danke dir.
Warrior
Was ist -cwixhier
Freitag,
2
-cwixist eine kürzere Alternative zu--continue --no-overwrites --ignore-errors --extract-audio
Martin Thornton
1
Es ist erwähnenswert, dass dies zwar perfekt für YouTube funktioniert, youtube-dl jedoch auch mit anderen Websites (z. B. Soundcloud) funktioniert, bei denen die -xOption die Ausgabe zu unterbrechen scheint. Sie können dieses Flag sicher entfernen, wenn Sie von einer Audioquelle herunterladen.
Christianbundy
2

Das ist sehr hilfreich. Wenn es für jemanden von Nutzen ist, habe ich den Code geändert, um die vorhandene Download-Liste so zu erstellen, dass alle Dateien im Ordner enthalten sind. Nützlich, wenn Sie Audio mit den Flags --extract-audiound herunterladen--audio-quality "best"

for n in *.*
do if [[ "$n" =~ -[-_0-9a-zA-Z]{11}.*$ ]]
   then echo "youtube ${n: -15: 11}" >> downloaded.txt
   fi
done

Ich bin sicher, die meisten Leute hätten das für sich selbst herausfinden können, aber nicht jeder ist mit Bash-Skripten vertraut.

Jeremy Paul Carroll
quelle