Zum Inhalt springen

Yt-dlp

Aus Foxwiki

yt-dlp - YouTube download

Beschreibung

Installation

sudo apt install ffmpeg yt-dlp

Optionale Programme

Das oben genannte ffmpeg und yt-dlp reichen aus, um mit der Standard-Koniguration von yt-dlp (also ohne die Angabe von irgendwelchen Optionen) Dateien von YouTube herunterladen zu können

  • Für bestimmte `yt-dlp`-Optionen – wie z.B.das Einbetten von Vorschaubildern und/oder das Verwenden eines externen Download-Managers – und/oder Plattformen werden jedoch die folgenden Programme bzw. Pakete benötigt

Für Videos, welche über das [wikipedia:Real Time Messaging Protocol:RTMP]-Protokoll gestreamt werden, muss RTMPDump installiert werden[1]

rtmpdump, universe

Für Videos, welche über die beiden Protokolle [wikipedia:MMS-Protokoll:MMS] und [wikipedia:Real-Time_Streaming_Protocol:RTSP] gestreamt werden, muss [:MPlayer:] oder / und [:mpv:] über das bzw. die folgende(n) Paket(e) installiert werden

mplayer, universe, MPlayer für die Bedienung nur per Kommandozeile

mpv, universe

Falls yt-dlp anstelle des eigenen Downloaders (temporär) den externen Download-Manager [:aria2:] verwenden soll, muss das gleichnamige Paket installiert werden

aria2, universe

Falls Vorschaubilder (sofern vorhanden) direkt in Audios bzw. Videos eingebettet werden sollen, so muss das Programm AtomicParsley installiert werden

atomicparsley, universe


Um Audio/Video in gewünschter Qualität (option -f) zu bekommen,muss das folgende Programm installiert werden

python3-brotli, universe

Aufruf

Optionen

Unix GNU Parameter Beschreibung
-1 --single Exit as soon as the first advertisement is received (default)

Parameter

Umgebungsvariablen

Exit-Status

Anwendung

Problembehebung

Konfiguration

Dateien

Anhang

Siehe auch

Dokumentation

Man-Page
Info-Pages

Links

