Das Kommandozeilentool youtube-dl lädt YouTube-Videos aus dem Netz, das dürfte aufgrund der Namensgebung kaum jemanden wirklich überraschen. Auch mir ist das Programm nicht wirklich neu, doch ich habe es bisher immer nur mit YouTube in Verbindung gebracht. Doch das kleine Programm für das Linux-Terminal kann inzwischen deutlich mehr als es der auf nur einen Dienst hindeutende Name vermuten lässt. Das schlanke Konsolentool beherrscht inzwischen den Download von Videos aus über 350 Videoportalen: Von der ARD über Vimeo und YouTube, bis hin zum ZDF oder nicht ganz jugendfreien Webseiten ist alles mit dabei.

Da die Mediatheken der öffentlich rechtlichen Sender ihre Inhalte nach nur einer Woche aus dem Netz schmeißen müssen, muss man sich Sendungen, die man gerade nicht ansehen kann, wohl oder übel auf der eigenen Festplatte sichern. Dazu verwende ich bisher mit tatort-dl und zdf-dl zwei kleine Programme fürs Terminal, so muss ich nicht das große MediathekView starten. Doch die beiden Programme sind ein wenig hakelig und auch ab und an veraltet, daher hat es mich sehr gefreut zu erfahren (Danke lieber Tippgeber!), dass youtube-dl inzwischen mit über 350 Videoportalen umzugehen weiß.

youtube-dl unter Debian, Ubuntu oder Arch installieren

# youtube-dl unter Ubuntu/Debian installieren
$ sudo apt-get install youtube-dl rtmpdump

# youtube-dl unter Arch Linux installieren
$ sudo pacman -S youtube-dl

Die Liste der unterstützten Portale führt von 1up.com, über die ARD, arte.tv, RTLnow und Tagesschau, bis hin zur WDRMaus und dem ZDF. Für alle diese Portale reicht für den Download der Webvideos ein Kommando aus. Auch zahlreiche Schmuddelportale wie YouPorn, Xtube oder Xhamster und Co. werden von youtube-dl unterstützt. Damit macht youtube-dl die etwas wackligeren Lösungen die bereits genannten Skripte tatort-dl und mein zdf-dl komplett überflüssig. Eine Liste mit allen von youtube-dl unterstützten Portalen liefert euch der Schalter –list-extractors.

Von youtube-dl unterstützte Videoportale auflisten

$ youtube-dl --list-extractors
1up.com
220.ro
3sat
4tube
56.com
5min
8tracks
9gag
AcademicEarth:Course
AddAnime
[...]

Die Bedienung ist im Endeffekt immer die selbe: Es reicht youtube-dl aus dem Terminal heraus aufzurufen und die URL des gewünschten Videos hinter das Kommando zu hängen. Bei zdf-dl war es dabei wichtig auf die Nicht-Flash-Version der ZDF-Mediathek zu verweisen, youtube-dl akzeptiert dagegen beide Varianten ohne zu murren. Weitere Schalter lassen einen das Format der Tonspur bestimmen oder gar nur den Ton herunterladen, in der Praxis wird man meist aber den blanken Befehl benutzen.

Webvideos mit youtube-dl herunterladen

# Filme aus der ARD-Mediathek herunterladen...
$ youtube-dl http://www.ardmediathek.de/tv/Fernsehfilme-im-Ersten/Mord-in-bester-Gesellschaft-Das-Ende-v/Das-Erste/Video?documentId=22196602&bcastId=1933898

# Filme aus der ZDF-Mediathek herunterladen...
$ youtube-dl http://www.zdf.de/ZDFmediathek/hauptnavigation/startseite#/beitrag/video/2180242/Bullenball

Mit youtube-dl hat man also eine eierlegende Wollmilchsau für zahlreiche Videoportale an der Hand. Es ist nicht mehr nötig sich für jedes neue Portal wieder ein anderes Download-Tool zu installieren und sich an die Syntax zu erinnern. youtube-dl wird zudem regelmäßig aktuell gehalten, sodass die Anwendung nach Änderungen auf einer der unterstützten Videoseiten schnell wieder funktioniert.

Kleiner Tipp am Rande: Youtube-dl erlaubt den Download von zahlreichen Videoportalen. Allerdings kennt auch youtube-dl nicht sämtliche Anbieter. Möchtet ihr ein Flash-Video eines beliebigen Video-Hosters herunterladen, dann könnt ihr euch den Download des Flash-Videos von der Festplatte angeln.

