Logo

Udemy Videos legal herunterladen

Udemy Videos downloadenUdemy ist eine der größten e-Learning-Plattformen für Online-Seminare weltweit. Der Großteil der Inhalte ist natürlich in englischer Sprache, aber der deutsche Anteil wächst stetig. Und die 30-Tage-Geld-Zurück-Garantie sowie der lebenslange Zugriff auf die erworbenen Inhalte gibt einem auch eine gewisse Sicherheit. Mir selbst waren solche Anbieter von Online-Seminaren bis vor Kurzem noch nicht geläufig. Und da momentan wieder eine Rabatt-Aktion mit bis zu 90% Preisnachlass läuft, schlug ich zu und deckte mich mit einigen interessanten Kursen ein. Doch schnell kommt da die Frage auf: Kann man die Videos der Kurse auch für die Offline-Nutzung herunterladen? Man möchte ja vielleicht nicht immer die Videos über die Internetleitung streamen und sie nur am PC oder Smartphone anschauen können. Die Antwort lautet: Ja das geht, und es ist sogar legal! Damit könnt ihr die Videos dann auch jederzeit offline und unabhängig von der Udemy-Website oder -Apps von allen kompatiblen Mediengeräten wiedergeben.

Im Internet findet man schon einige Artikel und Youtube-Videos zu diesem Thema. Häufig aber in englischer Sprache und fast immer nur oberflächlich abgehandelt. Dieses Tutorial erklärt euch umfassend und mit zusätzlichen Hinweisen und Tipps, wie ihr unter Microsoft Windows die Video-Dateien eurer Udemy-Onlinekurse herunterladen könnt.

Rechtlicher Hinweis
Nach meinem Kenntnisstand ist das Herunterladen der Udemy-Videos, auf die man befugten Zugriff hat, nicht illegal. Auch die aktuellen AGB von Udemy schließen den Download der Videodateien nicht aus, soweit ich das feststellen konnte. Trotzdem erfolgt die Anwendung natürlich auf eigene Verantwortung! Selbstredend dürft ihr die heruntergeladenen Videodateien nur für persönliche Zwecke nutzen, und sie nicht an andere weitergeben, verleihen, verkaufen, oder öffentlich abspielen.

Vorbereitungen

Bevor wir mit dem Downloaden starten können, benötigen wir noch zwei Zutaten. Beide sind kostenfrei erhältlich und schnell installiert. Diese Vorbereitungen müsst ihr nur einmalig durchführen. Ebenfalls benötigt Ihr Adminrechte.

PowerShell

Ihr benötigt die Windows PowerShell, die ab Windows 7 i.d.R. schon vorinstalliert ist. Mehr dazu findet ihr in meinem Artikel zur Windows PowerShell.

Genügt denn nicht die Eingabeaufforderung?
Theoretisch lässt sich das Download-Skript auch über die Windows-Eingabeaufforderung ausführen. In meinem Test funktionierte zwar der Download an sich, allerdings konnte der Kurstitel nie ausgelesen werden und stattdessen wurde nur die ID zurück gegeben.

Python

Python ist eine recht einfach zu erlernende, übersichtliche Programmiersprache, die auch im Web eingesetzt wird. Python ist frei erhältlich und höchstwahrscheinlich noch nicht auf eurem Windows-PC installiert, sofern ihr es nicht selbst veranlasst habt. Ihr müsst Python herunterladen und installieren. Wichtig: Wählt im Setup die benutzerdefinierte Installation und aktiviert die Option um die Umgebungsvariable hinzuzufügen.
Die Installation im Detail (ab Version 3): Wählt im Begrüßungsdialog „Customize installation„. Im nächsten Fenster „Optional Features“ prüft ihr, ob „pip“ mit einem Häkchen ausgewählt ist und klickt auf „Next„. Im nächsten Schritt bei den „Advanced Options“ muss ein Häkchen bei „Add Python to environment variables“ gesetzt werden! Ändert den Installationspfad auf etwas Kurzes, wie z.B. „C:\Python35“. Startet dann die Installation.

Python Installation

