YouTube Downloader
Dass YouTube weit mehr als "Katzenvideos" bereit stellt sondern auch wirklich gute Vorträge bereithält, dürfte mittlerweile bekannt sein. So veröffentlichen Microsoft aber auch das CCC und viele freie Autoren neben Webseiten auch Vorträge und Videos. Auch einige meiner Vorträge sind auf YouTube abgelegt.
Das Problem ist aber, dass ich solche Informationen bevorzugt auf Reisen anschaue, wenn andere Tätigkeiten nur schwer möglich wären. Dazu brauche ich diese aber Offline. Auf der TechNet Gallery gibt es z.B.: ein PowerShell-Script, welche die Vorträge der Ignite u.a. vollautomatisch von einer Webseite einsammelt und die PowerPoint-Slides von Microsoft aber auch die Vortragsvideos von YouTube herunter lädt.
Hier beschreibe ich meine Lösung, um Dateien und Videos bequem Offline verfügbar zu machen, die ich auf YouTube gefunden habe.
Beachten Sie dabei bitte die gültigen Lizenz- und Copyright-Bestimmungen der Medien. Dies gilt insbesondere das Herunterladen von Musikvideos und der Export-Funktion als MP3.
Am 23 Okt 2020 hat die RIAA mit Hinweis auf Digital Millennium Copyright Act (DMCA) das Repository mit dem Code sperren lassen. Das Repository ist dann auf https://gitlab.com/dstftw/youtube-dl/ umgezogen. Mittlerweile ist wohl "yt-dlp" https://github.com/yt-dlp/yt-dlp das aktuelle Projekt
Zudem gibt es Alternativen. https://en.wikipedia.org/wiki/Comparison_of_YouTube_downloaders z.B. ClipGrab.
Dennoch sehe ich so ein Vorgehen kritisch, wenn YouTube-DL ist eine klassisches "Dual-Use" Software, mit der man natürlich auch elegant Musikvideos in MP3-Dateien konvertieren und dabei die Werbung umgehen kann. Aber das könne YouTube technisch unterbinden, wie sie mit dem Leihfilmen auch beweisen. Also sage mir keiner, dass es nicht toleriert wird, solange genug Menschen die Werbung anschauen.
YouTube Quellen: Videos und Listen
Wenn Sie sich die Links von YouTube anschauen, dann gibt es Links für einzelne Videos aber auch für ganze Gruppen Videos.
- Link zu "meiner" Seite mit Videos der
MSXFAQ
https://www.youtube.com/user/msxfaq
Dieser Link zeigt einfach alle Videos nach dem Autor an ohne weitere thematische Gruppierung - Einzelvideo Beispiel "Ende zu Ende
Verschlüsselung "
https://www.youtube.com/watch?v=3AIQpDlm2EQ
Dieser Link spielt genau ein Video ab. Über den Parameter "t" könnte sogar noch die Einsprungzeit vorgegeben werden, z.B. https://www.youtube.com/watch?v=3AIQpDlm2EQ&t=136s - Playlist
Jeder registrierte Benutzer kann aber mehrere Videos verschiedener Quellen in einer eigenen Playlist zusammenstellen. Das machen wohl besonders gerne Menschen, die Musikvideos, z.B. "Alle Lieder von X", nacheinander anhören wollen. Diese Funktion ist aber auch für IT-Vorträge interessant, da so z.B. aus der Unmenge von Videos einer Ignite-Konferenz eine eigene Playliste zu jedem Themenschwerpunkt aufgesetzt werden kann.
Die Playlists sind als besonders interessant, um diese Vorträge auch mal mitzunehmen. Um sich solche Videos auch Offline verfüg bar zu machen, gib es gleich mehrere Add-ons und Plugins für die gängigen Browser. Allerdings stehe ich denen immer etwas skeptisch gegenüber, da Sie ja in meinem Browser mitlaufen und damit auch umfangreiche Zugriffsrechte haben.
Auch bin ich skeptisch gegenüber Webseiten, denen ich eine YouTube-URL übergebe und die dann die Medien herunterladen, konvertieren und mir zum Downloads anbieten. Das Geschäftsmodell kann ja auch hier nur Werbung, Daten verkaufen oder Trojaner unterschieben sein. Sie sehen mir einfach zu viel. Mir würde es reichen, wenn ich die URL einfach an ein Programm oder Skript übergeben kann.
YT-DLP (Mai 2025)
Es ist wohl ein kontinuierliches Wettrennen zwischen "Download-Produkten" und YouTube und anderen Webseiten, die genau solche Downloads verhindert möchten. Schließlich möchten die Plattformen die Kontrolle über die Inhalte behalten, auch wenn Sie streng genommen ja den Erstellern gehören. Aber der Betrieb der Plattformen kostet Geld und dies wird durch Abo-Gebühren oder Werbung gegenfinanziert. Da stören Downloads wohl häufiger. Daher kann es sein, dass bestimmte Tools oder Pakete nicht mehr oder noch nicht funktionieren, bis diese ein Updates erhalten haben.
Das bekannte "YouTube-DL" wurde sogasr mit einer Copyright-Notice vom Netz genommen. Man unterstellt den Autoren einfach, dass Sie "Tatwerkzeuge" zu Umgehen von Kopierschutzmaßnahmen herstellen und dies nicht legal sei. Daher müssen Sie manchmal etwas herumschauen, welches Modul aktuell funktioniert.
Achtung: Solche Module sind natürlich auch gerne im Umfeld von Malware und Angreifern gesehen und nicht jedes Tool tut nur genau das, was es verspricht. Trauen Sie dem Autor oder starten Sie das Tool nicht besser in einer abgeschotteten virtuellen Maschine.
- YT-DLP
https://github.com/yt-dlp/yt-dlp
Gleiche Syntax wir YoutTube-DL
Download mit YouTube-DL (veraltet)
. So ein Tool gibt es in Form von YouTube-DL, welches auch in den PowerShell-Skripten zum Download von Ignite Vorträgem (Auto Michel de Rooi) verwendet wird
- YouTube-DL (veraltet)
https://youtube-dl.org/
https://yt-dl.org/latest/youtube-dl.exe
https://gitlab.com/dstftw/youtube-dl/-/tree/master/
https://GitHub.com/rg3/youtube-dl/blob/master/README.md (ALT)
Wenn Sie Youtube-dl.exe schon haben aber ein Download nicht funktionieren will, dann ist ein Update ratsam. Das kann Youtube-DL komplett alleine, wenn der ausführende Benutzer Downloads aus dem Internet ausführen und das Zielverzeichnis beschreiben kann.
youtube.dlexe --update
- Get Microsoft session information or
contents (Get-EventSession.ps1)
https://gallery.technet.microsoft.com/Ignite-2016-Slidedeck-and-296df316
Der Download von einzelnen Videos oder ganzen Playlisten ist recht einfach. Wenn ich eine Playlist habe, in der die Videos schön aufgereiht sind, dann nutze ich dazu meist folgenden Aufruf (Zur Lesbarkeit umgebrochen):
youtube-dl --ignore-errors --no-overwrites -o "%(playlist_title)s/%(title)s.%(ext)s" "https://www.youtube.com/playlist?list=xxxxxx"
Der Parameter "--ignore-errors" verhindert, dass das Programm bei einem Fehler abbricht, z.B. weil das Video nicht mehr vorhanden ist. In der Standardeinstellung wird das beste Video herunter geladen. Mit "--no-overwrite" verhindere ich, dass bereits herunter geladene Medien überschrieben werden. Wenn alles klappt, können Sie so eine Playlist auch immer wieder mit YouTube-DL aktualisieren lassen. Es gibt noch viele weitere Optionen, z.B. um auch das Alter der Datei zu filtern. Das wäre dann noch eine bessere Lösung, wenn ein Skript den Moment des letzten Downloads speichert und später darauf wieder aufsetzt.
Wenn Sie die Zeile in einem Batchfile
verwenden, dann müssen Sie die "%" Zeichen doppelt
schreiben.
Wer die Sortierung der Playlist mit verwenden will, kann ein
noch %(playlist_index)s noch davor stellen, um die
Nummerierung voran zu stellen.
Andere Formate
YouTube passt seine Videos natürlich an das Endgerät und die Bandbreiten an. Das können Sie sich zu Nutze machen, wenn sie keine "FullHD"-Auflösung brauchen oder nur Audio wollen. Über den Parameter "--format" können Sie das entsprechende Format auswählen. Die Liste der verfügbaren Formate kann je Video unterschiedlich sein und kann mit "--list-formats" ermittelt werden. Hier ein Beispiel:
C:\>youtube-dl.exe --list-formats https://www.youtube.com/watch?v=r6sQCWurCsg [youtube] r6sQCWurCsg: Downloading webpage [youtube] r6sQCWurCsg: Downloading video info webpage [youtube] r6sQCWurCsg: Downloading MPD manifest [youtube] r6sQCWurCsg: Downloading MPD manifest [info] Available formats for r6sQCWurCsg: format code extension resolution note 139 m4a audio only DASH audio 52k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 4.41MiB 140 m4a audio only DASH audio 131k , m4a_dash container, mp4a.40.2@128k (44100Hz), 11.75MiB 160 mp4 256x144 DASH video 108k , mp4_dash container, avc1.4d400b, 30fps, video only 133 mp4 426x240 DASH video 242k , mp4_dash container, avc1.4d400c, 30fps, video only 134 mp4 640x360 DASH video 252k , mp4_dash container, avc1.4d401e, 30fps, video only, 4.77MiB 135 mp4 854x480 DASH video 1155k , mp4_dash container, avc1.4d4014, 30fps, video only 137 mp4 1920x1080 DASH video 1545k , mp4_dash container, avc1.640028, 30fps, video only, 20.70MiB 136 mp4 1280x720 DASH video 2310k , mp4_dash container, avc1.4d4016, 30fps, video only 17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k, 3.46MiB 36 3gp 320x180 small , mp4v.20.3, mp4a.40.2, 8.30MiB 43 webm 640x360 medium , vp8.0, vorbis@128k, 14.59MiB 18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k, 20.08MiB 22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best)
Neben der Auflösung und Framerate (fps) sehen Sie auch Datenmengen und Raten.. Neben den verschiedenen Video-Formaten gibt es auch "Audio Only" spuren, die im m4a-Format vorliegen
Wenn ich nur die Audio-Spur eines Videos z.B. als Hörbuch für das Auto/ICE haben will, dann muss noch das Format angeben.
youtube-dl.exe --format 139 https://www.youtube.com/watch?v=r6sQCWurCsg
Zu MP3 konvertieren mit FFMPEG
Leider können viele MP3-Player nicht unbedingt mit M4A etwas anfangen. Yotube-dl kann daher mit dem Zusatzmodul FFMPEG auch Fomate konvertieren. Ich muss dazu natürlich zuerst die entsprechenden Programme einfach neben youtube-dl.exe ins Verzeichnis legen
FFMEG Download
https://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-latest-win32-static.zip
Dann kann ich mit den passenden Parameter sofort eine Konvertierung des Inhalts durchführen lassen. Hier ein Beispiel, um alle Tonspuren einer Playliste zu laden, Konvertieren und in einem Unterverzeichnis zu speichern, welches den Namen der Playlist hat.
youtube-dl --ignore-errors --extract-audio --audio-format mp3 --audio-quality 128k -o "%%(playlist_title)s/%%(title)s.%%(ext)s" "https://www.youtube.com/playlist?list=xxxxxx
Wobei hier noch keine Sonderzeichen abgefangen werden. Die Nutzung des "playlist_title" schlägt natürlich fehlt, wenn jemand nicht erlaubte Zeichen verwendet. Theoretisch ist sogar ein Angriff denkbar, wenn ich als Playlist-Title z.B. "\Windows\cmd.exe\" verwenden würde. Ich habe das aber nicht weiter überprüft und sehe ja auch den Namen der Playlist, deren URL ich dann übergeben. Die Funktion "--no-overwrites", um bestehende Medien nicht erneut zu laden funktioniert hier nicht, da die heruntergeladene Datei nach der Konvertierung entfernt wird.
Events und Playlists
Mittlerweile zeichnen immer mehr Veranstaltungen ihr Vorträge auch professionell auf und stellen sie nicht nur den zahlenden Teilnehmern sondern der gesamten Welt zur Verfügung. Da haben dann alle drei was davon: Der Besucher kann parallele Vorträge zuhause anschauen, jeder im Internet kann davon partizipieren, auch wenn er nicht vor Ort teilnehmen konnte und der Veranstalter kann damit quasi Werbung für die nächste Ausgabe im kommenden Jahr machen. Früher gab es wenige Leitmessen, wo man halt sein musste. Durch Internet, Podcasts, Social Media hat sich das alles aufgelockert.
Ich lade mit mit youtube-dl solche Vorträge gerne herunter und betrachte mir diese unterwegs auf meinem Smartphone, Tablet oder PC. Das finde ich allemal sinnvoller als irgendwelche Serien von Streaming-Anbietern zu betrachten.
Beim Download von YouTube muss ich aber den Parameter "--format mp4" addieren, da ansonsten zumindest Anfang 2020 ein MKV-Container stellt wurde, mit dem IOS nichts anfangen kann.
Achtung: Der Download einer Playlist lädt alle Videos, was schnell mall mehrere Gigabyte sein können
Event | Videos mp4 GB |
URLs |
---|---|---|
36C3 |
|
YouTube Playlist: https://www.youtube.com/playlist?list=PL_IxoDz1Nq2YjnEpUMSqeqVUXgyEcsJdu youtube-dl.exe --ignore-errors --no-overwrites --format mp4 https://www.youtube.com/playlist?list=PL_IxoDz1Nq2YjnEpUMSqeqVUXgyEcsJdu |
Ignite 2019 Keynotes |
19 |
YouTube Playlist https://www.youtube.com/playlist?list=PLFPUGjQjckXHtVZJ5dAyv1KvIZ_GB-127 youtube-dl.exe --ignore-errors --no-overwrites --format mp4 https://www.youtube.com/playlist?list=PLFPUGjQjckXHtVZJ5dAyv1KvIZ_GB-127
|
Ignite 2019 Networking |
21 |
YouTube Playlist https://www.youtube.com/playlist?list=PL9VBYmZ7H046NoWfJXdQNjqlYZCZ2IBjt youtube-dl.exe --ignore-errors --no-overwrites --format mp4 https://www.youtube.com/playlist?list=PL9VBYmZ7H046NoWfJXdQNjqlYZCZ2IBjt |
Etwas unschön ist, dass der Dateiname anhand der URL und Titelnamen mit einigen Zusatzbuchstaben versehen sind. Ich habe die einfach nach dem Download per PowerShell umbenannt
foreach ($file in get-item *.*){ren $file "$($file.name.substring(0,$file.name.Length-16)).mp4"}
Eigentlich fehlt nur noch eine App, mit der ich YouTube-Videos direkt auf dem Smartphone z.B. im heimischen WLAN runterladen kann oder dass YouTube einen Kanal oder Playliste als RSS-Feed anbietet. Da wird aber Google was dagegen haben, da ich so ja keine Werbung sehen würde.
PowerShell Download Helper
Nicht jeder Admin und erst recht nicht jeder Anwender kommt mit den Kommandozeilen zurecht. Es gibt natürlich Angeboten von Oberflächen, die die Eingabe anfordern und dann im Hintergrund das Programm starten. Allerdings bin ich immer kritisch, wenn die Autoren selbst solcher Trivialprogramme den Quellcode nicht öffentlich machen und die EXE-Dateien nicht signieren. Das fördert gerade nicht das vertrauen. Ich habe mir einfach schnell ein Powershell-Script geschrieben, welche die URL entweder als Parameter annimmt oder abfragt.
Einfach herunterladen und in das gleiche Verzeichnis wie Youtube-dl.exe und ffmpeg.exe und ffprobe.exe kopieren und einfach starten. Das Skript akzeptiert eine URL als Parameter. Ohne URLs fragt es immer wieder interaktiv nach einer URL, bis sie keine URL mehr eingeben.
Copyright und Werbung
Natürlich kann ich auch eine der vielen Playlists von Musik-Artisten über den gleichen Weg herunterladen und sogar automatisch zu MP3-Dateien konvertieren lassen. Mittlerweile beginnt YouTube ja auch damit, Werbung in Videos einzubinden. Allerdings bestimmen noch die Uploader, ob Sie mit den Videos Geld verdienen wollen. So habe ich bei den Ignite-Vorträgen noch keine Werbepause entdecken können. Hier stellt sich die Frage nach dem Copyright eher nicht, da Microsoft ja die Inhalte selbst bereit stellt und sicher froh ist, wenn immer mehr Personen das Wissen für eine gute Dienstleistung aufbauen.
Bei Musik-Videos dürfte das dann etwas anderes sein. Aktuell gibt es von YouTube-DL immer mal wieder ein Update, welches Fehler behebt. Ich könnte mir aber auch vorstellen, dass YouTube irgendwann versucht, solche Hilfsprogramme auszusperren. Ein Vorteil von YouTube-DL ist ja, dass es den Download sehr schnell erledigt, d.h. viel schneller, als ein normales Video zum Abspielen bräuchte. Über eine 100Bit DSL-Leitung können Sie sich die Gigabyte Ignite-Videos in wenigen Stunden laden, obwohl es viele Tage an Inhalt sind.
Diese Seite darf daher nicht als Aufforderung zu Copyright-Verletzungen missverstanden werden. Leider sind die Werkzeuge für legitime und illegale Aktivitäten die gleichen. Täter ist aber immer die Person vor dem Bildschirm, nicht der Hersteller oder oder das Werkzeug. Mit dem gleichen Kniff schieben ja auch Waffenhersteller und Politiker die Verantwortung ab, wenn Sie tödliche Werkzeuge in fremde Länder verkaufen.
Weitere Links
- Infofilm
- Lync auf YouTube
- GUI für Youtube-DL
https://GitHub.com/murrty/youtube-dl-gui - Wikipedia youtube-dl
https://en.wikipedia.org/wiki/Youtube-dl - FFMEG Download
https://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-latest-win32-static.zip - Format Selection
https://GitHub.com/rg3/youtube-dl/blob/master/README.md#format-selection - Youtube-dl Tutorial With Examples For
Beginner
https://www.ostechnix.com/youtube-dl-tutorial-with-examples-for-beginners/