|
|
@ -12,6 +12,7 @@ from ..utils import ( |
|
|
|
get_element_by_id, |
|
|
|
compat_str, |
|
|
|
get_element_by_attribute, |
|
|
|
int_or_none, |
|
|
|
) |
|
|
|
|
|
|
|
# There are different sources of video in arte.tv, the extraction process |
|
|
@ -98,7 +99,11 @@ class ArteTVPlus7IE(InfoExtractor): |
|
|
|
'thumbnail': player_info.get('programImage') or player_info.get('VTU', {}).get('IUR'), |
|
|
|
} |
|
|
|
|
|
|
|
all_formats = player_info['VSR'].values() |
|
|
|
all_formats = [] |
|
|
|
for format_id, format_dict in player_info['VSR'].items(): |
|
|
|
fmt = dict(format_dict) |
|
|
|
fmt['format_id'] = format_id |
|
|
|
all_formats.append(fmt) |
|
|
|
# Some formats use the m3u8 protocol |
|
|
|
all_formats = list(filter(lambda f: f.get('videoFormat') != 'M3U8', all_formats)) |
|
|
|
def _match_lang(f): |
|
|
@ -149,25 +154,12 @@ class ArteTVPlus7IE(InfoExtractor): |
|
|
|
) |
|
|
|
formats = sorted(formats, key=sort_key) |
|
|
|
def _format(format_info): |
|
|
|
quality = '' |
|
|
|
height = format_info.get('height') |
|
|
|
if height is not None: |
|
|
|
quality = compat_str(height) |
|
|
|
bitrate = format_info.get('bitrate') |
|
|
|
if bitrate is not None: |
|
|
|
quality += '-%d' % bitrate |
|
|
|
if format_info.get('versionCode') is not None: |
|
|
|
format_id = '%s-%s' % (quality, format_info['versionCode']) |
|
|
|
else: |
|
|
|
format_id = quality |
|
|
|
media_type = format_info.get('mediaType') |
|
|
|
if media_type is not None: |
|
|
|
format_id += '-%s' % media_type |
|
|
|
info = { |
|
|
|
'format_id': format_id, |
|
|
|
'format_note': format_info.get('versionLibelle'), |
|
|
|
'width': format_info.get('width'), |
|
|
|
'height': height, |
|
|
|
'format_id': format_info['format_id'], |
|
|
|
'format_note': '%s, %s' % (format_info.get('versionCode'), format_info.get('versionLibelle')), |
|
|
|
'width': int_or_none(format_info.get('width')), |
|
|
|
'height': int_or_none(format_info.get('height')), |
|
|
|
'tbr': int_or_none(format_info.get('bitrate')), |
|
|
|
} |
|
|
|
if format_info['mediaType'] == 'rtmp': |
|
|
|
info['url'] = format_info['streamer'] |
|
|
|