|
@@ -6,6 +6,7 @@ import re
|
|
from .common import InfoExtractor
|
|
from .common import InfoExtractor
|
|
from ..compat import compat_urlparse
|
|
from ..compat import compat_urlparse
|
|
from ..utils import (
|
|
from ..utils import (
|
|
|
|
+ determine_ext,
|
|
ExtractorError,
|
|
ExtractorError,
|
|
float_or_none,
|
|
float_or_none,
|
|
parse_duration,
|
|
parse_duration,
|
|
@@ -48,12 +49,22 @@ class NRKIE(InfoExtractor):
|
|
'http://v8.psapi.nrk.no/mediaelement/%s' % video_id,
|
|
'http://v8.psapi.nrk.no/mediaelement/%s' % video_id,
|
|
video_id, 'Downloading media JSON')
|
|
video_id, 'Downloading media JSON')
|
|
|
|
|
|
- if data['usageRights']['isGeoBlocked']:
|
|
|
|
- raise ExtractorError(
|
|
|
|
- 'NRK har ikke rettigheter til å vise dette programmet utenfor Norge',
|
|
|
|
- expected=True)
|
|
|
|
|
|
+ media_url = data.get('mediaUrl')
|
|
|
|
|
|
- video_url = data['mediaUrl'] + '?hdcore=3.5.0&plugin=aasp-3.5.0.151.81'
|
|
|
|
|
|
+ if not media_url:
|
|
|
|
+ if data['usageRights']['isGeoBlocked']:
|
|
|
|
+ raise ExtractorError(
|
|
|
|
+ 'NRK har ikke rettigheter til å vise dette programmet utenfor Norge',
|
|
|
|
+ expected=True)
|
|
|
|
+
|
|
|
|
+ if determine_ext(media_url) == 'f4m':
|
|
|
|
+ formats = self._extract_f4m_formats(
|
|
|
|
+ media_url + '?hdcore=3.5.0&plugin=aasp-3.5.0.151.81', video_id, f4m_id='hds')
|
|
|
|
+ else:
|
|
|
|
+ formats = [{
|
|
|
|
+ 'url': media_url,
|
|
|
|
+ 'ext': 'flv',
|
|
|
|
+ }]
|
|
|
|
|
|
duration = parse_duration(data.get('duration'))
|
|
duration = parse_duration(data.get('duration'))
|
|
|
|
|
|
@@ -67,12 +78,11 @@ class NRKIE(InfoExtractor):
|
|
|
|
|
|
return {
|
|
return {
|
|
'id': video_id,
|
|
'id': video_id,
|
|
- 'url': video_url,
|
|
|
|
- 'ext': 'flv',
|
|
|
|
'title': data['title'],
|
|
'title': data['title'],
|
|
'description': data['description'],
|
|
'description': data['description'],
|
|
'duration': duration,
|
|
'duration': duration,
|
|
'thumbnail': thumbnail,
|
|
'thumbnail': thumbnail,
|
|
|
|
+ 'formats': formats,
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|