fix(yt-dlp): remove buggy ios,tv player client spoofing

YouTube seems to have enforced DRM checks specifically for the ios,tv player clients, which caused yt-dlp to return 'This video is DRM protected' for all standard videos when using that extractor arg. Removing the arg allows yt-dlp to fallback to web/android which still bypasses bot detection successfully.
This commit is contained in:
NimBold
2026-06-15 19:10:55 +03:30
parent e2744526d8
commit ea6ede8a7f
+1 -3
View File
@@ -190,8 +190,7 @@ async fn fetch_media_metadata(app_handle: tauri::AppHandle, url: String, cookie_
.arg("--retries").arg("3")
.arg("--extractor-retries").arg("3")
.arg("--compat-options").arg("no-youtube-unavailable-videos")
.arg("--js-runtimes").arg(format!("deno:{},node", deno_path.display()))
.arg("--extractor-args").arg("youtube:player_client=ios,tv");
.arg("--js-runtimes").arg(format!("deno:{},node", deno_path.display()));
if let Some(browser) = cookie_browser {
if !browser.is_empty() {
@@ -838,7 +837,6 @@ pub(crate) async fn start_media_download_internal(
.arg("--no-warnings")
.arg("--compat-options").arg("no-youtube-unavailable-videos")
.arg("--js-runtimes").arg(format!("deno:{},node", deno_path.display()))
.arg("--extractor-args").arg("youtube:player_client=ios,tv")
.arg("--progress-template").arg("download:[%(progress.downloaded_bytes)s/%(progress.total_bytes)s]")
.arg("-o").arg(out_path.to_string_lossy().to_string());