fix: yt-dlp'ye Node.js JS runtime + EJS solver ekle (n-challenge)

Gerçek capture denemesinde debug endpoint'i asıl nedeni gösterdi:
"n challenge solving failed" — YouTube'un imza çözme JS challenge'ı
için yt-dlp'nin bir JS runtime'ı yoktu, bu da formatların eksik
kalıp "page needs to be reloaded" ile sonuçlanmasına yol açıyordu.
node:22-slim zaten Node 22 içeriyor (minimum gereksinim); yt-dlp'yi
"yt-dlp[default]" (EJS solver dahil) olarak kurup capture çağrısına
--js-runtimes node eklendi. Lokal olarak doğrulandı: aynı video artık
formatları hatasız çözüyor.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-30 17:55:43 +03:00
co-authored by Claude Sonnet 5
parent 08569ce4ae
commit fd21bbfb14
2 changed files with 2 additions and 1 deletions
@@ -89,6 +89,7 @@ async function runCapture(job: Job<StreamIngestJob>): Promise<void> {
const ytdlp = spawn(
"yt-dlp",
[
"--js-runtimes", "node",
...ytdlpAntiBotArgs(),
"-f", "bestvideo+bestaudio/best", "-o", "-", youtubeUrl,
],