[youtube] extract width and height from fmt_list
authorremitamine <remitamine@gmail.com>
Wed, 2 Mar 2016 13:23:17 +0000 (14:23 +0100)
committerremitamine <remitamine@gmail.com>
Wed, 2 Mar 2016 15:05:05 +0000 (16:05 +0100)
youtube_dl/extractor/youtube.py

index ba339b67dcdc15c36e818b0a923934afebe577ae..56e6bd096193ba3902b51d4b98fb0f3be535f9e1 100644 (file)
@@ -1399,6 +1399,16 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
             encoded_url_map = video_info.get('url_encoded_fmt_stream_map', [''])[0] + ',' + video_info.get('adaptive_fmts', [''])[0]
             if 'rtmpe%3Dyes' in encoded_url_map:
                 raise ExtractorError('rtmpe downloads are not supported, see https://github.com/rg3/youtube-dl/issues/343 for more information.', expected=True)
+            fmt_list = video_info.get('fmt_list', [''])[0]
+            if fmt_list:
+                for fmt in fmt_list.split(','):
+                    spec = fmt.split('/')
+                    width, height = spec[1].split('x')
+                    self._formats[spec[0]].update({
+                        'resolution': spec[1],
+                        'width': int_or_none(width),
+                        'height': int_or_none(height),
+                    })
             formats = []
             for url_data_str in encoded_url_map.split(','):
                 url_data = compat_parse_qs(url_data_str)