commit: 7ce7e3947600bfb4b8b84e00c02aabc91b5ed0ae
parent 93eb15c573ea8071e247cb513e76d5332417752d
Author: Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Date: Mon, 24 Jun 2013 21:19:04 +0200
YoutubeIE: Extend decryption of signatures to all videos that have the 's' field in the url_encoded_fmt_stream_map (related #920)
Diffstat:
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git 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