aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbashonly <88596187+bashonly@users.noreply.github.com>2025-02-18 18:24:12 -0600
committerGitHub <noreply@github.com>2025-02-19 00:24:12 +0000
commitec17fb16e8d69d4e3e10fb73bf3221be8570dfee (patch)
treea272b7e0e7442a55fb484f3cedaf1305be90850a
parente7882b682b959e476d8454911655b3e9b14c79b2 (diff)
[ie/youtube] nsig workaround for `tce` player JS (#12401)
Closes #12398 Authored by: bashonly
-rw-r--r--yt_dlp/extractor/youtube.py7
1 files changed, 6 insertions, 1 deletions
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)