mirror of
https://github.com/soimort/you-get.git
synced 2025-02-09 03:37:52 +03:00
[youtube] decipher -> s_to_sig
This commit is contained in:
parent
d0225b4f46
commit
0e004039ff
@ -68,7 +68,7 @@ class YouTube(VideoExtractor):
|
|||||||
'audio_encoding': 'AAC', 'audio_bitrate': '24'},
|
'audio_encoding': 'AAC', 'audio_bitrate': '24'},
|
||||||
]
|
]
|
||||||
|
|
||||||
def decipher(js, s):
|
def s_to_sig(js, s):
|
||||||
# Examples:
|
# Examples:
|
||||||
# - https://www.youtube.com/yts/jsbin/player-da_DK-vflWlK-zq/base.js
|
# - https://www.youtube.com/yts/jsbin/player-da_DK-vflWlK-zq/base.js
|
||||||
# - https://www.youtube.com/yts/jsbin/player-vflvABTsY/da_DK/base.js
|
# - https://www.youtube.com/yts/jsbin/player-vflvABTsY/da_DK/base.js
|
||||||
@ -490,13 +490,13 @@ class YouTube(VideoExtractor):
|
|||||||
if stream['type'].startswith('audio/mp4'):
|
if stream['type'].startswith('audio/mp4'):
|
||||||
dash_mp4_a_url = stream['url']
|
dash_mp4_a_url = stream['url']
|
||||||
if 's' in stream:
|
if 's' in stream:
|
||||||
sig = self.__class__.decipher(self.js, stream['s'])
|
sig = self.__class__.s_to_sig(self.js, stream['s'])
|
||||||
dash_mp4_a_url += '&sig={}'.format(sig)
|
dash_mp4_a_url += '&sig={}'.format(sig)
|
||||||
dash_mp4_a_size = stream['clen']
|
dash_mp4_a_size = stream['clen']
|
||||||
elif stream['type'].startswith('audio/webm'):
|
elif stream['type'].startswith('audio/webm'):
|
||||||
dash_webm_a_url = stream['url']
|
dash_webm_a_url = stream['url']
|
||||||
if 's' in stream:
|
if 's' in stream:
|
||||||
sig = self.__class__.decipher(self.js, stream['s'])
|
sig = self.__class__.s_to_sig(self.js, stream['s'])
|
||||||
dash_webm_a_url += '&sig={}'.format(sig)
|
dash_webm_a_url += '&sig={}'.format(sig)
|
||||||
dash_webm_a_size = stream['clen']
|
dash_webm_a_size = stream['clen']
|
||||||
for stream in streams: # video
|
for stream in streams: # video
|
||||||
@ -505,7 +505,7 @@ class YouTube(VideoExtractor):
|
|||||||
mimeType = 'video/mp4'
|
mimeType = 'video/mp4'
|
||||||
dash_url = stream['url']
|
dash_url = stream['url']
|
||||||
if 's' in stream:
|
if 's' in stream:
|
||||||
sig = self.__class__.decipher(self.js, stream['s'])
|
sig = self.__class__.s_to_sig(self.js, stream['s'])
|
||||||
dash_url += '&sig={}'.format(sig)
|
dash_url += '&sig={}'.format(sig)
|
||||||
dash_size = stream['clen']
|
dash_size = stream['clen']
|
||||||
itag = stream['itag']
|
itag = stream['itag']
|
||||||
@ -524,7 +524,7 @@ class YouTube(VideoExtractor):
|
|||||||
mimeType = 'video/webm'
|
mimeType = 'video/webm'
|
||||||
dash_url = stream['url']
|
dash_url = stream['url']
|
||||||
if 's' in stream:
|
if 's' in stream:
|
||||||
sig = self.__class__.decipher(self.js, stream['s'])
|
sig = self.__class__.s_to_sig(self.js, stream['s'])
|
||||||
dash_url += '&sig={}'.format(sig)
|
dash_url += '&sig={}'.format(sig)
|
||||||
dash_size = stream['clen']
|
dash_size = stream['clen']
|
||||||
itag = stream['itag']
|
itag = stream['itag']
|
||||||
@ -573,7 +573,7 @@ class YouTube(VideoExtractor):
|
|||||||
if not hasattr(self, 'js'):
|
if not hasattr(self, 'js'):
|
||||||
self.js = get_content(self.html5player)
|
self.js = get_content(self.html5player)
|
||||||
s = self.streams[stream_id]['s']
|
s = self.streams[stream_id]['s']
|
||||||
sig = self.__class__.decipher(self.js, s)
|
sig = self.__class__.s_to_sig(self.js, s)
|
||||||
src += '&sig={}'.format(sig)
|
src += '&sig={}'.format(sig)
|
||||||
|
|
||||||
self.streams[stream_id]['src'] = [src]
|
self.streams[stream_id]['src'] = [src]
|
||||||
|
Loading…
Reference in New Issue
Block a user