Videos von Videoplattformen herunterladen

Aus LinuxUser 01/2020

Videos von Videoplattformen herunterladen

© Michal Bednarek, 123RF

Gib's mir

Youtube-dl erlaubt es, unkompliziert Videos von Youtube und anderen Videoportalen herunterzuladen. Doch leistet das kleine Kommandozeilentool noch viel mehr.

Video-Plattformen wie Youtube, Vimeo und Konsorten horten eine Unzahl an Filmen und Clips. Sie zu sehen, setzt aber stets eine einigermaßen schnelle Internet-Verbindung voraus. Darüber hinaus obliegt es im Normalfall dem Uploader, wie lange er die Dateien anbietet. Möchten Sie die Filme beispielsweise auch auf Reisen sehen, laden Sie sie am besten herunter.

Dass das speziell Youtube ein Dorn im Auge ist, versteht sich von selbst. Nicht ohne Grund schlossen praktisch alle Online-Dienste, die solche Downloads ermöglichten, in den letzten Monaten ihre Pforten. Eine in den Grundzügen denkbar einfache Alternative bietet das auf Python basierende Kommandozeilentool Youtube-dl [1], das aktuell in der Version 2019.09.28 vorliegt. Anders als der Name es vermuten lässt, unterstützt die Software den Download von über 1000 Videoplattformen aller Sparten. Die rechtliche Situation erklärt in groben Zügen der Kasten “Grauzone”.

Grauzone

In seinen Nutzungsbedingungen [5] verbietet Youtube ganz klar das Herunterladen von dort gehosteten Inhalten, egal welcher Art. Im Absatz Berechtigungen und Einschränkungen schreibt das Unternehmen dazu: “Folgendes ist nicht zulässig: Auf jegliche Teile des Dienstes oder der Inhalte zuzugreifen sowie diese zu vervielfältigen, herunterzuladen, zu verbreiten, zu übersenden, zu übertragen, anzuzeigen, zu verkaufen […]”. Als eingeloggter Nutzer untersagen Ihnen die AGB also das Herunterladen von Inhalten. Da Sie aber mit Youtube-dl in aller Regel unangemeldet auf Youtube zugreifen, besitzt dieser Passus entsprechend für Sie keine Relevanz.

Sofern Sie die Clips aus einer legalen Quelle wie Youtube herunterladen, erlaubt Ihnen das Urheberrecht in Deutschland den Besitz sogenannter Privatkopien, auch urheberrechtlich geschützter Werke. Ergo verstoßen Sie mit dem Herunterladen von Inhalten zwar unter Umständen gegen die Nutzungsbedingungen von Youtube, nicht jedoch gegen geltendes Recht. Welchen Restriktionen andere von Youtube-dl unterstützte Videoportale unterliegen, müssen Sie im Einzelfall klären.

Installation

Für Ubuntu 19.04 und dessen Derivate steht die Software in den Repositories zum Einsatz bereit. Gleiches gilt für Debian und OpenSuse, wo Sie allerdings lediglich ältere Versionen der Software finden. Legen Sie Wert auf das neueste Release, laden Sie das statisch kompilierte Binary von der Projektseite [2] herunter. Um den vollen Funktionsumfang der Software zu nutzen, benötigen Sie zusätzlich noch die Pakete ffmpeg, rtmpdump und mplayer. Sie erlauben es unter anderem, Clips zu konvertieren oder über die Protokolle MMS und RTSP herunterzuladen.

Um die Software systemweit verfügbar zu machen, kopieren Sie diese in ein Verzeichnis, das in den $PATH-Variablen steht, üblicherweise /usr/bin/ oder /usr/local/bin/. Nachdem Sie dem Programm Ausführrechte gegeben haben, starten Sie mit dem Kommandozeilenaufruf ./youtube-dl -h | less eine Funktionsprüfung. Die Software zeigt dann erst einmal alle verfügbaren Schalter an. Lassen Sie sich von der Fülle der Optionen nicht verwirren: In der Praxis benötigen Sie nur einige wenige davon.

Erster Download

Die einfachste Möglichkeit, ein Video von Youtube herunterzuladen, besteht darin, der Software lediglich die URL zum Video zu übergeben (Listing 1, erste Zeile). In diesem Fall lädt das Programm es in der besten zur Verfügung stehenden Qualität in das Verzeichnis herunter, in dem Sie es aufrufen. Das Zielverzeichnis ändern Sie mit dem Schalter -o (Zeile 2).

