From b41412071afac7cc394295f5f2fd13cfd344ba47 Mon Sep 17 00:00:00 2001 From: Mattias Thall Date: Tue, 26 May 2026 20:14:23 +0200 Subject: [PATCH] Fix quality: drop unsupported tv_embedded player client override MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit yt-dlp 2026.03.17 dropped support for tv_embedded — it silently skips it and falls back to web-only, which only exposes the pre-merged 360p format (ID 18). The override was added to avoid SABR restrictions but is now the cause of the low-quality downloads. Removing --extractor-args restores yt-dlp's default client selection (android_vr + web fallback) which exposes all formats up to 2160p. Co-Authored-By: Claude Sonnet 4.6 --- backend/services/ytdlp.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/backend/services/ytdlp.py b/backend/services/ytdlp.py index 8cf15b5..03ed2d5 100644 --- a/backend/services/ytdlp.py +++ b/backend/services/ytdlp.py @@ -232,7 +232,6 @@ 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=tv_embedded,web", ] stdout, stderr, code = _run([*base_cmd, *cookie_args], timeout=30) if code != 0: @@ -648,7 +647,6 @@ def start_download( "--no-part", "--no-mtime", "-o", output_template, "--newline", "--progress", "--no-colors", - "--extractor-args", "youtube:player_client=tv_embedded,web", *cookie_args, ], stdout=subprocess.PIPE,