Yt-dlp: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
 
(12 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{SEITENTITEL:youtube-dl}}
{{SEITENTITEL:yt-dlp}}
Will man YouTube-Videos herunterladen, weil man sie entweder in einem Desktop-Videoplayer gucken möchte, später ohne Internetverbindung zum Beispiel auf dem Fernseher sehen möchte, oder weil man die Videos gern archivieren möchte, bevor sie auf YouTube gesperrt werden, kann man youtube-dl verwenden.


{{installation|repo=community|paket=youtube-dl}}
yt-dlp ist ein aktiv entwickelter Fork des inzwischen „eingeschlafenen“ Projekts ''youtube-dl'', der es ermöglicht, Videos von YouTube und diversen anderen Videoplattformen herunterzuladen.


Nach der Installation ist das Programm mittels {{ic|youtube-dl}} aufrufbar. Die [[Manpage]] bietet eine ausführliche Übersicht und Beschreibung aller möglichen Parameter und Optionen.
{{installation|paket=yt-dlp}}
 
Nach der Installation ist das Programm mittels {{ic|yt-dlp}} aufrufbar. Die [[Manpage]] bietet eine ausführliche Übersicht und Beschreibung aller möglichen Parameter und Optionen..


== Verwendung ==
== Verwendung ==
youtube-dl akzeptiert sowohl einen kompletten Video-URL, als auch nur die Video-ID, im URL nach dem {{ic|1=v=}} zu finden.
yt-dlp akzeptiert sowohl einen kompletten Video-URL, als auch nur die Video-ID, im URL nach dem {{ic|1=v=}} zu finden. Wenn nur die Video-ID übergeben wird, wird automatisch YouTube als Videoseite angenommen.
 
{{hc|1=yt-dlp 67j45hhhr678|2=
[youtube] Extracting URL: 67j45hhhr678
[youtube] 67j45hhhr678: Downloading webpage
[youtube] 67j45hhhr678: Downloading ios player API JSON
[youtube] 67j45hhhr678: Downloading tv player API JSON
[youtube] 67j45hhhr678: Downloading m3u8 information
[info] 67j45hhhr678: Downloading 1 format(s): 616+251
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 158
[download] Destination: Mein tolles Testvideo *testen* [67j45hhhr678].f616.mp4
[download] 100% of  318.58MiB in 00:01:28 at 3.61MiB/s
[download] Destination: Mein tolles Testvideo *testen* [67j45hhhr678].f251.webm
[download] 100% of  12.33MiB in 00:00:02 at 4.70MiB/s
[Merger] Merging formats into "Mein tolles Testvideo *testen* [67j45hhhr678].webm"
Deleting original file Mein tolles Testvideo *testen* [67j45hhhr678].f251.webm (pass -k to keep)
Deleting original file Mein tolles Testvideo *testen* [67j45hhhr678].f616.mp4 (pass -k to keep)}}
 
Wenn nicht näher spezifiziert, wird das qualitativ beste Video, oder die qualitativ beste DASH-Kombination heruntergeladen, und unter dem Videotitel mit angehängter ID gespeichert. Will man eine andere Qualität des Videos herunterladen, kann man sich zuvor die verfügbaren Formate anzeigen lassen. (Um die Darstellung hier im Wiki nicht unnötig zu verlängern, wurden diverse weitere Formate aus der Ausgabe gelöscht.)
 
{{hc|1=yt-dlp -F 67j45hhhr678|2=
[youtube] Extracting URL: 67j45hhhr678
[youtube] 67j45hhhr678: Downloading webpage
[youtube] 67j45hhhr678: Downloading ios player API JSON
[youtube] 67j45hhhr678: Downloading tv player API JSON
[youtube] 67j45hhhr678: Downloading m3u8 information
[info] Available formats for 67j45hhhr678:
ID      EXT  RESOLUTION FPS CH │  FILESIZE │ VCODEC        MORE INFO
───────────────────────────────────────────────────────────────────────────────────
140    m4a  audio only      2 │  13.71MiB │ audio only    [de] medium, m4a_dash
251    webm  audio only      2 │  12.33MiB │ audio only    [de] medium, webm_dash
135    mp4  854x480    30    │  31.84MiB │ avc1.4d401f  480p, mp4_dash
136    mp4  1280x720    30    │  59.62MiB │ avc1.4d401f  720p, mp4_dash
137    mp4  1920x1080  30    │  224.00MiB │ avc1.640028  1080p, mp4_dash
616    mp4  1920x1080  30    │ ~605.44MiB │ vp09.00.40.08 Premium}}


