From 7ce7e3947600bfb4b8b84e00c02aabc91b5ed0ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Marqui=CC=81nez=20Ferra=CC=81ndiz?= Date: Mon, 24 Jun 2013 21:19:04 +0200 Subject: [PATCH] YoutubeIE: Extend decryption of signatures to all videos that have the 's' field in the url_encoded_fmt_stream_map (related #920) --- youtube_dl/extractor/youtube.py | 8 +++++--- 1 file 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