fix: install Node.js and use web client for YouTube n-challenge solving

- ios player client doesn't support cookies, switch to web
- Node.js is required for yt-dlp to solve YouTube's n-challenge;
  without it only image formats are served
This commit is contained in:
Julien Calixte
2026-03-23 22:44:44 +01:00
parent 149a6a3cdd
commit c5c0f21fbf
2 changed files with 2 additions and 1 deletions

View File

@@ -3,6 +3,7 @@ FROM python:3.11-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
ffmpeg \
curl \
nodejs \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app

View File

@@ -47,7 +47,7 @@ async def extract_audio(url: str) -> Path:
"--audio-format", "mp3",
"--audio-quality", "128K",
"--format", "bestaudio/best/b",
"--extractor-args", "youtube:player_client=ios,web",
"--extractor-args", "youtube:player_client=web",
"--output", outtmpl,
]