Alt oder neu?
Python 3.5 ist schon etwas umfangreicher/aufgeblähter und installiert mehr im System als noch die ältere Version 2.7. Diese Anleitung und das Download-Skript funktionieren auch mit der älteren Python-Version. Falls ihr euch für Version 2.7 entscheidet, müsst ihr anschließend lediglich noch die Umgebungsvariable von Hand anlegen. Erstellt eine Benutzervariable mit Namen „PATH“ (ohne Anführungsstriche) und als Wert das Installations- sowie Skriptverzeichnis von Python, mit einem Semikolon getrennt (also z.B. „c:\Python27;c:\Python27\Scripts„).

Das Download-Skript

Das Downloaden erledigt das frei verfügbare Python-Skript youtube-dl. Es unterstützt neben Youtube noch unzählige andere Video-, Sound- und Medienportale, darunter auch Udemy. Am einfachsten installiert ihr das Skript mit dem Python-Paketverwaltungsprogramm pip. Öffnet dazu die Windows PowerShell mit Adminrechten (Rechtsklick auf das Programmsymbol -> „Als Administrator ausführen„) und führt diesen Befehl aus:

pip install youtube-dl

Wenn die Installation erfolgreich war, sollte euch der Vorgang mit „Successfully installed youtube-dl <version>“ bestätigt werden.
Für youtube-dl werden häufiger Updates veröffentlicht. Es lohnt sich also, immer mal wieder auf Updates prüfen zu lassen:

pip install --upgrade youtube-dl

Jetzt wird heruntergeladen

Nun benötigt ihr nur noch die Übersichts-URL eures Kurses und der Download kann starten. Loggt euch dazu bei Udemy ein, klickt auf „Meine Kurse“ und wählt dann den gewünschten Kurs aus. Kopiert die komplette URL der Kurs-Übersichtsseite in die Windows-Zwischenablage.
Udemy Kurs-URL

Download-Quicky

Hier folgt die einfache Standard-Variante des Downloads. Weiter unten beschreibe ich, wie ihr das Download-Skript noch anpassen könnt, was sehr praktisch ist. Startet die Windows PowerShell und wechselt zuerst mit dem Befehl „cd <verzeichnis>“ in das Verzeichnis, in das die Videos geladen werden sollen. Anschließend gebt ihr folgenden Befehl ein und ersetzt <email> und <passwort> mit euren persönlichen Zugangsdaten, mit denen ihr euch bei Udemy registriert habt (Ihr könnt -p <passwort> auch weg lassen und werdet dann beim Skriptstart nach dem Passwort gefragt). Ersetzt <url> mit der zuvor ermittelten Kurs-URL:

youtube-dl -u <email> -p <passwort> <url>

Wenn die Zugangsdaten korrekt waren und der entsprechende Account für den angefragten Kurs berechtigt ist, sollte der Download nun starten. Ansonsten wird der Vorgang mit einer entsprechenden Fehlermeldung abbrechen.

Gut zu wissen

  • Das Download-Skript lädt standardmäßig den kompletten Kurs in einem Rutsch herunter (Das lässt sich mit einem entsprechenden Aufrufparameter ändern, siehe nächstes Kapitel). Umfangreiche Kurse mit z.B. über 100 Videos oder über 5 Stunden Spieldauer können je nach vorhandener Internetbandbreite einige Zeit dauern.
  • Wenn ihr den laufenden Download bzw. das Skript abbrechen möchtet, holt das PowerShell-Fenster in den Vordergrund und drückt ein, zwei Mal die Tastenkombination STRG + C.
  • youtube-dl funktioniert ähnlich wie ein Download-Manager. Wird ein Download unterbrochen (z.B. weil die Verbindung zum Server verloren geht), könnt ihr das Skript einfach erneut ausführen und der Download wird bitgenau an der Stelle fortgeführt wo er unterbrochen wurde.
  • Das Download-Skript kümmert sich nur um Multimedia-Dateien, und lädt keine Dokumente wie z.B. PDFs herunter. Manche Kurse bieten ja noch Arbeitsbücher etc. an, diese müsst ihr von Hand über die Udemy-Website downloaden.

Den Download feinjustieren

