[vgtv] Improve HLS formats extraction

This commit is contained in:
Sergey M․ 2018-06-18 23:15:38 +07:00
parent 721a877d2f
commit 713afa705c
No known key found for this signature in database
GPG key ID: 2C393E0F18A9236D

View file

@ -183,13 +183,15 @@ def _real_extract(self, url):
streams = data['streamUrls'] streams = data['streamUrls']
stream_type = data.get('streamType') stream_type = data.get('streamType')
is_live = stream_type == 'live'
formats = [] formats = []
hls_url = streams.get('hls') hls_url = streams.get('hls')
if hls_url: if hls_url:
formats.extend(self._extract_m3u8_formats( formats.extend(self._extract_m3u8_formats(
hls_url, video_id, 'mp4', m3u8_id='hls', fatal=False)) hls_url, video_id, 'mp4',
entry_protocol='m3u8' if is_live else 'm3u8_native',
m3u8_id='hls', fatal=False))
hds_url = streams.get('hds') hds_url = streams.get('hds')
if hds_url: if hds_url:
@ -234,13 +236,13 @@ def _real_extract(self, url):
info.update({ info.update({
'id': video_id, 'id': video_id,
'title': self._live_title(data['title']) if stream_type == 'live' else data['title'], 'title': self._live_title(data['title']) if is_live else data['title'],
'description': data['description'], 'description': data['description'],
'thumbnail': data['images']['main'] + '?t[]=900x506q80', 'thumbnail': data['images']['main'] + '?t[]=900x506q80',
'timestamp': data['published'], 'timestamp': data['published'],
'duration': float_or_none(data['duration'], 1000), 'duration': float_or_none(data['duration'], 1000),
'view_count': data['displays'], 'view_count': data['displays'],
'is_live': True if stream_type == 'live' else False, 'is_live': is_live,
}) })
return info return info