From edd6074ceac8b879382f9000cf8883b5e357776e Mon Sep 17 00:00:00 2001 From: Remita Amine Date: Wed, 19 Oct 2016 14:42:48 +0100 Subject: [PATCH] [extractor/common] detect f4m audio only formats --- youtube_dl/extractor/common.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 6aff71c48..0cbb97aae 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -1100,6 +1100,13 @@ def _parse_f4m_formats(self, manifest, manifest_url, video_id, preference=None, manifest, ['{http://ns.adobe.com/f4m/1.0}bootstrapInfo', '{http://ns.adobe.com/f4m/2.0}bootstrapInfo'], 'bootstrap info', default=None) + vcodec = None + mime_type = xpath_text( + manifest, ['{http://ns.adobe.com/f4m/1.0}mimeType', '{http://ns.adobe.com/f4m/2.0}mimeType'], + 'base URL', default=None) + if mime_type and mime_type.startswith('audio/'): + vcodec = 'none' + for i, media_el in enumerate(media_nodes): tbr = int_or_none(media_el.attrib.get('bitrate')) width = int_or_none(media_el.attrib.get('width')) @@ -1140,6 +1147,7 @@ def _parse_f4m_formats(self, manifest, manifest_url, video_id, preference=None, 'width': f.get('width') or width, 'height': f.get('height') or height, 'format_id': f.get('format_id') if not tbr else format_id, + 'vcodec': vcodec, }) formats.extend(f4m_formats) continue @@ -1156,6 +1164,7 @@ def _parse_f4m_formats(self, manifest, manifest_url, video_id, preference=None, 'tbr': tbr, 'width': width, 'height': height, + 'vcodec': vcodec, 'preference': preference, }) return formats