[viki] Override m3u8 formats acodec
authorSergey M․ <dstftw@gmail.com>
Sun, 17 Jul 2016 11:10:16 +0000 (18:10 +0700)
committerSergey M․ <dstftw@gmail.com>
Sun, 17 Jul 2016 11:10:16 +0000 (18:10 +0700)
youtube_dl/extractor/viki.py

index efa15e0b633f56dc24c15eeb4e63889cbb084ab3..fe2bb9df4f45ff89f6dd7531cadb7b0b1e0a56cd 100644 (file)
@@ -281,9 +281,16 @@ class VikiIE(VikiBaseIE):
                 r'^(\d+)[pP]$', format_id, 'height', default=None))
             for protocol, format_dict in stream_dict.items():
                 if format_id == 'm3u8':
-                    formats.extend(self._extract_m3u8_formats(
-                        format_dict['url'], video_id, 'mp4', 'm3u8_native',
-                        m3u8_id='m3u8-%s' % protocol, fatal=False))
+                    m3u8_formats = self._extract_m3u8_formats(
+                        format_dict['url'], video_id, 'mp4',
+                        entry_protocol='m3u8_native',
+                        m3u8_id='m3u8-%s' % protocol, fatal=False)
+                    # Despite CODECS metadata in m3u8 all video-only formats
+                    # are actually video+audio
+                    for f in m3u8_formats:
+                        if f.get('acodec') == 'none' and f.get('vcodec') != 'none':
+                            f['acodec'] = None
+                    formats.extend(m3u8_formats)
                 else:
                     formats.append({
                         'url': format_dict['url'],