{{hc|1=youtube-dl <nowiki>http://www.youtube.com/watch?v=67j45hhhr678</nowiki>|2=
Es wird automatisch eine kombination aus der besten Videoqualität und der besten Audioqualität heruntergeladen, im Beispiel also 251+616. Wenn einem eine kleinere Version reicht, kann man die entsprechende Qualitäts-ID beim Aufruf übergeben.
[youtube] Setting language
[youtube] 67j45hhhr678: Downloading video webpage
[youtube] 67j45hhhr678: Downloading video info webpage
[youtube] 67j45hhhr678: Extracting video information
[download] Destination: mein tolles video-67j45hhhr678.mp4
[download] 100% of 3.69MiB in 00:04}}


Wenn nicht näher spezifiziert, wird das qualitativ beste, herkömmliche Video heruntergeladen, und unter dem Videotitel mit angehängter ID gespeichert. Will man eine andere Qualität des Videos herunterladen, kann man sich zuvor die verfügbaren Formate anzeigen lassen.
{{hc|1=yt-dlp -f 140+135 67j45hhhr678|2=
[youtube] Extracting URL: 67j45hhhr678
[youtube] 67j45hhhr678: Downloading webpage
[youtube] 67j45hhhr678: Downloading ios player API JSON
[youtube] 67j45hhhr678: Downloading tv player API JSON
[youtube] 67j45hhhr678: Downloading m3u8 information
[info] 67j45hhhr678: Downloading 1 format(s): 140+135
[download] Destination: Mein tolles Testvideo *testen* [67j45hhhr678].f140.m4a
[download] 100% of  13.71MiB in 00:00:02 at 5.86MiB/s
[download] Destination: Mein tolles Testvideo *testen* [67j45hhhr678].f135.mp4
[download] 100% of  31.84MiB in 00:00:05 at 5.40MiB/s
[Merger] Merging formats into "Mein tolles Testvideo *testen* [67j45hhhr678].mp4"
Deleting original file Mein tolles Testvideo *testen* [67j45hhhr678].f135.mp4 (pass -k to keep)
Deleting original file  Mein tolles Testvideo *testen* [67j45hhhr678].f140.m4a (pass -k to keep)}}


{{hc|youtube-dl -F 67j45hhhr678|
Damit wurde die Kombination aus M4A-Audio und MP4-Video in 854x480 des Videos heruntergeladen.
[youtube] Setting language
[youtube] 67j45hhhr678: Downloading video webpage
[youtube] 67j45hhhr678: Downloading video info webpage
[youtube] 67j45hhhr678: Extracting video information
Available formats:
22 : mp4 [720x1280]
18 : mp4 [360x640]
43 : webm [360x640]
5 : flv [240x400]
36 : 3gp [240x320]
17 : 3gp [144x176]
137 : mp4 [1080p] (DASH Video)
136 : mp4 [720p] (DASH Video)
135 : mp4 [480p] (DASH Video)
134 : mp4 [360p] (DASH Video)
133 : mp4 [240p] (DASH Video)
160 : mp4 [192p] (DASH Video)
141 : m4a [256k] (DASH Audio)
140 : m4a [128k] (DASH Audio)
139 : m4a [48k] (DASH Audio)}}