Listing 1

$ youtube-dl https://www.youtube.com/watch?v=Film-ID
$ youtube-dl -o '~/videos/film.mp4' Film-URL
$ youtube-dl -F Film-URL
$ youtube-dl -f Nummer Film-URL
$ youtube-dl --playlist-start 3 --playlist-end 5 Playlist-URL

Den Dateinamen müssen Sie zwingend vergeben, da die Software sonst nicht weiß, unter welchem es die Datei speichern soll. Hier lassen sich aber auch Variablen verwenden. %(title)s übernimmt den Originaltitel des Videos, %(ext)s dessen Dateiendung. Zugleich entfernen diese Variablen auch die Youtube-ID, welche die Software normalerweise im Dateinamen mitspeichert.

Möchten Sie den Clip in einer anderen als der höchstmöglichen Qualität herunterladen, ermitteln Sie mit dem Schalter -F zunächst die zur Verfügung stehenden Formate (Zeile 3). Daraufhin erscheint eine Auflistung aller verfügbaren Qualitäten und Formate des Clips (Abbildung 1). Mit dem Schalter -f gefolgt von der vorangestellten Nummer laden Sie das Video oder die Audiospur in der gewünschten Qualität herunter (Zeile 4).

Abbildung 1: Mit dem Schalter <code>-F</code> listet die Software alle f&uuml;r diesen Film verf&uuml;gbaren Formate auf.

Abbildung 1: Mit dem Schalter -F listet die Software alle für diesen Film verfügbaren Formate auf.

In einem Rutsch

Viele Anbieter sortieren ihre Clips in Abspiellisten. Es wäre eher mühsam, jeden einzelnen davon manuell herunterzuladen. Um das zu umgehen, integriert die Software die Schalter --playlist-start, --playlist-end und --playlist-items. Möchten Sie aus einer Liste beispielsweise die Titel 3 bis 5 herunterladen, so lautet der Aufruf wie in Zeile 5 von Listing 1 gezeigt. Um aus einer Liste ganz bestimmte Clips zu holen, tippen Sie stattdessen --playlist-items und dahinter kommasepariert die Titelnummern.

Steht ein Titel aus der Playlist nicht mehr zur Verfügung, etwa wegen Urheberrechtsverletzungen, bricht das Tool in der Grundeinstellung den Download der kompletten Liste ab. Um das zu verhindern, nutzen Sie den Schalter -i. Damit ignoriert Youtube-dl etwaige Störungen und macht beim nächsten Track der Liste weiter.

Eine andere bequeme Möglichkeit, mehrere Clips in einem Rutsch herunterzuladen, bietet der Schalter -a Datei.txt. Mit ihm liest die Software die in einer Textdatei zeilenweise gespeicherten URLs aus und lädt sie nacheinander herunter.

Audiospur

Um von einem Video nur die Audiospur herunterzuladen, verwenden Sie den Schalter -x. Damit haben Sie aber weder Einfluss auf die Qualität noch auf den Codec. Das Ändern die Parameter --audio-format und --audio-quality.

Mit dem Befehl aus der ersten Zeile von Listing 2 lädt die Software die Audiospur zwar im bei Youtube üblichen WebM-Format herunter, Ffmpeg rekodiert sie aber im Anschluss mittels des angeforderten Codecs in die gewünschte Qualität. Beim Codec wählen Sie zwischen AAC, FLAC, MP3, M4A, Opus, Vorbis und WAV. Der Schalter --audio-quality nimmt neben der Bitrate auch Qualitätseinstufungen von 0 (besser) bis 9 (schlechter) an. Allerdings verwendet die Software dann für MP3 eine variable Bitrate. Um auch die Originaldateien zu behalten, verwenden Sie den Schalter -k.

Listing 2

$ youtube-dl -x --audio-format mp3 --audio-quality 320 Film-URL
$ youtube-dl --recode-video avi Film-URL

In der Grundeinstellung speichert Youtube-dl keinerlei Metadaten. Die ID3-Tags bleiben entsprechend leer, was unter anderem das spätere Organisieren der Titel erschwert. Mit dem Schalter --add-metadata schreibt die Software die Metainformationen in die jeweiligen Dateien (Abbildung 2), auch bei Videos.

