summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJaime Marquínez Ferrándiz <[email protected]>2013-06-24 21:19:04 +0200
committerJaime Marquínez Ferrándiz <[email protected]>2013-06-24 21:25:12 +0200
commit7ce7e3947600bfb4b8b84e00c02aabc91b5ed0ae (patch)
tree49211a3bbed14b3af0c0d3e0b64fb436e76b3be4
parent93eb15c573ea8071e247cb513e76d5332417752d (diff)
downloadyoutube-dl-7ce7e3947600bfb4b8b84e00c02aabc91b5ed0ae.tar.gz
youtube-dl-7ce7e3947600bfb4b8b84e00c02aabc91b5ed0ae.zip
YoutubeIE: Extend decryption of signatures to all videos that have the 's' field in the url_encoded_fmt_stream_map (related #920)
-rw-r--r--youtube_dl/extractor/youtube.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py
index 35b95fdc2..b34c1a7b9 100644
--- a/youtube_dl/extractor/youtube.py
+++ b/youtube_dl/extractor/youtube.py
@@ -486,9 +486,11 @@ class YoutubeIE(InfoExtractor):
mobj = re.search(r';ytplayer.config = ({.*?});', video_webpage)
info = json.loads(mobj.group(1))
args = info['args']
- if args.get('ptk','') == 'vevo' or 'dashmpd' in args:
- # Vevo videos with encrypted signatures
- self.to_screen(u'%s: Vevo video detected.' % video_id)
+ # Easy way to know if the 's' value is in url_encoded_fmt_stream_map
+ # this signatures are encrypted
+ m_s = re.search(r'[&,]s=', args['url_encoded_fmt_stream_map'])
+ if m_s is not None:
+ self.to_screen(u'%s: Encrypted signatures detected.' % video_id)
video_info['url_encoded_fmt_stream_map'] = [args['url_encoded_fmt_stream_map']]
except ValueError:
pass