mirror of
https://github.com/nimbold/Firelink.git
synced 2026-07-26 12:08:27 +00:00
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:
@@ -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());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user