[vgtv] Improve HLS formats extraction
authorSergey M․ <dstftw@gmail.com>
Mon, 18 Jun 2018 16:15:38 +0000 (23:15 +0700)
committerSergey M․ <dstftw@gmail.com>
Mon, 18 Jun 2018 16:15:38 +0000 (23:15 +0700)
youtube_dl/extractor/vgtv.py

index d430e2944350751ab20de498c7ce9a270f0795ef..fe7a26b620deeff53a5443beea96e109f7685dc8 100644 (file)
@@ -183,13 +183,15 @@ class VGTVIE(XstreamIE):
 
         streams = data['streamUrls']
         stream_type = data.get('streamType')
-
+        is_live = stream_type == 'live'
         formats = []
 
         hls_url = streams.get('hls')
         if hls_url:
             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')
         if hds_url:
@@ -234,13 +236,13 @@ class VGTVIE(XstreamIE):
 
         info.update({
             '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'],
             'thumbnail': data['images']['main'] + '?t[]=900x506q80',
             'timestamp': data['published'],
             'duration': float_or_none(data['duration'], 1000),
             'view_count': data['displays'],
-            'is_live': True if stream_type == 'live' else False,
+            'is_live': is_live,
         })
         return info