Das höchstqualitative normale Video hat die Qualitäts-ID {{ic|22}} (zu den {{ic|DASH}}-Formaten siehe nächster Abschnitt), dies wird automatisch heruntergeladen. Wenn einem eine kleinere Version reicht, kann man die entsprechende Qualitäts-ID beim Aufruf übergeben.
''In den Beispielen wurde eine zum Zeitpunkt des Erstellens nicht existierende Video-ID verwendet. Sollte sich das inzwischen geändert haben, so ist dies nicht beabsichtigt, und sollte einfach kurz im Artikel geändert werden.''


{{hc|youtube-dl -f 43 67j45hhhr678|
=== Andere Videoanbieter ===
[youtube] Setting language
Wenn man einen kompletten URL angibt, versucht yt-dlp entweder durch den spezifischen Extraktor für diese Seite, oder durch einen generischen Extraktor, das Video zu extrahieren.
[youtube] 67j45hhhr678: Downloading video webpage
[youtube] 67j45hhhr678: Downloading video info webpage
[youtube] 67j45hhhr678: Extracting video information
[download] Destination: mein tolles video-67j45hhhr678.mp4
[download] 100% of 1.33MiB in 00:01}}


Damit wurde die webm-Variante des Videos heruntergeladen.
{{hc|1=yt-dlp -F "<nowiki>https://www.arte.tv/de/videos/123456-001-A/sendungs-id-1-2/</nowiki>"|2=
[ArteTV] Extracting URL: <nowiki>https://www.arte.tv/de/videos/123456-001-A/sendungs-id-1-2/</nowiki>
[ArteTV] 123456-001-A: Downloading JSON metadata
[ArteTV] 123456-001-A: Downloading m3u8 information
[info] Available formats for 123456-001-A:
ID                    EXT RESOLUTION FPS │  FILESIZE │ VCODEC        MORE INFO
────────────────────────────────────────────────────────────────────────────────────────
VA-STA-audio_0-Deutsch mp4 audio only    │            │ audio only    [de] Deutsch [DE]
VA-STA-1150            mp4 768x432    25 │ ~103.41MiB │ avc1.4d401e  Deutsch [DE]
VA-STA-1964            mp4 1280x720    25 │ ~176.60MiB │ avc1.4d401f  Deutsch [DE]
VA-STA-2048            mp4 1920x1080  25 │ ~184.11MiB │ hev1.2.4.L123 Deutsch [DE]}}


''In den Beispielen wurde eine zum Zeitpunkt des erstellens nicht existierende Video-ID verwendet. Sollte sich das inzwischen geändert haben, so ist dies nicht beabsichtigt, und sollte einfach kurz im Artikel geändert werden.''
Auch Videos aus der arte-Mediathek „ArteTV“ können durch yt-dlp heruntergeladen werden. Im Beispiel werden die verfügbaren Qualitäten aufgelistet. (Auch hier wieder anhand einer fiktiven Video-ID und zur Anzeige im Wiki gekürzt.)


=== DASH-Videos herunterladen ===
Weitere unterstützte Seiten können auf der offiziellen Homepage eingesehen werden, oder direkt mit {{ic|yt-dlp --list-extractors}} gelistet werden.
Auf YouTube wurde vor einiger Zeit endgültig auf das DASH-System umgestellt, um HD-Videos größer als 720p (1080p, 2K, 4K) auszuliefern. Dies funktioniert derart, dass Audio- und Videodaten als getrennte Streams bereitgestellt werden, und lediglich nur ein paar Sekunden vorgepuffert werden.


Dies verhindert nicht nur unnötigen Traffic, falls jemand das Video nicht vollständig guckt, sondern auch, dass 1080p-Videos ohne weiteres heruntergeladen werden können. youtube-dl bietet hierfür die Möglichkeit, mehrere Datenströme nach dem Download zu kombinieren.
=== Tonspur extrahieren und umwandeln ===
Nur die Tonspur eines Videos runterzuladen und in ein bestimmtes Audioformat zu konvertieren funktioniert ebenfalls sehr komfortabel. Folgendes ist hierzu verfügbar:


