diff options
| -rw-r--r-- | youtube_dl/extractor/__init__.py | 1 | ||||
| -rw-r--r-- | youtube_dl/extractor/oktoberfesttv.py | 47 | 
2 files changed, 48 insertions, 0 deletions
| diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index 079221567..629280215 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -261,6 +261,7 @@ from .nrk import (  from .ntv import NTVIE  from .nytimes import NYTimesIE  from .nuvid import NuvidIE +from .oktoberfesttv import OktoberfestTVIE  from .ooyala import OoyalaIE  from .orf import (      ORFTVthekIE, diff --git a/youtube_dl/extractor/oktoberfesttv.py b/youtube_dl/extractor/oktoberfesttv.py new file mode 100644 index 000000000..4a41c0542 --- /dev/null +++ b/youtube_dl/extractor/oktoberfesttv.py @@ -0,0 +1,47 @@ +# encoding: utf-8 +from __future__ import unicode_literals + +from .common import InfoExtractor + + +class OktoberfestTVIE(InfoExtractor): +    _VALID_URL = r'https?://www\.oktoberfest-tv\.de/[^/]+/[^/]+/video/(?P<id>[^/?#]+)' + +    _TEST = { +        'url': 'http://www.oktoberfest-tv.de/de/kameras/video/hb-zelt', +        'info_dict': { +            'id': 'hb-zelt', +            'ext': 'mp4', +            'title': 're:^Live-Kamera: Hofbräuzelt [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}$', +            'thumbnail': 're:^https?://.*\.jpg$', +            'is_live': True, +        }, +        'params': { +            'skip_download': True, +        } +    } + +    def _real_extract(self, url): +        video_id = self._match_id(url) +        webpage = self._download_webpage(url, video_id) + +        title = self._live_title(self._html_search_regex( +            r'<h1><strong>.*?</strong>(.*?)</h1>', webpage, 'title')) + +        clip = self._search_regex( +            r"clip:\s*\{\s*url:\s*'([^']+)'", webpage, 'clip') +        ncurl = self._search_regex( +            r"netConnectionUrl:\s*'([^']+)'", webpage, 'rtmp base') +        video_url = ncurl + clip +        thumbnail = self._search_regex( +            r"canvas:\s*\{\s*backgroundImage:\s*'url\(([^)]+)\)'", webpage, +            'thumbnail', fatal=False) + +        return { +            'id': video_id, +            'title': title, +            'url': video_url, +            'ext': 'mp4', +            'is_live': True, +            'thumbnail': thumbnail, +        } | 
