[extractor/common] Generate better f4m format IDs
authorPhilipp Hagemeister <phihag@phihag.de>
Mon, 25 Aug 2014 11:03:08 +0000 (13:03 +0200)
committerPhilipp Hagemeister <phihag@phihag.de>
Mon, 25 Aug 2014 11:03:08 +0000 (13:03 +0200)
youtube_dl/extractor/common.py

index 4d5b48167cb604b6679b6e524b5420efb1b3b9c5..69d5f687cbcfc913c1ee8ae3d8bc0a530b7202f0 100644 (file)
@@ -620,11 +620,15 @@ class InfoExtractor(object):
             'Unable to download f4m manifest')
 
         formats = []
-        for media_el in manifest.findall('{http://ns.adobe.com/f4m/1.0}media'):
+        media_nodes = manifest.findall('{http://ns.adobe.com/f4m/1.0}media')
+        for i, media_el in enumerate(media_nodes):
+            tbr = int_or_none(media_el.attrib.get('bitrate'))
+            format_id = 'f4m-%d' % (i if tbr is None else tbr)
             formats.append({
+                'format_id': format_id,
                 'url': manifest_url,
                 'ext': 'flv',
-                'tbr': int_or_none(media_el.attrib.get('bitrate')),
+                'tbr': tbr,
                 'width': int_or_none(media_el.attrib.get('width')),
                 'height': int_or_none(media_el.attrib.get('height')),
             })