Switch to android_vr player client — no Node.js required

android_vr provides pre-signed format URLs that bypass YouTube's
n-challenge and signature JS requirements entirely. Tested: 23 video
formats available without any JavaScript runtime installed.

Reverts Node.js Dockerfile addition (which failed to build anyway).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Mattias Tall
2026-05-26 10:10:58 +02:00
parent a006bf08bc
commit b58dc26bd4
3 changed files with 4 additions and 6 deletions

View File

@@ -216,7 +216,7 @@ def fetch_video_metadata(video_id: str) -> dict | None:
base_cmd = [
"yt-dlp", url,
"--dump-json", "--no-download", "--no-playlist",
"--extractor-args", "youtube:player_client=web",
"--extractor-args", "youtube:player_client=android_vr",
]
stdout, stderr, code = _run([*base_cmd, *cookie_args], timeout=30)
if code != 0:
@@ -567,7 +567,7 @@ def start_download(
"--no-part", "--no-mtime",
"-o", output_template,
"--newline", "--progress", "--no-colors",
"--extractor-args", "youtube:player_client=web",
"--extractor-args", "youtube:player_client=android_vr",
*cookie_args,
],
stdout=subprocess.PIPE,