Fix quality: drop unsupported tv_embedded player client override

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 <noreply@anthropic.com>
This commit is contained in:
2026-05-26 20:14:23 +02:00
parent e9140ab6a1
commit b41412071a

View File

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