MechanikerJetzt wird’s interessant! Das Download-Skript youtube-dl lässt sich noch mit einer ganzen Reihe von Aufrufparametern konfigurieren. Einmal angepasst, nimmt euch das Skript dann einige Nacharbeit ab und passt sich euren Bedürfnissen an. Hier folgen ein paar nützliche Beispiele.

Dateinamen und Speicherort festlegen

Das ist wohl eine der wichtigsten, wenn nicht sogar DIE wichtigste Option. Denn die heruntergeladenen Videodateien tragen zwar den Namen/Titel wie er im Kurs hinterlegt ist. Sie sind aber nicht nummeriert und liegen somit hinterher nicht chronologisch sondern nur alphabetisch sortiert in eurem Verzeichnis. Ihr könntet die Dateien natürlich auch nachträglich von Hand umbenennen, viel Spaß bei einem Kurs mit über 100 Videos! Deshalb lasst ihr die Dateien besser gleich schon beim Download richtig benennen.

Mit dem Parameter –output „<muster>“ könnt ihr festlegen, wie die Dateien benannt und wo sie abgespeichert werden sollen. Folgendes Beispiel verwendet als Dateinamen nicht nur den Titel, sondern stellt ihm noch die laufende Nummer aus der Kursliste voran. Dadurch sind die Videodateien anschließend chronologisch sortiert:

youtube-dl --output "%(playlist_index)s - %(title)s.%(ext)s" -u ...

Es geht aber noch besser. Mit folgendem Ausgabemuster werden die Dateien in eurem Windows-Benutzerverzeichnis im Unterverzeichnis „Videos“ gespeichert. Es wird automatisch ein Ordner mit Namen des Kurses angelegt, darunter jeweils ein Ordner für jedes Kapitel und darunter dann die entsprechenden Videos, chronologisch sortiert:

youtube-dl --output "~\Videos\%(playlist)s\%(chapter_number)s - %(chapter)s\%(playlist_index)s - %(title)s.%(ext)s" -u ...

Fehler ignorieren

Standardmäßig bricht der komplette Download ab, sobald eine Datei in der Liste nicht verfügbar ist. Mit der Option –ignore-errors wird dieser Fehler ignoriert. Die betroffene Datei wird übersprungen und es wird die nächste Datei in der Liste herunter geladen. So wird die Liste erst einmal soweit wie möglich abgearbeitet und nicht gleich beim ersten Fehler abgebrochen.

youtube-dl --ignore-errors -u ...

Anzahl Neuversuche ändern

Bevor eine Datei als nicht verfügbar gilt und einen Fehler generiert, werden standardmäßig 10 Downloadversuche unternommen. Mit der Option –retries <anzahl> könnt ihr den Wert erhöhen oder auch herab senken. Wenn ihr als Anzahl „infinite“ angebt, wird das Skript es ewig versuchen.

youtube-dl --retries 15 -u ...

Vorhandene Dateien nicht überschreiben

Manchmal kommt es aufgrund kurzer Verbindungsprobleme vor, dass nicht alle Videos herunter geladen werden und im Anschluss fehlt dann irgendwo zwischendrin das eine oder andere Video. Deshalb lasse ich das Download-Skript i.d.R. zwei Mal durchlaufen. Damit im zweiten Durchlauf aber nur die fehlenden und nicht die bereits vorhandenen Videos erneut herunter geladen werden, benutze ich diesen Parameter:

youtube-dl --no-overwrites -u ...

Mehrere Kurse auf einmal herunterladen

Ihr könnt mit der Option –batch-file „<dateiname>“ eine Datei angeben, die eine Liste von Kurs-URLs beinhaltet (Pro Zeile eine URL). Das Skript arbeitet dann alle Kurse nacheinander ab:

youtube-dl --batch-file "d:\Videos\Kurse.txt" -u ...

Downloadgeschwindigkeit begrenzen

Wenn ihr den Download nebenher laufen lassen wollt, ohne dass eure Internetbandbreite komplett ausgelastet wird, könnt ihr die maximale Downloadrate mit der Option –limit-rate <rate> beschränken (in Bytes pro Sekunde, z.B. „500K“, „1.5M“; Achtung: Dezimaltrennzeichen ist der Punkt, nicht das Komma). Folgendes Beispiel beschränkt die Downloadgeschwindigkeit auf 1,2 MBit/s:

youtube-dl --limit-rate 1.2M -u ...

Download-Liste beschränken

Normalerweise beginnt der Download mit der ersten Datei in der Kurs-Liste und geht chronologisch alle Dateien durch, bis die komplette Liste abgearbeitet ist. Mit den Optionen –playlist-start <nummer> und –playlist-end <nummer> könnt ihr bestimmen, ab welcher Position der Download beginnen oder an welcher er enden soll. Hier ein Beispiel, wenn ihr die ersten 10 Kursdateien überspringen wollt:

youtube-dl --playlist-start 11 -u ...

Ihr könnt mit der Option –playlist-items „<nummerliste>“ auch spezifische Videos herunter laden. Mit folgendem Beispiel würdet ihr die 3., 8. und 10. Datei sowie die Dateien 12-14 herunter laden:

youtube-dl --playlist-items "3,8,10,12-14" -u ...

6 Kommentare

michael
18. Dezember 2016 um 16:35 Uhr

klappt 1a, großes dankeschön für das tutorial und ein frohes fest!

chris
22. Januar 2017 um 22:04 Uhr

Hallo, vielen Dank für das mega Tutorial. Ich kenne mich aber nicht so gut aus und habe deswegen eine Frage:

Ich möchte Downloaden und mehrere verschiedene Parameter festlegen wie z. B. Dateinamen und Speicherort festlegen, Fehler ignorieren, Anzahl Neuversuche ändern, Mehrere Kurse auf einmal herunterladen usw. usw., aber wie muss ich das in PowerShell schreiben?
Wäre das richtig? Nach jedem einzelnen Befehl ein „Leerzeichen“ und wieder mit „–“ den weiteren Befehl starten? (Meine Reihenfolge: Mehrere Kurse auf einmal herunterladen + Dateinamen und Speicherort festlegen + Anzahl Neuversuche ändern)

youtube-dl –batch-file „d:\Videos\Kurse.txt“ youtube-dl –output „~\Videos\%(playlist)s\%(chapter_number)s – %(chapter)s\%(playlist_index)s – %(title)s.%(ext)s“ –retries 15 -u -p

Mit freundlichen Grüßen

chris
22. Januar 2017 um 22:07 Uhr

Ich muss zwischen die zwei aufeinander folgenden Bindestriche ein Leerzeichen setzen da die zwei Striche sonst zu einem werden. In PowerShell geben ich die zwei „- -“ ohne Leerzeichen ein.

youtube-dl – -batch-file „d:\Videos\Kurse.txt“ youtube-dl – -output „~\Videos\%(playlist)s\%(chapter_number)s – %(chapter)s\%(playlist_index)s – %(title)s.%(ext)s“ – -retries 15 -u -p

Mit freundlichen Grüßen

Aufschnürer
31. Januar 2017 um 13:51 Uhr

Hallo Chris, der Aufruf des Youtube-Scripts muss bzw. darf nur einmal ganz zu Beginn erfolgen. Dann folgen die Parameter (Reihenfolge egal). Wichtig ist, dass du die Schreibweise aus meinen Beispielen korrekt einhälst. Achte auch darauf, dass Verzeichnisangaben in doppelten Anführungszeichen komplett umschlossen sind (also z.B. --batch-file "D:\kurse.txt").

Ich nutze das Script in dieser Konstellation:
youtube-dl --ignore-errors --retries 15 --no-overwrites --output "D:\Udemy\%(playlist)s\%(chapter_number)s - %(chapter)s\%(playlist_index)s - %(title)s.%(ext)s" --batch-file "D:\Udemy\kurse.txt" -u meinbenutzername -p meinpasswort

chris
1. Februar 2017 um 17:48 Uhr

it works!!!! vielen vielen dank dafür! 🙂

Michael
26. Juni 2017 um 14:32 Uhr

Danke für diesen Beitrag, die Informationen sind Gold wert!



Sag' deine Meinung