[anvato] Process master m3u8 manifests
authorSergey M․ <dstftw@gmail.com>
Sat, 14 Oct 2017 18:44:57 +0000 (01:44 +0700)
committerSergey M․ <dstftw@gmail.com>
Sat, 14 Oct 2017 18:44:57 +0000 (01:44 +0700)
>>> Individual m3u8 manifests are not always present, e.g. anvato:anvato_scripps_app_web_prod_0837996dbe373629133857ae9eb72e740424d80a:4173834

youtube_dl/extractor/anvato.py

index 8023da70236599e1777172ac416a8ad828a6ec0c..e443ecff6e2c40d2cc35f07693d156fc979c38aa 100644 (file)
@@ -197,12 +197,16 @@ class AnvatoIE(InfoExtractor):
                 'tbr': tbr if tbr != 0 else None,
             }
 
-            if ext == 'm3u8' or media_format in ('m3u8', 'm3u8-variant'):
-                if tbr is not None:
-                    a_format.update({
-                        'format_id': '-'.join(filter(None, ['hls', compat_str(tbr)])),
-                        'ext': 'mp4',
-                    })
+            if media_format == 'm3u8' and tbr is not None:
+                a_format.update({
+                    'format_id': '-'.join(filter(None, ['hls', compat_str(tbr)])),
+                    'ext': 'mp4',
+                })
+            elif media_format == 'm3u8-variant' or ext == 'm3u8':
+                formats.extend(self._extract_m3u8_formats(
+                    video_url, video_id, 'mp4', entry_protocol='m3u8_native',
+                    m3u8_id='hls', fatal=False))
+                continue
             elif ext == 'mp3' or media_format == 'mp3':
                 a_format['vcodec'] = 'none'
             else: