diff --git a/youtube_dl/extractor/iol.py b/youtube_dl/extractor/iol.py index 1605ca7c3..49ebf2368 100644 --- a/youtube_dl/extractor/iol.py +++ b/youtube_dl/extractor/iol.py @@ -52,15 +52,20 @@ class IOLIE(InfoExtractor): m3u8_url = self._html_search_regex(r'''videoUrl:\s*'([^']+\.m3u8[^']*)'\s*,''', webpage, 'm3u8 playlist') formats = self._extract_m3u8_formats(m3u8_url, video_id, ext='mp4') - match = re.search(r'smil:([0-9a-f]{24})-L', m3u8_url, re.IGNORECASE) - if match: - multimedia_id = match.group(1) + multimedia_id = self._html_search_meta('iol:id', webpage, 'multimedia_id', fatal=False, default=None) + if multimedia_id is None: + match = re.search(r'smil:([0-9a-f]{24})-L', m3u8_url, re.IGNORECASE) + self.report_extraction('multimedia_id (fallback)') + if match: + multimedia_id = match.group(1) + + if multimedia_id is not None: m3u8_url_default = 'http://video-on-demand.iol.pt/vod_http/mp4:' + multimedia_id + '-L-500k.mp4/playlist.m3u8' formats_m3u8_default = self._extract_m3u8_formats(m3u8_url_default, video_id, ext='mp4') formats.extend(formats_m3u8_default) formats.append({ 'url': 'http://www.iol.pt/videos-file/' + multimedia_id + '-L-500k.mp4', - 'format_id': 'http_500', + 'format_id': 'http-500', 'tbr': 500, 'protocol': 'http', 'preference': -1,