Skip to content

Commit 2b4fbfc

Browse files
committed
[YouTube] Support player 4fcd6e4a
thx seproDev, bashonly: yt-dlp/yt-dlp#12748
1 parent 1bc45b8 commit 2b4fbfc

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

test/test_youtube_signature.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,11 @@
9494
'2aq0aqSyOoJXtK73m-uME_jv7-pT15gOFC02RFkGMqWpzEICs69VdbwQ0LDp1v7j8xx92efCJlYFYb1sUkkBSPOlPmXgIARw8JQ0qOAOAA',
9595
'0aqSyOoJXtK73m-uME_jv7-pT15gOFC02RFkGMqWpz2ICs6EVdbwQ0LDp1v7j8xx92efCJlYFYb1sUkkBSPOlPmXgIARw8JQ0qOAOAA',
9696
),
97+
(
98+
'https://www.youtube.com/s/player/4fcd6e4a/player_ias.vflset/en_US/base.js',
99+
'2aq0aqSyOoJXtK73m-uME_jv7-pT15gOFC02RFkGMqWpzEICs69VdbwQ0LDp1v7j8xx92efCJlYFYb1sUkkBSPOlPmXgIARw8JQ0qOAOAA',
100+
'wAOAOq0QJ8ARAIgXmPlOPSBkkUs1bYFYlJCfe29xx8q7v1pDL0QwbdV96sCIEzpWqMGkFR20CFOg51Tp-7vj_EMu-m37KtXJoOySqa0',
101+
),
97102
]
98103

99104
_NSIG_TESTS = [
@@ -273,6 +278,14 @@
273278
'https://www.youtube.com/s/player/363db69b/player_ias.vflset/en_US/base.js',
274279
'eWYu5d5YeY_4LyEDc', 'XJQqf-N7Xra3gg',
275280
),
281+
(
282+
'https://www.youtube.com/s/player/4fcd6e4a/player_ias.vflset/en_US/base.js',
283+
'o_L251jm8yhZkWtBW', 'lXoxI3XvToqn6A',
284+
),
285+
(
286+
'https://www.youtube.com/s/player/4fcd6e4a/tv-player-ias.vflset/tv-player-ias.js',
287+
'o_L251jm8yhZkWtBW', 'lXoxI3XvToqn6A',
288+
),
276289
]
277290

278291

youtube_dl/extractor/youtube.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1711,8 +1711,13 @@ def _genslice(start, end, step):
17111711

17121712
def _extract_sig_fn(self, jsi, funcname):
17131713
var_ay = self._search_regex(
1714-
r'''(?:\*/|\{|\n|^)\s*(?:'[^']+'\s*;\s*)(var\s*[\w$]+\s*=\s*('|")(?:\\\2|(?!\2).)+\2\s*\.\s*split\(('|")\W+\3\))(?=\s*[,;])''',
1715-
jsi.code, 'useful values', default='')
1714+
r'''(?x)
1715+
(?:\*/|\{|\n|^)\s*(?:'[^']+'\s*;\s*)
1716+
(var\s*[\w$]+\s*=\s*(?:
1717+
('|")(?:\\\2|(?!\2).)+\2\s*\.\s*split\(\s*('|")\W+\3\s*\)|
1718+
\[\s*(?:('|")(?:\\\4|(?!\4).)*\4\s*(?:(?=\])|,\s*))+\]
1719+
))(?=\s*[,;])
1720+
''', jsi.code, 'useful values', default='')
17161721

17171722
sig_fn = jsi.extract_function_code(funcname)
17181723

0 commit comments

Comments
 (0)