|
|
@ -5,6 +5,7 @@ import re
|
|
|
|
|
|
|
|
|
|
|
|
from .common import InfoExtractor
|
|
|
|
from .common import InfoExtractor
|
|
|
|
from .generic import GenericIE
|
|
|
|
from .generic import GenericIE
|
|
|
|
|
|
|
|
from ..compat import compat_str
|
|
|
|
from ..utils import (
|
|
|
|
from ..utils import (
|
|
|
|
determine_ext,
|
|
|
|
determine_ext,
|
|
|
|
ExtractorError,
|
|
|
|
ExtractorError,
|
|
|
@ -126,6 +127,8 @@ class ARDMediathekIE(InfoExtractor):
|
|
|
|
quality = stream.get('_quality')
|
|
|
|
quality = stream.get('_quality')
|
|
|
|
server = stream.get('_server')
|
|
|
|
server = stream.get('_server')
|
|
|
|
for stream_url in stream_urls:
|
|
|
|
for stream_url in stream_urls:
|
|
|
|
|
|
|
|
if not isinstance(stream_url, compat_str) or '//' not in stream_url:
|
|
|
|
|
|
|
|
continue
|
|
|
|
ext = determine_ext(stream_url)
|
|
|
|
ext = determine_ext(stream_url)
|
|
|
|
if quality != 'auto' and ext in ('f4m', 'm3u8'):
|
|
|
|
if quality != 'auto' and ext in ('f4m', 'm3u8'):
|
|
|
|
continue
|
|
|
|
continue
|
|
|
@ -146,13 +149,11 @@ class ARDMediathekIE(InfoExtractor):
|
|
|
|
'play_path': stream_url,
|
|
|
|
'play_path': stream_url,
|
|
|
|
'format_id': 'a%s-rtmp-%s' % (num, quality),
|
|
|
|
'format_id': 'a%s-rtmp-%s' % (num, quality),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
elif stream_url.startswith('http'):
|
|
|
|
else:
|
|
|
|
f = {
|
|
|
|
f = {
|
|
|
|
'url': stream_url,
|
|
|
|
'url': stream_url,
|
|
|
|
'format_id': 'a%s-%s-%s' % (num, ext, quality)
|
|
|
|
'format_id': 'a%s-%s-%s' % (num, ext, quality)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else:
|
|
|
|
|
|
|
|
continue
|
|
|
|
|
|
|
|
m = re.search(r'_(?P<width>\d+)x(?P<height>\d+)\.mp4$', stream_url)
|
|
|
|
m = re.search(r'_(?P<width>\d+)x(?P<height>\d+)\.mp4$', stream_url)
|
|
|
|
if m:
|
|
|
|
if m:
|
|
|
|
f.update({
|
|
|
|
f.update({
|
|
|
|