Kleines PSA für alle, die mit yt-dlp gerne YouTube-Videos lokal auf der Festplatte sichern und eigentlich auch für Entwickler, die alternative YouTube-Clients bauen, doch die werden die Situation eh im Blick haben. Mit der Veröffentlichung von yt-dlp 2025.11.12 benötigt das Programm nun eine JavaScript-Laufzeitumgebung wie zum Beispiel Deno. Hintergrund dieser Änderung ist die zunehmende Enshitification von YouTube durch Google.
Hintergrund: YouTube und die Enshitification
YouTube-Ripper wie yt-dlp sowie unabhängige YouTube-Clients wie NewPipe und Klons wie PipePipe, die unter der Haube mit yt-dlp arbeiten, sollen künftig stärker blockiert werden. Grund dafür ist, dass freie Clients keine Werbung anzeigen und häufig Funktionen wie SponsorBlock direkt integrieren.
Technisch funktioniert das Blocken von yt-dlp über eine JavaScript-Challenge, die künftig einen Browser oder Client mit vollwertiger JavaScript-Engine erfordert. Der bisher in yt-dlp integrierte rudimentäre JavaScript-Interpreter genügt dafür nicht mehr. Die aktuelle Version yt-dlp 2025.11.12 kann nun jedoch Deno und andere JS-Runtimes einbinden. Für Anwender entsteht daraus kein großer Aufwand:
### Ohne Deno gibt yt-dlp eine Warnung aus...
$ yt-dlp https://www.youtube.com/watch?v=dQw4w9WgXcQ
[...]
WARNING: [youtube] No supported JavaScript runtime could be found. YouTube extraction without a JS runtime has been deprecated, and some formats may be missing. See https://github.com/yt-dlp/yt-dlp/wiki/EJS for details on installing one. To silence this warning, you can use --extractor-args "youtube:player_client=default"
[...]
WARNING: [youtube] dQw4w9WgXcQ: Some web_safari client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details
[youtube] dQw4w9WgXcQ: Downloading m3u8 information
WARNING: [youtube] dQw4w9WgXcQ: Some web client https formats have been skipped as they are missing a url. YouTube is forcing SABR streaming for this client. See https://github.com/yt-dlp/yt-dlp/issues/12482 for more details
[info] dQw4w9WgXcQ: Downloading 1 format(s): 401+251
[...]
### Installation von Deno über die Paketverwaltung...
$ sudo pacman -S deno
### Deno löst die JS-Challenge erfolgreich...
$ yt-dlp https://www.youtube.com/watch?v=dQw4w9WgXcQ
[youtube] Extracting URL: https://www.youtube.com/watch?v=dQw4w9WgXcQ
[...]
[youtube] [jsc:deno] Solving JS challenges using deno
[...]
[download] Destination: Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster) [dQw4w9WgXcQ].f251.webm
[download] 100% of 3.27MiB in 00:00:00 at 9.59MiB/s
[Merger] Merging formats into "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster) [dQw4w9WgXcQ].webm"
Deleting original file Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster) [dQw4w9WgXcQ].f251.webm (pass -k to keep)
Deleting original file Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster) [dQw4w9WgXcQ].f401.mp4 (pass -k to keep)
Derzeitige Situation und Ausblick
In Zukunft werden Paketbetreuer Deno mit hoher Wahrscheinlichkeit automatisch als Abhängigkeit von yt-dlp mitinstallieren. Unter Arch Linux ist das jedoch noch nicht der Fall – hier muss das Paket weiterhin manuell nachgerüstet werden, was sich über Pacman schnell erledigen lässt: Es genügt ein pacman -S deno. Man verliert dadurch lediglich rund 100 MByte Speicherplatz. Bei Ubuntu aber scheint Deno noch nicht in den Paketquellen zu sein.
Derzeit funktionieren viele Downloads zwar noch ohne Deno oder eine andere vollwertige JavaScript-Engine, doch Google wird die Schrauben mit Sicherheit weiter anziehen. Je strenger die technischen Hürden ausfallen, desto unzuverlässiger werden die bisherigen Workarounds arbeiten, bis sie schließlich komplett ausfallen. Mittelfristig ist daher davon auszugehen, dass Downloads von YouTube-Videos mit yt-dlp ohne Deno nicht mehr möglich sein werden.

PS: Wer sich wundert, wie man in einem Terminalfenster Videos abspielen und Bilder ansehen kann, sollte sich mal mplayer mit der libcaca sowie den Bildbetrachter jp2a ansehen. Beide Tools finden sich in den Paketquellen von Arch und sicher auch bei anderen Distributionen. Sie zählen sicherlich zu den kleinen Freuden des Linux-Alltags – aber was wäre die Linux-Welt ohne ein bisschen nerdiges Zeug?
$ mplayer -really-quiet -vo caca video.webm
$ jp2a --colors bild.png











Arch Linux: yt-dlp → yt-dlp-ejs → deno
Ah cool, das Paket hatte ich nicht gesehen.