From 736f21d1ecb543b48f6a098185dac419e7abf0d4 Mon Sep 17 00:00:00 2001 From: PC Date: Sat, 10 Oct 2015 15:09:19 +0100 Subject: [PATCH 1/3] multimedia_id extracted from meta still uses old method as fallback --- youtube_dl/extractor/iol.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/youtube_dl/extractor/iol.py b/youtube_dl/extractor/iol.py index 1605ca7c3..7d22f6610 100644 --- a/youtube_dl/extractor/iol.py +++ b/youtube_dl/extractor/iol.py @@ -52,9 +52,14 @@ 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) From 633a37e06e3ed457b13e00c32423de8bec5ce0d8 Mon Sep 17 00:00:00 2001 From: PC Date: Sat, 10 Oct 2015 16:19:57 +0100 Subject: [PATCH 2/3] rtmp not working --- youtube_dl/extractor/iol.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/youtube_dl/extractor/iol.py b/youtube_dl/extractor/iol.py index 7d22f6610..1d08eeba5 100644 --- a/youtube_dl/extractor/iol.py +++ b/youtube_dl/extractor/iol.py @@ -63,6 +63,17 @@ class IOLIE(InfoExtractor): 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) + + server = 'video2.iol.pt' + formats.append({ + 'url': 'rtmp://'+server+'/vod', + 'play_path': 'mp4:' + multimedia_id + '-L-500k', + 'format_id': 'rtmp-500', + 'tbr': 500, + 'protocol': 'rtmp', + 'ext': 'mp4' + }) + formats.append({ 'url': 'http://www.iol.pt/videos-file/' + multimedia_id + '-L-500k.mp4', 'format_id': 'http_500', From 647f1fc679cf461556ab2d51e54416786e1eaff3 Mon Sep 17 00:00:00 2001 From: PC Date: Sat, 10 Oct 2015 19:16:41 +0100 Subject: [PATCH 3/3] IOL RTMP support --- youtube_dl/extractor/iol.py | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/youtube_dl/extractor/iol.py b/youtube_dl/extractor/iol.py index 1d08eeba5..f0b000870 100644 --- a/youtube_dl/extractor/iol.py +++ b/youtube_dl/extractor/iol.py @@ -64,19 +64,31 @@ class IOLIE(InfoExtractor): formats_m3u8_default = self._extract_m3u8_formats(m3u8_url_default, video_id, ext='mp4') formats.extend(formats_m3u8_default) - server = 'video2.iol.pt' - formats.append({ - 'url': 'rtmp://'+server+'/vod', - 'play_path': 'mp4:' + multimedia_id + '-L-500k', - 'format_id': 'rtmp-500', - 'tbr': 500, - 'protocol': 'rtmp', - 'ext': 'mp4' - }) + # try rtmp format + if self._html_search_regex(r'