yt-dlp ist ein leistungsstarkes Kommandozeilen-Tool zum Herunterladen von Videos und Audiodateien von einer Vielzahl von Websites, darunter YouTube, Vimeo, die Mediatheken der öffentlich-rechtlichen Sender, und viele andere. Es ist eine Weiterentwicklung des ursprünglichen youtube-dl und bietet zahlreiche zusätzliche Funktionen und Verbesserungen. Allerdings kann einen die Vielzahl an Optionen und Parametern, die ein Aufruf von yt-dlp --help ausspuckt, und die auch https://github.com/yt-dlp/yt-dlp dokumentiert, schnell überfordern. Deshalb hier ein Spickzettel mit den wichtigsten Optionen und Parametern, die ich häufig benutze.

Die Kommandozeile

yt-dlp ist eine Kommandozeilenanwendung. Als solche muss sie über eine Konsole oder ein Terminal aufgerufen werden. Sie nimmt ihren exakten Arbeitsauftrag beim Auftrag durch Optionen und Argumente entgegen. Die grundlegende Syntax für yt-dlp lautet:

yt-dlp [OPTIONEN...] URL [URL...]

Hierbei ist:

  • URL: Die URL einer Webseite auf der sich der herunterzuladende Inhalt befindet.
  • OPTIONEN...: Verschiedene Optionen, die das Verhalten von yt-dlp steuern. Diese haben üblicherweise die Form --option oder --option wert. Mehrere Optionen können durch Leerzeichen getrennt angegeben werden.

Ein Video herunterladen

Um ein Video herunterzuladen, reicht folgender Befehl:

yt-dlp https://example.com/seite/mit/video

In diesem Fall lädt yt-dlp das Video von der angegebenen URL herunter und speichert es im aktuellen Verzeichnis. Hierbei wählt es automatisch das Format mit der besten verfügbaren Qualität aus.

Handelt sich bei dem Medieninhalt auf der Webseite um eine Audiodatei, wird diese ebenfalls heruntergeladen. Allerdings wird diese in diesem Fall oft nicht in einem der gebräuchlichen Audioformate gespeichert, sodass nicht jedes Abspielgerät mit diesen Dateien zurechtkommt.

Nur Audio herunterladen

yt-dlp kann auch explizit nur die Audiodatei herunterladen. In diesem Fall wird die Audiodatei in einem der gebräuchlichen Audioformate gespeichert.

yt-dlp --extract-audio https://example.com/seite/mit/audio

Dies funktioniert insbesondere auch bei Webseiten, die Videos mit einer Audiospur anbieten. So lässt sich zum Beispiel die Audiospur eines Videos herunterladen, ohne das Video selbst zu speichern.

yt-dlp --extract-audio https://example.com/seite/mit/video

Ausgabeformat festlegen

Soll yt-dlp die heruntergeladenen Dateien in einem bestimmten Format speichern, kann dies mit der Option --merge-output-format angegeben werden. Um beispielsweise die heruntergeladenen Videos im MP4-Format zu speichern, lautet der Befehl:

yt-dlp --merge-output-format mp4 https://example.com/seite/mit/video

In diesem Fall wählt yt-dlp automatisch das beste verfügbare, in einem MP4 speicherbare, Videoformat aus und speichert es zusammen mit der Audiospur in einer MP4-Datei.

Dies funktioniert auch bei Audiodateien. Für diese gibt es aber nochmal einen eigenen Parameter, der die Audiodatei in einem bestimmten Format speichert. Dieser Parameter heißt --audio-format und sollte in Kombination mit der Option --extract-audio verwendet werden. Um beispielsweise die heruntergeladene Audiodatei im MP3-Format zu speichern, lautet der Befehl:

yt-dlp --extract-audio --audio-format mp3 https://example.com/seite/mit/audio

Dateiname anpassen

Der Parameter --output ermöglicht es, den Dateinamen der heruntergeladenen Datei anzupassen. Hierbei ist es wichtig, dass der Dateiname immer auf %(ext)s endet. yt-dlp ersetzt diesen Platzhalter durch die Dateierweiterung des heruntergeladenen Inhalts. Da yt-dlp während des Downloads aber verschiedene temporäre Dateien anlegt, braucht es diesen Platzhalter um Kollisionen zu vermeiden, auch wenn explizit eine MP4-Datei heruntergeladen wird.

yt-dlp --output "mein_video.%(ext)s" --merge-output-format mp4 https://example.com/seite/mit/video

In diesem Fall wird die heruntergeladene Datei in mein_video.mp4 gespeichert.

Mehrere Dateien herunterladen

Übergibt amn yt-dlp mehrere URLs, lädt yt-dlp alle angegebenen Dateien herunter.

yt-dlp https://example.com/seite/mit/video1 https://example.com/seite/mit/video2

Außerdem erkennt yt-dlp auf vielen Seiten auch Playlisten und lädt alle Videos in der Playlist herunter.

yt-dlp https://example.com/seite/mit/playlist

Diese Liste kratzt natürlich nur an der Oberfläche. Alle möglichkeiten yt-dlp aufzurufen, um Beispielsweise mehrere Tonspuren in bestimmten Sprachen herunterzuladen, finden sich in der Hilfe, die mit yt-dlp --help aufgerufen werden kann. Außerdem gibt es auf https://yt-dlp-docs.netlify.app/ eine umfangreiche inoffizielle Dokumentation in englischer Sprache mit vielen Beispielen.