summary refs log tree commit diff
diff options
context:
space:
mode:
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2013-06-24 21:19:04 +0200
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>2013-06-24 21:25:12 +0200
commit7ce7e3947600bfb4b8b84e00c02aabc91b5ed0ae (patch)
tree49211a3bbed14b3af0c0d3e0b64fb436e76b3be4
parent93eb15c573ea8071e247cb513e76d5332417752d (diff)
downloadyoutube-dl-7ce7e3947600bfb4b8b84e00c02aabc91b5ed0ae.tar.gz
youtube-dl-7ce7e3947600bfb4b8b84e00c02aabc91b5ed0ae.tar.xz
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