From 422b1b31cf398d60b4606fa57be8e39c1181932f Mon Sep 17 00:00:00 2001 From: dirkf Date: Fri, 7 Mar 2025 20:00:58 +0000 Subject: [PATCH] [YouTube] Temporarily redirect from tce-style player JS --- youtube_dl/extractor/youtube.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 5f8c08201..9e200105e 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -1607,9 +1607,16 @@ class YoutubeIE(YoutubeBaseInfoExtractor): webpage or '', 'player URL', fatal=False) if player_url: ytcfgs = ytcfgs + ({'PLAYER_JS_URL': player_url},) - return traverse_obj( + player_url = traverse_obj( ytcfgs, (Ellipsis, 'PLAYER_JS_URL'), (Ellipsis, 'WEB_PLAYER_CONTEXT_CONFIGS', Ellipsis, 'jsUrl'), get_all=False, expected_type=lambda u: urljoin('https://www.youtube.com', u)) + nplayer_url, is_tce = re.subn(r'(?<=/player_ias)_tce(?=\.vflset/)', '', player_url or '') + if is_tce: + # TODO: Add proper support for the 'tce' variant players + # See https://github.com/yt-dlp/yt-dlp/issues/12398 + self.write_debug('Modifying tce player URL: {0}'.format(player_url)) + return nplayer_url + return player_url def _download_player_url(self, video_id, fatal=False): res = self._download_webpage(