+
+
+class NDREmbedBaseIE(NDRBaseIE):
+
+ def _real_extract(self, url):
+ video_id = self._match_id(url)
+ json_data = self._download_json('http://www.ndr.de/%s-ppjson.json' % video_id, video_id, fatal=False)
+ if not json_data:
+ raise ExtractorError('No media links available for %s' % video_id)
+ return self.extract_video_info(json_data['playlist'], video_id)
+
+
+class NDREmbedIE(NDREmbedBaseIE):
+ IE_NAME = 'ndr:embed'
+ _VALID_URL = r'https?://www\.ndr\.de/(?:[^/]+/)+(?P<id>\w+)'
+
+ _TEST = {
+ 'url': 'http://www.ndr.de/fernsehen/sendungen/ndr_aktuell/ndraktuell28488-player.html',
+ 'md5': 'cb63be60cd6f9dd75218803146d8dc67',
+ 'info_dict': {
+ 'id': 'ndraktuell28488',
+ 'ext': 'mp4',
+ 'title': 'Norddeutschland begrüßt Flüchtlinge',
+ 'duration': 132,
+ }
+ }
+
+
+class NJoyEmbedIE(NDREmbedBaseIE):
+ IE_NAME = 'N-JOY:embed'
+ _VALID_URL = r'https?://www\.n-joy\.de/(?:[^/]+/)(?P<id>\w+)'
+
+ _TEST = {
+ 'url': 'http://www.n-joy.de/entertainment/film/portraet374-player_image-832d9b79-fa8a-4026-92e2-e0fd99deb2f9_theme-n-joy.html',
+ 'md5': 'cb63be60cd6f9dd75218803146d8dc67',
+ 'info_dict': {
+ 'id': 'portraet374',
+ 'ext': 'mp4',
+ 'title': 'Viviane Andereggen - "Schuld um Schuld"',
+ 'duration': 129,
+ }
+ }