Projekt
Weblinks
  1. https://wiki.ubuntuusers.de/yt-dlp/
  2. [github:yt-dlp/yt-dlp:Projektseite]
  3. Documentation youtube-dl – Anleitung
  4. [man:yt-dlp:Manpage]
  5. [wikipedia:Youtube#Rechtliche_Aspekte:Youtube – Rechtliche Aspekte] – Wikipedia
  6. Formats and Resolutions of Youtube Videos – Auflistung der YouTube-Format-Codes mitsamt Auflösung und anderen Details
  7. [github:tmechen/tatort-dl:tatort-dl] – Hilfsprogramm speziell für die Mediathek der ARD
  8. [:Streams_speichern:] {Übersicht} Übersichtsseite


TMP

Beschreibung

Der Schwerpunkt dieses Projekts liegt auf dem Hinzufügen neuer Funktionen und Patches, wobei gleichzeitig die Aktualität des ursprünglichen Projekts gewährleistet wird

yt-dlp ist
  • ein youtube-dl-Fork, der auf dem inzwischen inaktiven youtube-dlc basiert
  • Befehlszeilenprogramm zum Herunterladen von Videos von YouTube.com und anderen Websites, die keine direkten Links zu den bereitgestellten Videos bereitstellen

'yt-dlp ein Fork des youtube-dl

  • der nicht mehr aktiv weiterentwickelt wird
  • ist eine Möglichkeit für die Kommandozeile – auch zum direkt-anschauen direkten Anschauen in einem beliebigen Mediaplayer

Mit yt-dlp kann der Benutzer

  • unter anderem eine bestimmte Videoqualität zum Herunterladen auswählen (sofern verfügbar) oder das Programm automatisch die beste (oder schlechteste) Videoqualität ermitteln lassen
  • Es unterstützt das Herunterladen ganzer Wiedergabelisten und aller Videos eines bestimmten Benutzers
Frage
  • wie man Videos von [youtube::YouTube] oder anderen Video-Portalen und auch Mediatheken dauerhaft speichern kann – ob man das darf, ist eine andere Frage und hängt von den rechtlichen Rahmenbedingungen im Heimatland bzw. am Standort des Benutzers ab Siehe auch Abschnitt [#Links Links], wovon auch auf die unterstützte Webseiten verwiesen wird)

Aufruf

Optionen

Argumente

Umgebungsvariablen

Exit-Status

Anwendungen

Die Verwendung des Programms erfolgt im Terminal[2]

  • Die allgemeine Syntax lautet
yt-dlp [OPTIONEN] URL_DER_WEBSEITE_DES_VIDEOS

Beispiel

yt-dlp "https://www.youtube.com/watch?v=HED4h00xPPA"

[youtube] HED4h00xPPA: Downloading webpage [youtube] HED4h00xPPA: Downloading android player API JSON [info] HED4h00xPPA: Downloading 1 format(s): 18 [download] Destination: Ubuntu told by Nelson Mandela [HED4h00xPPA].mp4 [download] 100% of 4.43MiB in 00:02

Die URL_DER_WEBSEITE_DES_VIDEOS sollte immer in Anführungszeichen gesetzt werden, damit vermieden wird, dass etwaige darin vorkommende Sonderzeichen von der Shell interpretiert werden können

Möchte man die Youtube-ID aus dem Namen/Titel des Videos entfernen, so lautet der Befehl

yt-dlp -o "%(title)s.%(ext)s" "https://www.youtube.com/watch?v=HED4h00xPPA"

Benötigt man nur die Tonspur des Videos, so reicht folgender Befehl

yt-dlp -x "https://www.youtube.com/watch?v=HED4h00xPPA"

Man kann auch festlegen, in welchen Format der Ton gespeichert werden soll

yt-dlp -x --audio-format mp3 --audio-quality 0 "https://www.youtube.com/watch?v=HED4h00xPPA"

Mit der Angabe der Option `-k` kann verhindert werden, dass etwaige temporär heruntergeladene Dateien – wie etwa für Audio/Video solitär und Untertitel, aber nicht für Vorschaubilder – nach dem Post-Prozessieren gelöscht werden

yt-dlp -k "https://www.youtube.com/watch?v=HED4h00xPPA"

Möchte man nach dem Herunterladen die technischen und [:Metadaten:] der Video- bzw. Audiodatei angezeigt bekommen, so empfiehlt sich dafür das Programm [:MediaInfo:], womit ein Aufruf folgendermaßen lauten könnte

mediainfo eine_datei.mp4

Mit der Angabe der Playlisten-URL kann auch eine ganze Playliste heruntergeladen werden

yt-dlp [OPTIONEN] URL_DER_PLAYLISTE

yt-dlp unterstützt auch verschiedene deutsche Mediatheken, u. a. die von ARD, ZDF und ARTE

  • Alle unterstützten Video-Portale listet zum einen der Befehl
yt-dlp --list-extractors | less

Da die Ausgabe sehr lang ist, wird sie hier mit [:less:] seitenweise ausgegeben

  • Die Anzeige wird mit der Taste Vorlage(Tasten, q) beendet
  • Zum anderen erfährt man die unterstützten Portale über einen [#Links Link]

Man kann die zahlreichen weiteren Optionen neben der [:man:Manpage] auch über den Befehl

yt-dlp --help | less

in Erfahrung bringen

Anker(direkt-anschauen) Falls man das Video nicht speichern, sondern direkt in einem beliebigen Mediaplayer (wie z.B. [:VLC:]) anschauen möchte, so erreicht man das, indem der Stream via [:Shell/Umleitungen/#Der-Pipe-Operator:Pipe-Operator] an den Mediaplayer weitergeleitet wird

yt-dlp [OPTIONEN] -o - URL_DES_VIDEOS | vlc -
Hinweis

Der Mediaplayer [:mpv:] kann mithilfe von yt-dlp Videos auch ohne Pipe-Operator abspielen; siehe dafür den dortigen Abschnitt [:mpv/#Youtube:Youtube]

Problembehebung

Unterschiedliche Video-Qualitäten

Teilweise (beispielsweise bei [youtube::YouTube]) werden unterschiedliche Qualitäten des gleichen Videos angeboten

  • Um alle verfügbaren Qualitätsstufen anzuzeigen, verwendet man folgenden Befehl
yt-dlp -F YOUTUBE_URL_DES_VIDEOS

Entscheidend in der Ausgabe ist der `format code`

  • Anschließend kann mit
yt-dlp -f FORMAT_CODE YOUTUBE_URL_DES_VIDEOS

die gewünschte Qualitätsstufe heruntergeladen werden

Bei Audio-Extraktion wird auch Video-Datei heruntergeladen

Falls es eine aktivierte [#Konfiguration Konfigurationsdatei] gibt und man bei Audio-Extraktion via Option `-x` im Terminal beobachtet, dass neben der Audio- auch noch die Video-Datei mit heruntergeladen wird, dann kann das evtl

  • daran liegen, dass in der Konfigurationsdatei spezielle AV-Qualitäten wie `-f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best"` angegeben sind
  • Um nun das Herunterladen der Video-Datei zu verhindern, gibt man im Terminal zusätzlich die gewünschte Qualitäts-Option für Audio mit an, z. B. 
yt-dlp -f bestaudio -x "URL_DES_VIDEOS"

Nun sollte lediglich die passende Audio-Datei heruntergeladen werden

Argumente vom externen Downloader werden fälschlicherweise an ffmpeg übergeben

Falls man an yt-dlp (u.a.) die beiden Optionen `--external-downloader` und `--external-downloader-args` übergeben hat bzw. man hat eine aktivierte [#Konfiguration Konfigurationsdatei] mit beiden und erhält dann eine Fehlermeldung wie z.B

Unrecognized option 'k1M' Error splitting the argument list: Option not found

ERROR: ffmpeg exited with code 1

dann bedeutet das, dass der Download ein [wikipedia_en:HTTP_Live_Streaming:HLS] ist und die Argumente von `--external-downloader-args` leider fälschlicherweise auch an ffmpeg übergeben werden, wenn `--external-downloader` nicht `ffmpeg` ist ([github:rg3/youtube-dl/issues/10784: #10784] )

Als provisorische Lösung lässt man – falls der beschriebene Fehler auftritt – entweder die beiden oben erwähnten Optionen ganz weg oder kommentiert in der evtl. vorhandenen Konfigurationsdatei temporär zumindest die `--external-downloader-args`-Option aus[7] [8]