diff options
| -rw-r--r-- | youtube_dl/extractor/rtl2.py | 57 | 
1 files changed, 36 insertions, 21 deletions
| diff --git a/youtube_dl/extractor/rtl2.py b/youtube_dl/extractor/rtl2.py index cb4ee8803..721ee733c 100644 --- a/youtube_dl/extractor/rtl2.py +++ b/youtube_dl/extractor/rtl2.py @@ -2,7 +2,9 @@  from __future__ import unicode_literals  import re +  from .common import InfoExtractor +from ..utils import int_or_none  class RTL2IE(InfoExtractor): @@ -13,7 +15,7 @@ class RTL2IE(InfoExtractor):              'id': 'folge-203-0',              'ext': 'f4v',              'title': 'GRIP sucht den Sommerkönig', -            'description': 'Matthias, Det und Helge treten gegeneinander an.' +            'description': 'md5:e3adbb940fd3c6e76fa341b8748b562f'          },          'params': {              # rtmp download @@ -25,7 +27,7 @@ class RTL2IE(InfoExtractor):              'id': '21040-anna-erwischt-alex',              'ext': 'mp4',              'title': 'Anna erwischt Alex!', -            'description': 'Anna ist Alex\' Tochter bei Köln 50667.' +            'description': 'Anna nimmt ihrem Vater nicht ab, dass er nicht spielt. Und tatsächlich erwischt sie ihn auf frischer Tat.'          },          'params': {              # rtmp download @@ -52,34 +54,47 @@ class RTL2IE(InfoExtractor):                  r'vico_id\s*:\s*([0-9]+)', webpage, 'vico_id')              vivi_id = self._html_search_regex(                  r'vivi_id\s*:\s*([0-9]+)', webpage, 'vivi_id') -        info_url = 'http://www.rtl2.de/video/php/get_video.php?vico_id=' + vico_id + '&vivi_id=' + vivi_id -        info = self._download_json(info_url, video_id) +        info = self._download_json( +            'http://www.rtl2.de/sites/default/modules/rtl2/mediathek/php/get_video_jw.php', +            video_id, query={ +                'vico_id': vico_id, +                'vivi_id': vivi_id, +            })          video_info = info['video']          title = video_info['titel'] -        description = video_info.get('beschreibung') -        thumbnail = video_info.get('image') -        download_url = video_info['streamurl'] -        download_url = download_url.replace('\\', '') -        stream_url = 'mp4:' + self._html_search_regex(r'ondemand/(.*)', download_url, 'stream URL') -        rtmp_conn = ['S:connect', 'O:1', 'NS:pageUrl:' + url, 'NB:fpad:0', 'NN:videoFunction:1', 'O:0'] +        formats = [] + +        rtmp_url = video_info.get('streamurl') +        if rtmp_url: +            rtmp_url = rtmp_url.replace('\\', '') +            stream_url = 'mp4:' + self._html_search_regex(r'/ondemand/(.+)', rtmp_url, 'stream URL') +            rtmp_conn = ['S:connect', 'O:1', 'NS:pageUrl:' + url, 'NB:fpad:0', 'NN:videoFunction:1', 'O:0'] + +            formats.append({ +                'format_id': 'rtmp', +                'url': rtmp_url, +                'play_path': stream_url, +                'player_url': 'http://www.rtl2.de/flashplayer/vipo_player.swf', +                'page_url': url, +                'flash_version': 'LNX 11,2,202,429', +                'rtmp_conn': rtmp_conn, +                'no_resume': True, +                'preference': 1, +            }) + +        m3u8_url = video_info.get('streamurl_hls') +        if m3u8_url: +            formats.extend(self._extract_akamai_formats(m3u8_url, video_id)) -        formats = [{ -            'url': download_url, -            'play_path': stream_url, -            'player_url': 'http://www.rtl2.de/flashplayer/vipo_player.swf', -            'page_url': url, -            'flash_version': 'LNX 11,2,202,429', -            'rtmp_conn': rtmp_conn, -            'no_resume': True, -        }]          self._sort_formats(formats)          return {              'id': video_id,              'title': title, -            'thumbnail': thumbnail, -            'description': description, +            'thumbnail': video_info.get('image'), +            'description': video_info.get('beschreibung'), +            'duration': int_or_none(video_info.get('duration')),              'formats': formats,          } | 
