50
50
None if thumbnail_el is None else thumbnail_el.attrib.get('src'))
53
'url': v.attrib['src'],
54
'width': int_or_none(v.attrib.get('width')),
55
'height': int_or_none(v.attrib.get('height')),
56
'filesize': int_or_none(v.attrib.get('size')),
57
'tbr': int_or_none(v.attrib.get('systemBitrate')) / 1000.0,
58
'ext': v.attrib.get('ext'),
59
} for v in switch.findall('./video')
60
if v.attrib.get('proto') == 'http']
53
for v in switch.findall('./video'):
54
proto = v.attrib.get('proto')
55
if proto not in ['http', 'rtmp']:
58
'width': int_or_none(v.attrib.get('width')),
59
'height': int_or_none(v.attrib.get('height')),
60
'filesize': int_or_none(v.attrib.get('size')),
61
'tbr': int_or_none(v.attrib.get('systemBitrate')) / 1000.0,
62
'ext': v.attrib.get('ext'),
66
if self._is_valid_url(src, video_id):
71
'url': v.attrib['streamer'],
73
'rtmp_real_time': True,
76
self._sort_formats(formats)