diff --git a/yt_dlp/extractor/youtube.py b/yt_dlp/extractor/youtube.py index 738ade1b0..cf8f6ef39 100644 --- a/yt_dlp/extractor/youtube.py +++ b/yt_dlp/extractor/youtube.py @@ -3135,6 +3135,11 @@ class YoutubeIE(YoutubeBaseInfoExtractor): get_all=False, expected_type=str) if not player_url: return + # TODO: Add proper support for the 'tce' variant players + # See https://github.com/yt-dlp/yt-dlp/issues/12398 + if '/player_ias_tce.vflset/' in player_url: + self.write_debug(f'Modifying tce player URL: {player_url}') + player_url = player_url.replace('/player_ias_tce.vflset/', '/player_ias.vflset/') return urljoin('https://www.youtube.com', player_url) def _download_player_url(self, video_id, fatal=False): @@ -3369,7 +3374,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): def _extract_n_function_code(self, video_id, player_url): player_id = self._extract_player_info(player_url) - func_code = self.cache.load('youtube-nsig', player_id, min_ver='2024.07.09') + func_code = self.cache.load('youtube-nsig', player_id, min_ver='2025.02.19') jscode = func_code or self._load_player(video_id, player_url) jsi = JSInterpreter(jscode)