perf: use iOS player client and increase metadata gap to reduce throttling

YouTube has been aggressively throttling the default web client.
The iOS client bypasses PO-token requirements and gets less aggressive
rate limiting from Google's side.

- Add --extractor-args youtube:player_client=ios to all yt-dlp calls:
  fetch_video_metadata, fetch_channel_metadata, search_youtube,
  fetch_available_subs, download_subs_only, fetch_video_comments,
  popular fetch flat-playlist crawl, and start_download
- Increase _META_MIN_GAP from 5s to 12s between metadata calls
- Widen jitter from ±2.5s to ±5s for less predictable request timing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 03:46:54 +02:00
parent 8a5108425b
commit 8dcbad6e70
2 changed files with 11 additions and 4 deletions

View File

@@ -743,6 +743,7 @@ def _fetch_popular_task(channel_id: int, youtube_channel_id: str, channel_name:
"yt-dlp", url,
"--dump-json", "--flat-playlist",
"--quiet",
"--extractor-args", "youtube:player_client=ios",
*ytdlp._cookie_args(),
], timeout=120)