{{hc|youtube-dl -f 137+140 67j45hhhr678|
* Ein generisches ''best'' als Standard, basierend auf allen Verfügbaren Formaten
[youtube] Setting language
* Die Formate aac, alac, flac, m4a, mp3, opus, vorbis, und wav als Zielformate
* Die Qualitätsstufen 0 (beste Qualität) bis 10 (schlechteste Qualität) oder VBR für die Variable Bitrate als Zielqualität
 
{{hc|1=youtube-dl -x --audio-format mp3 --audio-quality 5 "67j45hhhr678"|2=
[youtube] Extracting URL: 67j45hhhr678
[youtube] 67j45hhhr678: Downloading webpage
[youtube] 67j45hhhr678: Downloading webpage
[youtube] 67j45hhhr678: Downloading video info webpage
[youtube] 67j45hhhr678: Downloading ios player API JSON
[youtube] 67j45hhhr678: Extracting video information
[youtube] 67j45hhhr678: Downloading tv player API JSON
[download] mein tolles video-67j45hhhr678.f137.mp4
[youtube] 67j45hhhr678: Downloading m3u8 information
[download] 100% of 122.16MiB in 02:00
[info] 67j45hhhr678: Downloading 1 format(s): 251
[download] mein tolles video-67j45hhhr678.f140.m4a
[download] Destination: Mein tolles Testvideo *testen*[67j45hhhr678].webm
[download] 100% of 5.11MiB in 00:05
[download] 100% of   12.33MiB in 00:00:02 at 5.82MiB/s
[ffmpeg] Merging formats into "mein tolles video-67j45hhhr678.mp4"}}
[ExtractAudio] Destination: Mein tolles Testvideo *testen* [67j45hhhr678].ogg
Deleting original file Mein tolles Testvideo *testen* [67j45hhhr678].webm (pass -k to keep)}}
 
Damit die Audioextraktion funktioniert muss das Paket {{paket|ffmpeg}} installiert sein.
 
== Konfiguration ==
Die konfiguration von yt-dlp kann entweder direkt an der Befehlszeile durch Parameter erfolgen, oder über die Konfigurationsdatei unter {{ic|~/.config/yt-dlp/config}}. Alternativ kann mit {{ic|--config-location}} bei jedem Aufruf die zu verwendende Konfigurationsdatei bestimmt werden.
 
Die Datei beinhaltet einfach zeilenweise die Befehlszeilenparameter, so wie auch an der Befehlszeile angegeben.
 
{{hc|1=~/.config/yt-dlp/config|2=
--playlist-reverse
--ignore-errors
--embed-metadata
--extractor-retries 10
}}
 
mittels {{ic|--ignore-config}} beim Aufruf kann man die Standardkonfigurationsdatei ignorieren.
 
=== Ersetzung von Zeichen unterdrücken ===
Standardmäßig werden durch yt-dlp einige Zeichen durch Ersatzzeichen ersetzt, die bei Verwendung veralteter Dateisysteme oder beim Datenaustausch mit Windows zu Problemen führen können. Wenn man beide Probleme nicht hat, und man die Videotitel in den Dateien möglichst originalgetreu behalten möchte, kann man {{ic|--no-windows-filenames}} verwenden
 
{{hc|1=yt-dlp 67j45hhhr678|2=
[...]
[Merger] Merging formats into "Mein tolles Testvideo *testen* [67j45hhhr678].webm"
}}


Hier werden 1080p-Video (ID {{ic|137}}), und MP4-Audio (ID {{ic|140}}) kombiniert. Das Programm lädt nun separat beide Dateien herunter, kombiniert diese anschließend mittels ffmpeg, und löscht im Abschluss die „Übergangsdateien“.
Der obige Aufruf ersetzt die normalen Sternchen ({{ic|*}}) durch die Fullwidth-Zeichen {{ic|}}. Mittels des Parameters wird dies nicht durchgeführt