Abbildung 2: Dieser etwas komplexere String zeigt einen Teil der M&ouml;glichkeiten, die Youtube-dl beim Herunterladen von Audiodateien bietet.

Abbildung 2: Dieser etwas komplexere String zeigt einen Teil der Möglichkeiten, die Youtube-dl beim Herunterladen von Audiodateien bietet.

Filme rekodieren

Ähnlich wie für Audio erlaubt Youtube-dl mit dem Schalter --recode-video auch das Rekodieren von Videodateien mittels Ffmpeg. Zur Auswahl stehen die Zielformate MP4, FLV, OGG, WebM, MKV und AVI (Listing 2, zweite Zeile).

Wir prüften die Funktion anhand eines Full-HD-Videoclips mit 70 MByte Ursprungsgröße und einer Spieldauer von etwa 5 Minuten. Die Ergebnisse fielen durch die Bank enttäuschend aus: Zum einen belegten die rekodierten Dateien erheblich mehr Speicherplatz als das Original, zum anderen war die Qualität nicht akzeptabel (Abbildung 3).

Abbildung 3: Murks: Die von Youtube-dl beziehungsweise Ffmpeg rekodierten Filme (links im AVI-Format) halten nicht im Ansatz mit dem Ausgangsmaterial (rechts) mit.

Abbildung 3: Murks: Die von Youtube-dl beziehungsweise Ffmpeg rekodierten Filme (links im AVI-Format) halten nicht im Ansatz mit dem Ausgangsmaterial (rechts) mit.

Darüber hinaus dauerte das Umwandeln unverhältnismäßig lange. Während es bei FLV mit 1:56 Minuten noch halbwegs zügig vonstatten ging, dauerte es bei AVI 4:30 Minuten. Das Rekodieren in die Formate OGG und WebM brachen wir nach geraumer Zeit ab, weil sich wegen des fehlenden Fortschrittsbalkens die Restdauer nicht ersehen ließ. Allerdings bot sich auch hier bei den entstandenen Fragmenten dasselbe Bild: eine überraschend schlechte Qualität. Hier empfiehlt sich nach dem Herunterladen des Videos der Einsatz eines dedizierten Konverters wie Handbrake [3].

Konfigurationsskript

Wer nicht jedes Mal eine endlose Zeichenkette wie die aus Abbildung 2 eingeben möchte, um das Video in der gewünschten Form zu erhalten, der legt eine Konfigurationsdatei mit den passenden Grundparametern an. Youtube-dl erkennt und nutzt sie automatisch ohne weitere Eingaben. Soll die Konfiguration systemweit gelten, legen Sie die Datei youtube-dl.conf im Verzeichnis /etc/ an, benutzerspezifisch speichern Sie sie unter ~/.config/youtube-dl/config/.

Passt die Konfiguration im Einzelfall nicht zum Content, den Sie herunterladen möchten, erweitern Sie das Youtube-dl-Kommando um --ignore-config und geben die passenden Parameter von Hand an. Geschickter ist es in den Augen des Autors aber, zwei verschiedene Konfigurationsdateien anzulegen: eine für Musik und eine für Videos. Welche davon Sie verwenden, entscheiden Sie mit dem Schalter --config-location (Listing 3). Eine Beispielkonfiguration für das Herunterladen von Audiodateien zeigt Listing 4.

Listing 3

$ youtube-dl --config-location ~/audio_dl.conf Film-URL

Listing 4

# Pfad zum Zielordner und Entfernen der Youtube-ID aus den Namen
-o "~/Music/%(title)s.%(ext)s"
# Nur Audiodatei herunterladen
-x
# Audioformat festlegen
--audio-format mp3
# Audioqualität festlegen
--audio-quality 320
# Reichert die Audiodateien mit ID3-Tags an
--add-metadata
# ignoriert Fehler in Playlisten
-i
# Überschreibt keine vorhandenen Titel
-w

Die Konfigurationsdatei können Sie jederzeit nach Belieben erweitern oder verändern. Zusätzliche Parameter wie -a lassen sich selbstredend trotzdem noch auf der Kommandozeile an die Software übergeben. Eine andere Möglichkeit, sich die Tipparbeit zu sparen, bieten Aliase. Hinterlegen Sie beispielsweise das Alias aus Listing 5 in der ~/.bash.rc, genügt künftig der Aufruf yta Film-URL, um den Titel als Audiospur in der gewünschten Qualität im vorgegebenen Ordner zu speichern.

Listing 5

