diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py
index 2e7272931..44ab7ce3c 100644
--- a/youtube_dl/extractor/__init__.py
+++ b/youtube_dl/extractor/__init__.py
@@ -367,6 +367,8 @@ from .nbc import (
from .ndr import (
NDRIE,
NJoyIE,
+ NDREmbedIE,
+ NJoyEmbedIE,
)
from .ndtv import NDTVIE
from .netzkino import NetzkinoIE
diff --git a/youtube_dl/extractor/ndr.py b/youtube_dl/extractor/ndr.py
index 79a13958b..87f3edbbe 100644
--- a/youtube_dl/extractor/ndr.py
+++ b/youtube_dl/extractor/ndr.py
@@ -1,77 +1,92 @@
# encoding: utf-8
from __future__ import unicode_literals
-import re
-
from .common import InfoExtractor
from ..utils import (
ExtractorError,
int_or_none,
qualities,
- parse_duration,
)
+preference = qualities(['xs', 's', 'm','l', 'xl'])
+
+
class NDRBaseIE(InfoExtractor):
- def _real_extract(self, url):
- mobj = re.match(self._VALID_URL, url)
- video_id = mobj.group('id')
-
- page = self._download_webpage(url, video_id, 'Downloading page')
-
- title = self._og_search_title(page).strip()
- description = self._og_search_description(page)
- if description:
- description = description.strip()
-
- duration = int_or_none(self._html_search_regex(r'duration: (\d+),\n', page, 'duration', default=None))
- if not duration:
- duration = parse_duration(self._html_search_regex(
- r'(\d+:\d+)',
- page, 'duration', default=None))
+ def extract_video_info(self, playlist, video_id):
formats = []
-
- mp3_url = re.search(r'''\{src:'(?P