diff options
| -rw-r--r-- | youtube_dl/extractor/crunchyroll.py | 18 | 
1 files changed, 13 insertions, 5 deletions
| diff --git a/youtube_dl/extractor/crunchyroll.py b/youtube_dl/extractor/crunchyroll.py index c2162aa68..ce123482e 100644 --- a/youtube_dl/extractor/crunchyroll.py +++ b/youtube_dl/extractor/crunchyroll.py @@ -20,9 +20,11 @@ from ..utils import (      ExtractorError,      bytes_to_intlist,      intlist_to_bytes, +    int_or_none,      remove_end,      unified_strdate,      urlencode_postdata, +    xpath_text,  )  from ..aes import (      aes_cbc_decrypt, @@ -286,6 +288,13 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text              stream_info = streamdata.find('./{default}preload/stream_info')              video_url = stream_info.find('./host').text              video_play_path = stream_info.find('./file').text +            metadata = stream_info.find('./metadata') +            format_info = { +                'format': video_format, +                'format_id': video_format, +                'height': int_or_none(xpath_text(metadata, './height')), +                'width': int_or_none(xpath_text(metadata, './width')), +            }              if '.fplive.net/' in video_url:                  video_url = re.sub(r'^rtmpe?://', 'http://', video_url.strip()) @@ -294,19 +303,18 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text                      netloc='v.lvlt.crcdn.net',                      path='%s/%s' % (remove_end(parsed_video_url.path, '/'), video_play_path.split(':')[-1])))                  if self._is_valid_url(direct_video_url, video_id, video_format): -                    formats.append({ +                    format_info.update({                          'url': direct_video_url, -                        'format_id': video_format,                      }) +                    formats.append(format_info)                      continue -            formats.append({ +            format_info.update({                  'url': video_url,                  'play_path': video_play_path,                  'ext': 'flv', -                'format': video_format, -                'format_id': video_format,              }) +            formats.append(format_info)          subtitles = self.extract_subtitles(video_id, webpage) | 