=== Andere Videoanbieter ===
{{hc|1=yt-dlp --no-windows-filenames 67j45hhhr678|2=
Anders als der Name vermuten lässt, beherrscht youtube-dl auch das Herunterladen von Videos aus anderen Quellen. Darunter andere Videoplattformen wie zum Beispiel myvideo.de, vimeo, blip.tv, metacafe.com oder Dailymotion. Zusätzlich erkennt youtube-dl Videoeinbettungen mancher offiziell nicht unterstützter Seiten automatisch.
[...]
[Merger] Merging formats into "Mein tolles Testvideo *testen* [67j45hhhr678].webm"
}}
 
Dies betrifft auch diverse weitere Zeichen wie zum Beispiel das Fragezeichen (wird zu {{ic|?}}), die Pipe (wird zu {{ic||}}), oder z.B. auch die Doppelpunkte (werden zu {{ic|:}}).
 
=== Browser-Cookies ===
yt-dlp kann die Cookies verschiedener Browser-Typen verwenden, um Videos herunterzuladen (wenn diese zum Beispiel hinter einem Login verborgen sind, oder der Zugriff an andere Bedingungen geknüpft sind, die per Cookie erfasst werden).
 
* Cookie-Datei im Netscape-Stil: {{ic|--cookies /pfad/zur/datei}}
* Aus [[Firefox]]-Profilen
* [[Chromium]](-basierend): {{ic|chromium}}, {{ic|brave}}, {{ic|opera}}, {{ic|vivaldi}}, sowie einige weitere
* Keyring zum Entschlüsseln der Cookies in Chromium(-basierenden) u.A.: {{ic|basictext}}, {{ic|gnomekeyring}}, {{ic|kwallet}}
* Optional kann der Containername angegeben werden (bei Firefox immer {{ic|none}})


{{hc|1=youtube-dl -F "<nowiki>http://www.arte.tv/guide/de/048963-321/sendung?autoplay=1</nowiki>"|2=
Beispiele
[arte.tv:+7] 048963-321: Downloading webpage
[arte.tv:+7] 048963-321: Downloading info json
[arte.tv:+7] 048963-321: Extracting information
[info] Available formats for 048963-321_PLUS7-D:
format code        extension resolution  note
200-300-VA-STMA    flv      320x200    UT Hörgeschädigte (worst)
200-300-VA          flv      320x200    Dt. Version
360-1500-VA-STMA    mp4      640x360    UT Hörgeschädigte
360-1500-VA        mp4      640x360    Dt. Version
406-800-VA-STMA    flv      720x406    UT Hörgeschädigte
406-800-VA          flv      720x406    Dt. Version
406-1500-VA-STMA    flv      720x406    UT Hörgeschädigte
406-1500-VA        flv      720x406    Dt. Version
720-2200-VA-STMA    flv      1280x720    UT Hörgeschädigte
720-2200-VA        flv      1280x720    Dt. Version (best)}}


Auch Videos aus der arte-Mediathek „ARTE+7“ können durch youtube-dl heruntergeladen werden. Im Beispiel werden die verfügbaren Qualitäten aufgelistet. (Auch hier wieder anhand einer fiktiven Video-ID.)
* Firefox-Cookies vom Standardprofil: {{ic|--cookies-from-browser firefox }}
* Chromium-Profil ''private'' aus Container ''foo'':  {{ic|--cookies-from-browser chromium:private::foo }}
* Vivaldi-Standardprofil mit kwallet-Keyring:  {{ic|--cookies-from-browser vivaldi+kwallet }}


Weitere unterstützte Seiten können auf der offiziellen Homepage eingesehen werden.
Alle Angaben bis auf den Browsernamen sind optional.


== Siehe auch ==
== Siehe auch ==
Zeile 101: Zeile 158:


== Weblinks ==
== Weblinks ==
* [http://youtube-dl.org/ Offizielle Website] {{sprache|en}}
* [https://github.com/yt-dlp/yt-dlp Offizielles Git-Repo & Wiki] {{sprache|en}}
* [http://rg3.github.io/youtube-dl/documentation.html Online-Dokumentation] {{sprache|en}}
* {{wikipedia|Dynamic_Adaptive_Streaming_over_HTTP|Beschreibung von DASH}} {{sprache|de}}


[[Kategorie: Internet]]
[[Kategorie: Internet]]
[[Kategorie: Multimedia]]
[[Kategorie: Multimedia]]
[[en:yt-dlp]]
[[es:Youtube-dl]]

Aktuelle Version vom 20. Januar 2025, 15:37 Uhr


yt-dlp ist ein aktiv entwickelter Fork des inzwischen „eingeschlafenen“ Projekts youtube-dl, der es ermöglicht, Videos von YouTube und diversen anderen Videoplattformen herunterzuladen.

Installation

Das Programm ist als yt-dlp in extra verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S yt-dlp

Nach der Installation ist das Programm mittels yt-dlp aufrufbar. Die Manpage bietet eine ausführliche Übersicht und Beschreibung aller möglichen Parameter und Optionen..

Verwendung

yt-dlp akzeptiert sowohl einen kompletten Video-URL, als auch nur die Video-ID, im URL nach dem v= zu finden. Wenn nur die Video-ID übergeben wird, wird automatisch YouTube als Videoseite angenommen.

yt-dlp 67j45hhhr678
[youtube] Extracting URL: 67j45hhhr678
[youtube] 67j45hhhr678: Downloading webpage
[youtube] 67j45hhhr678: Downloading ios player API JSON
[youtube] 67j45hhhr678: Downloading tv player API JSON
[youtube] 67j45hhhr678: Downloading m3u8 information
[info] 67j45hhhr678: Downloading 1 format(s): 616+251
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 158
[download] Destination: Mein tolles Testvideo *testen* [67j45hhhr678].f616.mp4
[download] 100% of  318.58MiB in 00:01:28 at 3.61MiB/s
[download] Destination: Mein tolles Testvideo *testen* [67j45hhhr678].f251.webm
[download] 100% of   12.33MiB in 00:00:02 at 4.70MiB/s
[Merger] Merging formats into "Mein tolles Testvideo *testen* [67j45hhhr678].webm"
Deleting original file Mein tolles Testvideo *testen* [67j45hhhr678].f251.webm (pass -k to keep)
Deleting original file Mein tolles Testvideo *testen* [67j45hhhr678].f616.mp4 (pass -k to keep)

Wenn nicht näher spezifiziert, wird das qualitativ beste Video, oder die qualitativ beste DASH-Kombination heruntergeladen, und unter dem Videotitel mit angehängter ID gespeichert. Will man eine andere Qualität des Videos herunterladen, kann man sich zuvor die verfügbaren Formate anzeigen lassen. (Um die Darstellung hier im Wiki nicht unnötig zu verlängern, wurden diverse weitere Formate aus der Ausgabe gelöscht.)

yt-dlp -F 67j45hhhr678
[youtube] Extracting URL: 67j45hhhr678
[youtube] 67j45hhhr678: Downloading webpage
[youtube] 67j45hhhr678: Downloading ios player API JSON
[youtube] 67j45hhhr678: Downloading tv player API JSON
[youtube] 67j45hhhr678: Downloading m3u8 information
[info] Available formats for 67j45hhhr678:
ID      EXT   RESOLUTION FPS CH │   FILESIZE │ VCODEC        MORE INFO
───────────────────────────────────────────────────────────────────────────────────
140     m4a   audio only      2 │   13.71MiB │ audio only    [de] medium, m4a_dash
251     webm  audio only      2 │   12.33MiB │ audio only    [de] medium, webm_dash
135     mp4   854x480     30    │   31.84MiB │ avc1.4d401f   480p, mp4_dash
136     mp4   1280x720    30    │   59.62MiB │ avc1.4d401f   720p, mp4_dash
137     mp4   1920x1080   30    │  224.00MiB │ avc1.640028   1080p, mp4_dash
616     mp4   1920x1080   30    │ ~605.44MiB │ vp09.00.40.08 Premium

Es wird automatisch eine kombination aus der besten Videoqualität und der besten Audioqualität heruntergeladen, im Beispiel also 251+616. Wenn einem eine kleinere Version reicht, kann man die entsprechende Qualitäts-ID beim Aufruf übergeben.

yt-dlp -f 140+135 67j45hhhr678
[youtube] Extracting URL: 67j45hhhr678
[youtube] 67j45hhhr678: Downloading webpage
[youtube] 67j45hhhr678: Downloading ios player API JSON
[youtube] 67j45hhhr678: Downloading tv player API JSON
[youtube] 67j45hhhr678: Downloading m3u8 information
[info] 67j45hhhr678: Downloading 1 format(s): 140+135
[download] Destination: Mein tolles Testvideo *testen* [67j45hhhr678].f140.m4a
[download] 100% of   13.71MiB in 00:00:02 at 5.86MiB/s
[download] Destination: Mein tolles Testvideo *testen* [67j45hhhr678].f135.mp4
[download] 100% of   31.84MiB in 00:00:05 at 5.40MiB/s
[Merger] Merging formats into "Mein tolles Testvideo *testen* [67j45hhhr678].mp4"
Deleting original file Mein tolles Testvideo *testen* [67j45hhhr678].f135.mp4 (pass -k to keep)
Deleting original file  Mein tolles Testvideo *testen* [67j45hhhr678].f140.m4a (pass -k to keep)

Damit wurde die Kombination aus M4A-Audio und MP4-Video in 854x480 des Videos heruntergeladen.

In den Beispielen wurde eine zum Zeitpunkt des Erstellens nicht existierende Video-ID verwendet. Sollte sich das inzwischen geändert haben, so ist dies nicht beabsichtigt, und sollte einfach kurz im Artikel geändert werden.

Andere Videoanbieter

Wenn man einen kompletten URL angibt, versucht yt-dlp entweder durch den spezifischen Extraktor für diese Seite, oder durch einen generischen Extraktor, das Video zu extrahieren.

yt-dlp -F "https://www.arte.tv/de/videos/123456-001-A/sendungs-id-1-2/"
[ArteTV] Extracting URL: https://www.arte.tv/de/videos/123456-001-A/sendungs-id-1-2/
[ArteTV] 123456-001-A: Downloading JSON metadata
[ArteTV] 123456-001-A: Downloading m3u8 information
[info] Available formats for 123456-001-A:
ID                     EXT RESOLUTION FPS │   FILESIZE │ VCODEC        MORE INFO
────────────────────────────────────────────────────────────────────────────────────────
VA-STA-audio_0-Deutsch mp4 audio only     │            │ audio only    [de] Deutsch [DE]
VA-STA-1150            mp4 768x432     25 │ ~103.41MiB │ avc1.4d401e   Deutsch [DE]
VA-STA-1964            mp4 1280x720    25 │ ~176.60MiB │ avc1.4d401f   Deutsch [DE]
VA-STA-2048            mp4 1920x1080   25 │ ~184.11MiB │ hev1.2.4.L123 Deutsch [DE]

Auch Videos aus der arte-Mediathek „ArteTV“ können durch yt-dlp heruntergeladen werden. Im Beispiel werden die verfügbaren Qualitäten aufgelistet. (Auch hier wieder anhand einer fiktiven Video-ID und zur Anzeige im Wiki gekürzt.)

Weitere unterstützte Seiten können auf der offiziellen Homepage eingesehen werden, oder direkt mit yt-dlp --list-extractors gelistet werden.

Tonspur extrahieren und umwandeln

Nur die Tonspur eines Videos runterzuladen und in ein bestimmtes Audioformat zu konvertieren funktioniert ebenfalls sehr komfortabel. Folgendes ist hierzu verfügbar:

  • Ein generisches best als Standard, basierend auf allen Verfügbaren Formaten
  • Die Formate aac, alac, flac, m4a, mp3, opus, vorbis, und wav als Zielformate
  • Die Qualitätsstufen 0 (beste Qualität) bis 10 (schlechteste Qualität) oder VBR für die Variable Bitrate als Zielqualität
youtube-dl -x --audio-format mp3 --audio-quality 5 "67j45hhhr678"
[youtube] Extracting URL: 67j45hhhr678
[youtube] 67j45hhhr678: Downloading webpage
[youtube] 67j45hhhr678: Downloading ios player API JSON
[youtube] 67j45hhhr678: Downloading tv player API JSON
[youtube] 67j45hhhr678: Downloading m3u8 information
[info] 67j45hhhr678: Downloading 1 format(s): 251
[download] Destination: Mein tolles Testvideo *testen*[67j45hhhr678].webm
[download] 100% of   12.33MiB in 00:00:02 at 5.82MiB/s
[ExtractAudio] Destination: Mein tolles Testvideo *testen* [67j45hhhr678].ogg
Deleting original file Mein tolles Testvideo *testen* [67j45hhhr678].webm (pass -k to keep)

Damit die Audioextraktion funktioniert muss das Paket ffmpeg installiert sein.

Konfiguration

Die konfiguration von yt-dlp kann entweder direkt an der Befehlszeile durch Parameter erfolgen, oder über die Konfigurationsdatei unter ~/.config/yt-dlp/config. Alternativ kann mit --config-location bei jedem Aufruf die zu verwendende Konfigurationsdatei bestimmt werden.

Die Datei beinhaltet einfach zeilenweise die Befehlszeilenparameter, so wie auch an der Befehlszeile angegeben.

~/.config/yt-dlp/config
--playlist-reverse
--ignore-errors
--embed-metadata
--extractor-retries 10

mittels --ignore-config beim Aufruf kann man die Standardkonfigurationsdatei ignorieren.

Ersetzung von Zeichen unterdrücken

Standardmäßig werden durch yt-dlp einige Zeichen durch Ersatzzeichen ersetzt, die bei Verwendung veralteter Dateisysteme oder beim Datenaustausch mit Windows zu Problemen führen können. Wenn man beide Probleme nicht hat, und man die Videotitel in den Dateien möglichst originalgetreu behalten möchte, kann man --no-windows-filenames verwenden

yt-dlp 67j45hhhr678
[...]
[Merger] Merging formats into "Mein tolles Testvideo *testen* [67j45hhhr678].webm"

Der obige Aufruf ersetzt die normalen Sternchen (*) durch die Fullwidth-Zeichen . Mittels des Parameters wird dies nicht durchgeführt

yt-dlp --no-windows-filenames 67j45hhhr678
[...]
[Merger] Merging formats into "Mein tolles Testvideo *testen* [67j45hhhr678].webm"

Dies betrifft auch diverse weitere Zeichen wie zum Beispiel das Fragezeichen (wird zu ), die Pipe (wird zu ), oder z.B. auch die Doppelpunkte (werden zu ).

Browser-Cookies

yt-dlp kann die Cookies verschiedener Browser-Typen verwenden, um Videos herunterzuladen (wenn diese zum Beispiel hinter einem Login verborgen sind, oder der Zugriff an andere Bedingungen geknüpft sind, die per Cookie erfasst werden).

  • Cookie-Datei im Netscape-Stil: --cookies /pfad/zur/datei
  • Aus Firefox-Profilen
  • Chromium(-basierend): chromium, brave, opera, vivaldi, sowie einige weitere
  • Keyring zum Entschlüsseln der Cookies in Chromium(-basierenden) u.A.: basictext, gnomekeyring, kwallet
  • Optional kann der Containername angegeben werden (bei Firefox immer none)

Beispiele

  • Firefox-Cookies vom Standardprofil: --cookies-from-browser firefox
  • Chromium-Profil private aus Container foo: --cookies-from-browser chromium:private::foo
  • Vivaldi-Standardprofil mit kwallet-Keyring: --cookies-from-browser vivaldi+kwallet

Alle Angaben bis auf den Browsernamen sind optional.

Siehe auch

Weblinks