|
@@ -2,6 +2,7 @@
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
|
from .common import InfoExtractor
|
|
|
+from ..compat import compat_urlparse
|
|
|
from ..utils import (
|
|
|
int_or_none,
|
|
|
js_to_json,
|
|
@@ -42,18 +43,24 @@ class NTVDeIE(InfoExtractor):
|
|
|
webpage, 'player data'),
|
|
|
video_id, transform_source=js_to_json)
|
|
|
duration = parse_duration(vdata.get('duration'))
|
|
|
- formats = [{
|
|
|
- 'format_id': 'flash',
|
|
|
- 'url': 'rtmp://fms.n-tv.de/' + vdata['video'],
|
|
|
- }, {
|
|
|
- 'format_id': 'mobile',
|
|
|
- 'url': 'http://video.n-tv.de' + vdata['videoMp4'],
|
|
|
- 'tbr': 400, # estimation
|
|
|
- }]
|
|
|
- m3u8_url = 'http://video.n-tv.de' + vdata['videoM3u8']
|
|
|
- formats.extend(self._extract_m3u8_formats(
|
|
|
- m3u8_url, video_id, ext='mp4',
|
|
|
- entry_protocol='m3u8_native', preference=0))
|
|
|
+
|
|
|
+ formats = []
|
|
|
+ if vdata.get('video'):
|
|
|
+ formats.append({
|
|
|
+ 'format_id': 'flash',
|
|
|
+ 'url': 'rtmp://fms.n-tv.de/%s' % vdata['video'],
|
|
|
+ })
|
|
|
+ if vdata.get('videoMp4'):
|
|
|
+ formats.append({
|
|
|
+ 'format_id': 'mobile',
|
|
|
+ 'url': compat_urlparse.urljoin('http://video.n-tv.de', vdata['videoMp4']),
|
|
|
+ 'tbr': 400, # estimation
|
|
|
+ })
|
|
|
+ if vdata.get('videoM3u8'):
|
|
|
+ m3u8_url = compat_urlparse.urljoin('http://video.n-tv.de', vdata['videoM3u8'])
|
|
|
+ formats.extend(self._extract_m3u8_formats(
|
|
|
+ m3u8_url, video_id, ext='mp4', entry_protocol='m3u8_native',
|
|
|
+ preference=0, m3u8_id='hls', fatal=False))
|
|
|
self._sort_formats(formats)
|
|
|
|
|
|
return {
|