27 Kommentare

  1. Bei mir ist folgender Fehler ausgegeben worden. Was hat es damit auf sich?

    $ youtube-dl  http://mediathek.daserste.de/sendungen_a-z/799280_reportage-dokumentation/22263876_exclusiv-im-ersten-zugriff-wenn-das-netz-zumA
    [ARD] 22263876_exclusiv-im-ersten-zugriff-wenn-das-netz-zumA: Downloading webpage
    [ARD] RTMP download detected
    [download] Destination: Exclusiv im Ersten - Zugriff! Wenn das Netz zum Gegner wird-22263876_exclusiv-im-ersten-zugriff-wenn-das-netz-zumA.mp4
    ERROR: RTMP download detected but "rtmpdump" could not be run
  2. Nope, hatte ich natürlich nicht. Jetzt aber! 😉 Danke für die Hilfe!

    Jetzt klappte es offenbar!

    Andere Frage zum Thema Legalität: Wie verhält es sich bei dem Tool mit dem Thema Datenschutz und Erlaubtheit usw.?

    • Da du die Streams ja „nur“ speicherst und nicht verbreitetest befindest du dich in meinen Augen auf jeden Fall in einer Grauzone, die niemanden interessiert. Grüße, Christoph.

  3. Hallo,
    ich wollte es jetzt auch mal testen und zufälllig mit dem selben Video wie .marc aber ich bekomme auch nur fehler auch wenn ich den link von hier kopiere..

    m0nn3@mint-desktop:~ > youtube-dl http://www.ardmediathek.de/tv/Reportage-Dokumentation/Exclusiv-im-Ersten-Zugriff-Wenn-das-Ne/Das-Erste/Video?documentId=22263876&bcastId=799280
    [1] 17440
    m0nn3@mint-desktop:~ > [ARD] 22263876: Downloading webpage
    ERROR: Unable to extract title; please report this issue on https://yt-dl.org/bug . Be sure to call youtube-dl with the --verbose flag and include its complete output. Make sure you are using the latest version; type  youtube-dl -U  to update.
  4. Hey zusammen,

    das Tool hört sich ja wirklich klasse an!

    Ist es auch möglich ganze Channel herunterzuladen?

    Wenn ja, wie würde der Befehl dazu aussehen?

    Gruß,
    Raiden

    • Scheint zu gehen…

      $ youtube-dl https://www.youtube.com/user/LinuxUndIch
      [download] Downloading playlist: LinuxUndIch
      [youtube:user] LinuxUndIch: Downloading video ids from 1 to 51
      [youtube:user] playlist LinuxUndIch: Downloading 27 videos
      [download] Downloading video #1 of 27
      [youtube] Setting language
      [youtube] 1s31QTF0WKc: Downloading webpage
      [youtube] 1s31QTF0WKc: Downloading video info webpage
      [youtube] 1s31QTF0WKc: Extracting video information
      [download] Destination: Mein Weg zu Arch... Teil1 - Warum Arch Warum die GNOME Shell-1s31QTF0WKc.mp4
      [download]   8.1% of 98.29MiB at  7.99MiB/s ETA 00:11^
  5. Witzig, ich kenne ‚youtube-dl‘ schon seit mindestens zwei oder drei Jahren und nutze es regelmäßig, bin bisher aber noch nie auf die Idee gekommen mir mal die manpage anzuschauen, habe es immer für ein simples Skriptchen gehalten.

    Werde mir jetzt mal einen Wrapper basteln mit dem ich gesammelte Links über eine Liste an das Tool übergeben kann.

    Interessant ist übrigens, dass ‚youtube-dl‘ keine Lizenz hat sondern Public Domain ist.

  6. quvi (http://quvi.sourceforge.net/) kann auch etwas ähnliches. mpv (mpv.io) nutzt das als lib, dadurch ist es möglich youtube videos ohne die website zu besuchen (oder wenn man Javascript nicht aktiviren will) aus dem terminal abzuspielen:

    $ mpv "https://www.youtube.com/watch?v=1s31QTF0WKc&list=UURaeGPgy0HO8"
    Playing: https://www.youtube.com/watch?v=1s31QTF0WKc&list=UURaeGPgy0HO8Luj0QV9olDw

    Auch sehr schön ist der youtube-dl wrapper yt (https://github.com/vehk/yt) der die url aus der zwischenablage nimmt über youtube-dl die video-url erhält und das video dann mit mpv, mplayer2 oder mplayer abspielt. Funktioniert besonders schön in verbindung mit vimperator/pentadactyl

  7. Huhu, im uu-Wiki gibt es einen Artikel zu youtube-dl. Es ist sinnvoll, yt-dl manuell zu installieren, weil man dadurch einfacher/überhaupt an die aktuellen Versionen (via youtube-dl -U) kommt, welche man braucht, wenn eine URL mal nicht so will, wie sie soll. Die yt-dl-Jungs aktualisieren das Programm mehrmals die Woche…

  8. Es ist sinnvoll, yt-dl manuell zu installieren, weil man dadurch einfacher/überhaupt an die aktuellen Versionen (via youtube-dl -U) kommt,…

    Tatsächlich? Mittels sudo youtube-dl -U hab ich auf meiner Ubuntu 12.04 Kiste auch immer die aktuellste Version. Derzeit 2014.07.11.3
    Und in den manpages ist youtube-dl auch automatisch eingebunden, was bei deinem Vorschlag nicht der Fall ist.

    • Flo hat zum Teil schon recht, aktuelle youtube-dl-Versionen melden…

      $ youtube-dl -U
      It looks like you installed youtube-dl with a package manager, pip, setup.py or a tarball. Please use that to update.
      

      …unter Arch wird das Programm dennoch über die Paketverwaltung aktuell gehalten.

      Grüße
      Christoph

  9. Huhu Bebo, auch mit sudo klappt es nicht. apt-get hat ab Ubuntu 13.10 ein Feature spendiert bekommen, was dieses Vorgehen verhindert. Daher mein Hinweis weiter oben.

  10. Super Sache, hat irgendeiner eine Idee, wie ich dann auch die eingebauten Untertitel von ZDF mit runterladen kann !? Das gleiche gilt für ARD !! Dies funktioniert derzeit nicht ! Als Schwerhöriger wäre ich auf sowas angewiesen! Leider werden die Untertitel immer vernachlässigt! z.B. auch auf Maxdome etc. !

    • Das einzige Programm -soweit ich weiß-, das derzeit automatisch Untertitel von ARD und ZDF runterladen und zu brauchbaren srt-Dateien umwandeln kann ist der jdownloader. Aber vielleicht kennt ja jemand anderes noch eine etwas leichtgewichtigere Lösung…

  11. Hallo! Auch ich versuche den Tatort aus der Ferne zu sehen. Leider funktioniert auch bei mir der tatort-dl nicht mehr. (Auch youtube-dl oder der JDownloader schaffen es nicht.)

    ~$ tatort-dl http://www.daserste.de/unterhaltung/krimi/tatort/videos/haeschen-in-der-grube-video-tgl-ab-20-uhr-100.html
    curl "http://www.daserste.de/unterhaltung/krimi/tatort/videos/haeschen-in-der-grube-video-tgl-ab-20-uhr-100.html" ..
    Error: no 'rtmp://' URLs were found on the given Page.

    Habt Ihr es denn jetzt geschafft? Mache ich am Ende etwas falsch?
    Viele Grüße

  12. Hallo,
    Ich versuche schon eine kleine Ewigkeit Youtube-dl dazu zu bringen Facebook Videos runterzuladen, sollte ja eigentlich gehen, klappt aber nicht. Ich arbeite unter Linux Mint 18 KDE. Hast du evtl. einen Tip? Gruß

    • Klappt bei mir ohne Probleme…

      $ youtube-dl https://www.facebook.com/LastWeekTonight/videos/947783945350615/?hc_ref=PAGES_TIMELINE
      [facebook] 947783945350615: Downloading webpage
      [download] Destination: Facebook video #947783945350615-947783945350615.mp4
      [download] 100% of 80.59MiB in 00:07
      $ youtube-dl --version
      2016.10.21.1

      Übergibst du den richtigen Link?

  13. hey,

    auch ich habe versucht mit youtube dl zu laden.

    #aa@22:~$ sudo youtube-dl http://www.arte.tv/de/videos/070819-006-A/metropolis
    [generic] metropolis: Requesting header
    WARNING: Falling back on generic information extractor.
    [generic] metropolis: Downloading webpage
    [generic] metropolis: Extracting information
    ERROR: Unsupported URL: http://www.arte.tv/de/videos/070819-006-A/metropolis

    Kannst du mir da was zu sagen, bin ich zu dumm, oder funzt das tool nicht mehr?
    Und, achja, wie erstelle ich so ein schickes blaues fenster für die Terminal ausgaben wiedergabe hier im forum?
    herzlichen dank,
    jan

    • Geht mit der aktuellen Version des Programms…

      $ youtube-dl --version
      2017.06.25
      $ youtube-dl http://www.arte.tv/de/videos/070819-006-A/metropolis
      [arte.tv:+7] metropolis: Downloading webpage
      [arte.tv:+7] metropolis: Downloading JSON metadata
      [arte.tv:+7] metropolis: Checking HTTPS_EQ_1 video format URL
      [arte.tv:+7] metropolis: Checking HTTPS_MQ_1 video format URL
      [arte.tv:+7] metropolis: Checking HTTPS_HQ_1 video format URL
      [arte.tv:+7] metropolis: Checking HTTPS_SQ_1 video format URL
      [arte.tv:+7] metropolis: Checking HLS_XQ_1 video format URL
      [arte.tv:+7] metropolis: Checking HTTPS_EQ_2 video format URL
      [arte.tv:+7] metropolis: Checking HTTPS_HQ_2 video format URL
      [arte.tv:+7] metropolis: Checking HTTPS_MQ_2 video format URL
      [arte.tv:+7] metropolis: Checking HTTPS_SQ_2 video format URL
      [arte.tv:+7] metropolis: Checking HLS_XQ_2 video format URL
      [download] Destination: Metropolis-070819-006-A.mp4
      [download]   4.5% of 770.92MiB at  4.79MiB/s ETA 02:33
      [...]

      Code setzt man in Html entweder in <code>foo</code> oder in <pre>bar</bar>. Ersteres kannst du für Code-Zeilen innerhalb eines Absatzes nutzen. Der pre-Tag setzt den Code dann in einen eigenen Kasten.

      Viele Grüße,
      Christoph

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein