|
|
|
@ -96,13 +96,33 @@ class HitboxIE(InfoExtractor):
|
|
|
|
|
'https://www.hitbox.tv/api/player/config/video/%s' % video_id,
|
|
|
|
|
video_id)
|
|
|
|
|
|
|
|
|
|
clip = player_config.get('clip')
|
|
|
|
|
video_url = clip.get('url')
|
|
|
|
|
res = clip.get('bitrates', [])[0].get('label')
|
|
|
|
|
formats = []
|
|
|
|
|
for video in player_config['clip']['bitrates']:
|
|
|
|
|
label = video.get('label')
|
|
|
|
|
if label == 'Auto':
|
|
|
|
|
continue
|
|
|
|
|
video_url = video.get('url')
|
|
|
|
|
if not video_url:
|
|
|
|
|
continue
|
|
|
|
|
bitrate = int_or_none(video.get('bitrate'))
|
|
|
|
|
if determine_ext(video_url) == 'm3u8':
|
|
|
|
|
if not video_url.startswith('http'):
|
|
|
|
|
continue
|
|
|
|
|
formats.append({
|
|
|
|
|
'url': video_url,
|
|
|
|
|
'ext': 'mp4',
|
|
|
|
|
'tbr': bitrate,
|
|
|
|
|
'format_note': label,
|
|
|
|
|
'protocol': 'm3u8_native',
|
|
|
|
|
})
|
|
|
|
|
else:
|
|
|
|
|
formats.append({
|
|
|
|
|
'url': video_url,
|
|
|
|
|
'tbr': bitrate,
|
|
|
|
|
'format_note': label,
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
metadata['resolution'] = res
|
|
|
|
|
metadata['url'] = video_url
|
|
|
|
|
metadata['protocol'] = 'm3u8'
|
|
|
|
|
metadata['formats'] = formats
|
|
|
|
|
|
|
|
|
|
return metadata
|
|
|
|
|
|
|
|
|
|