diff options
author | dirkf <fieldhouse@gmx.net> | 2025-09-28 07:03:16 +0100 |
---|---|---|
committer | dirkf <fieldhouse@gmx.net> | 2025-09-29 02:15:05 +0100 |
commit | f2a774cb9d661b1f19df4ee0e91f402a15c4d413 (patch) | |
tree | 404b99995053c2c97d05b9a3718a99eee859f26f | |
parent | 92680b127f933e35327e071de2b4a5f2d67ec661 (diff) |
[YouTube] Fix subtitles extraction
From yt-dlp/yt-dlp#13659, thx bashonly
-rw-r--r-- | youtube_dl/extractor/youtube.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 1aca69b93..1228dc8a3 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -2668,7 +2668,12 @@ class YoutubeIE(YoutubeBaseInfoExtractor): self.raise_geo_restricted( subreason, countries) reason += '\n' + subreason + if reason: + if 'sign in' in reason.lower(): + self.raise_login_required(remove_end(reason, 'This helps protect our community. Learn more')) + elif traverse_obj(playability_status, ('errorScreen', 'playerCaptchaViewModel', T(dict))): + reason += '. YouTube is requiring a captcha challenge before playback' raise ExtractorError(reason, expected=True) self._sort_formats(formats) @@ -2771,6 +2776,9 @@ class YoutubeIE(YoutubeBaseInfoExtractor): for fmt in self._SUBTITLE_FORMATS: query.update({ 'fmt': fmt, + # xosf=1 causes undesirable text position data for vtt, json3 & srv* subtitles + # See: https://github.com/yt-dlp/yt-dlp/issues/13654 + 'xosf': [] }) lang_subs.append({ 'ext': fmt, |