|
|
|
@ -202,6 +202,8 @@ class ArteTVPlus7IE(InfoExtractor):
|
|
|
|
|
re.match(r'VO-ST(F|A)', f.get('versionCode', '')) is None,
|
|
|
|
|
# The version with sourds/mal subtitles has also lower relevance
|
|
|
|
|
re.match(r'VO?(F|A)-STM\1', f.get('versionCode', '')) is None,
|
|
|
|
|
# Prefer http downloads over m3u8
|
|
|
|
|
0 if f['url'].endswith('m3u8') else 1,
|
|
|
|
|
)
|
|
|
|
|
formats = sorted(formats, key=sort_key)
|
|
|
|
|
def _format(format_info):
|
|
|
|
@ -284,3 +286,19 @@ class ArteTVDDCIE(ArteTVPlus7IE):
|
|
|
|
|
javascriptPlayerGenerator = self._download_webpage(script_url, video_id, 'Download javascript player generator')
|
|
|
|
|
json_url = self._search_regex(r"json_url=(.*)&rendering_place.*", javascriptPlayerGenerator, 'json url')
|
|
|
|
|
return self._extract_from_json_url(json_url, video_id, lang)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ArteTVConcertIE(ArteTVPlus7IE):
|
|
|
|
|
IE_NAME = 'arte.tv:concert'
|
|
|
|
|
_VALID_URL = r'https?://concert\.arte\.tv/(?P<lang>de|fr)/(?P<id>.+)'
|
|
|
|
|
|
|
|
|
|
_TEST = {
|
|
|
|
|
'url': 'http://concert.arte.tv/de/notwist-im-pariser-konzertclub-divan-du-monde',
|
|
|
|
|
'md5': '9ea035b7bd69696b67aa2ccaaa218161',
|
|
|
|
|
'info_dict': {
|
|
|
|
|
'id': '186',
|
|
|
|
|
'ext': 'mp4',
|
|
|
|
|
'title': 'The Notwist im Pariser Konzertclub "Divan du Monde"',
|
|
|
|
|
'upload_date': '20140128',
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|