X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fhitbox.py;h=421f55bbeaed2c1249833e5136ff479557c1bccc;hb=a38436e8898b6eca29d9279346e6e2136ec0bc8f;hp=d7cd8bb7e6928c74786f20f3957eff0f94eb7a5c;hpb=bc94bd510bfb8a98f7456912f930c69c21bd6e15;p=youtube-dl diff --git a/youtube_dl/extractor/hitbox.py b/youtube_dl/extractor/hitbox.py index d7cd8bb7e..421f55bbe 100644 --- a/youtube_dl/extractor/hitbox.py +++ b/youtube_dl/extractor/hitbox.py @@ -43,7 +43,8 @@ class HitboxIE(InfoExtractor): def _extract_metadata(self, url, video_id): thumb_base = 'https://edge.sf.hitbox.tv' metadata = self._download_json( - '%s/%s' % (url, video_id), video_id) + '%s/%s' % (url, video_id), video_id, + 'Downloading metadata JSON') date = 'media_live_since' media_type = 'livestream' @@ -88,13 +89,9 @@ class HitboxIE(InfoExtractor): def _real_extract(self, url): video_id = self._match_id(url) - metadata = self._extract_metadata( - 'https://www.hitbox.tv/api/media/video', - video_id) - player_config = self._download_json( 'https://www.hitbox.tv/api/player/config/video/%s' % video_id, - video_id) + video_id, 'Downloading video JSON') formats = [] for video in player_config['clip']['bitrates']: @@ -121,7 +118,11 @@ class HitboxIE(InfoExtractor): 'tbr': bitrate, 'format_note': label, }) + self._sort_formats(formats) + metadata = self._extract_metadata( + 'https://www.hitbox.tv/api/media/video', + video_id) metadata['formats'] = formats return metadata @@ -150,10 +151,6 @@ class HitboxLiveIE(HitboxIE): def _real_extract(self, url): video_id = self._match_id(url) - metadata = self._extract_metadata( - 'https://www.hitbox.tv/api/media/live', - video_id) - player_config = self._download_json( 'https://www.hitbox.tv/api/player/config/live/%s' % video_id, video_id) @@ -194,9 +191,13 @@ class HitboxLiveIE(HitboxIE): 'page_url': url, 'player_url': 'http://www.hitbox.tv/static/player/flowplayer/flowplayer.commercial-3.2.16.swf', }) - self._sort_formats(formats) + + metadata = self._extract_metadata( + 'https://www.hitbox.tv/api/media/live', + video_id) metadata['formats'] = formats metadata['is_live'] = True metadata['title'] = self._live_title(metadata.get('title')) + return metadata