Install Node.js via nodeenv (pip); use web client

nodeenv is a Python package that downloads a pre-built Node.js binary —
no apt repos, no compilation, guaranteed to work in python:3.12-slim.
The 'node' binary is linked into /usr/local/bin so yt-dlp can find it.

With Node.js available the web client works fully (37 formats) and can
solve YouTube's n-challenge that every other approach was failing on.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Mattias Tall
2026-05-26 10:16:10 +02:00
parent 53ea64ee8a
commit 050caead54
3 changed files with 10 additions and 3 deletions

View File

@@ -247,7 +247,7 @@ def ytdlp_test(
"yt-dlp",
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"--dump-json", "--no-download", "--no-playlist",
"--extractor-args", "youtube:player_client=web_embedded",
"--extractor-args", "youtube:player_client=web",
*cookie_args,
],
capture_output=True, text=True, timeout=30,