|
|
@ -271,7 +271,8 @@ INNERTUBE_CLIENTS = {
|
|
|
|
'INNERTUBE_CONTEXT': {
|
|
|
|
'INNERTUBE_CONTEXT': {
|
|
|
|
'client': {
|
|
|
|
'client': {
|
|
|
|
'clientName': 'TVHTML5',
|
|
|
|
'clientName': 'TVHTML5',
|
|
|
|
'clientVersion': '7.20241201.18.00',
|
|
|
|
'clientVersion': '7.20250120.19.00',
|
|
|
|
|
|
|
|
'userAgent': 'Mozilla/5.0 (ChromiumStylePlatform) Cobalt/Version',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
'INNERTUBE_CONTEXT_CLIENT_NAME': 7,
|
|
|
|
'INNERTUBE_CONTEXT_CLIENT_NAME': 7,
|
|
|
@ -853,11 +854,15 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
|
|
|
|
'web': 'https://www.youtube.com',
|
|
|
|
'web': 'https://www.youtube.com',
|
|
|
|
'web_music': 'https://music.youtube.com',
|
|
|
|
'web_music': 'https://music.youtube.com',
|
|
|
|
'web_embedded': f'https://www.youtube.com/embed/{video_id}?html5=1',
|
|
|
|
'web_embedded': f'https://www.youtube.com/embed/{video_id}?html5=1',
|
|
|
|
|
|
|
|
'tv': 'https://www.youtube.com/tv',
|
|
|
|
}.get(client)
|
|
|
|
}.get(client)
|
|
|
|
if not url:
|
|
|
|
if not url:
|
|
|
|
return {}
|
|
|
|
return {}
|
|
|
|
webpage = self._download_webpage(
|
|
|
|
webpage = self._download_webpage(
|
|
|
|
url, video_id, fatal=False, note=f'Downloading {client.replace("_", " ").strip()} client config')
|
|
|
|
url, video_id, fatal=False, note=f'Downloading {client.replace("_", " ").strip()} client config',
|
|
|
|
|
|
|
|
headers=traverse_obj(self._get_default_ytcfg(client), {
|
|
|
|
|
|
|
|
'User-Agent': ('INNERTUBE_CONTEXT', 'client', 'userAgent', {str}),
|
|
|
|
|
|
|
|
}))
|
|
|
|
return self.extract_ytcfg(video_id, webpage) or {}
|
|
|
|
return self.extract_ytcfg(video_id, webpage) or {}
|
|
|
|
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
@staticmethod
|
|
|
|