[ie/youtube] Add context to rate limit error

This commit is contained in:
coletdjnz 2025-04-21 11:34:06 +12:00
parent 88eb1e7a9a
commit 3a40234c45
No known key found for this signature in database
GPG Key ID: 91984263BB39894A

View File

@ -3648,6 +3648,13 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
reason = f'{remove_end(reason.strip(), ".")}. {self._youtube_login_hint}'
elif get_first(playability_statuses, ('errorScreen', 'playerCaptchaViewModel', {dict})):
reason += '. YouTube is requiring a captcha challenge before playback'
elif "This content isn't available, try again later" in reason:
reason = (
f'{remove_end(reason.strip(), ".")}. {"Your account" if self.is_authenticated else "The current session"} has been rate-limited by YouTube for up to an hour.'
'It is recommended to use `-t sleep` to add a delay between downloads to avoid hitting the rate limit. '
'For more information, refer to https://github.com/yt-dlp/yt-dlp/wiki/Extractors#this-content-isnt-available-try-again-later .'
)
self.raise_no_formats(reason, expected=True)
keywords = get_first(video_details, 'keywords', expected_type=list) or []