mirror of
https://github.com/ytdl-org/youtube-dl
synced 2025-12-05 02:54:45 +00:00
[YouTube] Add further InnerTube clients
FWIW: android-sdkless, tv_downgraded, web_creator Thx yt-dlp passim
This commit is contained in:
parent
c55ace3c50
commit
a1e2c7d90b
@ -90,6 +90,21 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
|
|||||||
|
|
||||||
# priority order for now
|
# priority order for now
|
||||||
_INNERTUBE_CLIENTS = o_dict((
|
_INNERTUBE_CLIENTS = o_dict((
|
||||||
|
# Doesn't require a PoToken for some reason: thx yt-dlp/yt-dlp#14693
|
||||||
|
('android_sdkless', {
|
||||||
|
'INNERTUBE_CONTEXT': {
|
||||||
|
'client': {
|
||||||
|
'clientName': 'ANDROID',
|
||||||
|
'clientVersion': '20.10.38',
|
||||||
|
'userAgent': 'com.google.android.youtube/20.10.38 (Linux; U; Android 11) gzip',
|
||||||
|
'osName': 'Android',
|
||||||
|
'osVersion': '11',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'INNERTUBE_CONTEXT_CLIENT_NAME': 3,
|
||||||
|
'REQUIRE_JS_PLAYER': False,
|
||||||
|
'WITH_COOKIES': False,
|
||||||
|
}),
|
||||||
('ios', {
|
('ios', {
|
||||||
'INNERTUBE_CONTEXT': {
|
'INNERTUBE_CONTEXT': {
|
||||||
'client': {
|
'client': {
|
||||||
@ -120,6 +135,16 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
|
|||||||
},
|
},
|
||||||
'INNERTUBE_CONTEXT_CLIENT_NAME': 2,
|
'INNERTUBE_CONTEXT_CLIENT_NAME': 2,
|
||||||
'REQUIRE_PO_TOKEN': True,
|
'REQUIRE_PO_TOKEN': True,
|
||||||
|
}),
|
||||||
|
('tv_downgraded', {
|
||||||
|
'INNERTUBE_CONTEXT': {
|
||||||
|
'client': {
|
||||||
|
'clientName': 'TVHTML5',
|
||||||
|
'clientVersion': '4', # avoids SABR formats, thx yt-dlp/yt-dlp#14887
|
||||||
|
'userAgent': 'Mozilla/5.0 (ChromiumStylePlatform) Cobalt/Version',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'INNERTUBE_CONTEXT_CLIENT_NAME': 7,
|
||||||
'SUPPORTS_COOKIES': True,
|
'SUPPORTS_COOKIES': True,
|
||||||
}),
|
}),
|
||||||
('tv', {
|
('tv', {
|
||||||
@ -168,6 +193,19 @@ class YoutubeBaseInfoExtractor(InfoExtractor):
|
|||||||
'SUPPORTS_COOKIES': True,
|
'SUPPORTS_COOKIES': True,
|
||||||
'REQUIRE_PO': True,
|
'REQUIRE_PO': True,
|
||||||
}),
|
}),
|
||||||
|
# This client now requires sign-in for every video
|
||||||
|
('web_creator', {
|
||||||
|
'INNERTUBE_CONTEXT': {
|
||||||
|
'client': {
|
||||||
|
'clientName': 'WEB_CREATOR',
|
||||||
|
'clientVersion': '1.20250922.03.00',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'INNERTUBE_CONTEXT_CLIENT_NAME': 62,
|
||||||
|
'REQUIRE_AUTH': True,
|
||||||
|
'SUPPORTS_COOKIES': True,
|
||||||
|
'WITH_COOKIES': True,
|
||||||
|
}),
|
||||||
))
|
))
|
||||||
|
|
||||||
def _login(self):
|
def _login(self):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user