alias yta="youtube-dl -x --audio-format mp3 --audio-quality 320 --add-metadata -o '~/audio/%(title)s320.%(ext)s'"

Youtube-DLG

Erscheint Ihnen das alles zu kompliziert, greifen Sie einfach zu Youtube-dl-gui (kurz: Youtube-DLG), einem grafischen Frontend für Youtube-dl [4]. Es unterstützt jedoch nicht alle Schalter der CLI-Variante, was den Funktionsumfang erheblich einschränkt. Die aktuelle Version 0.4 erfuhr zudem bereits Mitte 2017 die letzte Aktualisierung, weswegen sie von Haus aus nicht alle Funktionen der Kommandozeilenvariante kennt, deren letztes Update bei Redaktionsschluss gerade einmal 3 Wochen zurücklag.

Nach dem Start der Software erscheint zunächst ein schlichtes, zweigeteiltes Fenster (Abbildung 4). Zum Herunterladen von Videos genügt es, die jeweilige URL in den oberen Fensterbereich zu kopieren und auf den Button Herunterladen zu klicken. Dasselbe gilt für Wiedergabelisten, die Youtube-DLG selbstständig als solche identifiziert.

Abbildung 4: Schlicht aber zweckm&auml;&szlig;ig: die grafische Oberfl&auml;che Youtube-DLG. In den oberen Bereich kopieren Sie die URL, der untere informiert &uuml;ber den aktuellen Status.

Abbildung 4: Schlicht aber zweckmäßig: die grafische Oberfläche Youtube-DLG. In den oberen Bereich kopieren Sie die URL, der untere informiert über den aktuellen Status.

Danach erscheinen unten im Fenster der aktuelle Transferstatus, eventuelle Fehlermeldungen sowie bei Abschluss der Aktion eine entsprechende Bestätigung. Zu weiteren Einstellungen gelangen Sie über Optionen (Abbildung 5). Dort legen Sie unter anderem den Ablageort sowie die Qualität der Audio- und Videodateien fest.

Abbildung 5: Die Einstellungen der grafischen Oberfl&auml;che bieten zwar auch diverse M&ouml;glichkeiten des Feintunings, aber bei Weitem nicht so viele wie die Kommandozeilenvariante.

Abbildung 5: Die Einstellungen der grafischen Oberfläche bieten zwar auch diverse Möglichkeiten des Feintunings, aber bei Weitem nicht so viele wie die Kommandozeilenvariante.

Andere Quellen

Anders, als der Name es vermuten lässt, beherrscht Youtube-dl den Download von über 1000 Plattformen. Eine Übersicht aller unterstützten Dienste liefert das Kommando youtube-dl --list-extractors, eine exaktere Auflistung mit Hinweisen erhalten Sie über --extractor-descriptions.

Stichprobenartig versuchten wir Downloads bei einigen etablierten Diensten, wie etwa den Mediatheken von Arte, ZDF, RTL und Pro7 sowie bei Weltderwunder.de, Reddit.com, TV.Disney.de, Servus.com, Eurosport.de sowie Vimeo. Bei allen diesen Channels klappte der Download auf Anhieb, mitunter aber mit Einschränkungen bei der Auswahl der Streams.

So stellt zum Beispiel Arte TV keine eigene Audiospur bereit, liefert den Inhalt dafür aber in mehreren Sprachen. Um an die Audiospur zu gelangen, lädt Youtube-dl entsprechend zunächst das komplette Video herunter und extrahiert sie dann daraus. Auch hier hilft der Schalter -F, vorab zu klären, in welchen Formaten der Dienst die Inhalte bereitstellt. Erscheint in der Liste ein Eintrag Audio only, bietet der Dienst den Content auch als Audiostream an.

Fazit

Zugegeben: Mit den entsprechenden Parametern versehen, wirkt Youtube-dl ein wenig sperrig. Das entlohnt es aber mit einer Fülle von Möglichkeiten, Multimediadateien aus dem Internet herunterzuladen. Darüber hinaus bieten sich auch diverse Wege an, die Tipparbeit auf ein Minimum zu reduzieren. Beeindruckt hat uns die Vielfalt der unterstützten Videoportale – hier erweist sich Youtube-dl als wahrer Tausendsassa. Als einzigen Kritikpunkt muss sich die Software das mangelhafte Rekodieren heruntergeladener Filme gefallen lassen.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 01/2020 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben