[YoutubeDL] Change how DashSegmentsFD is selected
This commit is contained in:
parent
6800d3372f
commit
b9258c6178
|
@ -8,6 +8,7 @@ from .hls import NativeHlsFD
|
|||
from .http import HttpFD
|
||||
from .rtsp import RtspFD
|
||||
from .rtmp import RtmpFD
|
||||
from .dash import DashSegmentsFD
|
||||
|
||||
from ..utils import (
|
||||
determine_protocol,
|
||||
|
@ -20,6 +21,7 @@ PROTOCOL_MAP = {
|
|||
'mms': RtspFD,
|
||||
'rtsp': RtspFD,
|
||||
'f4m': F4mFD,
|
||||
'dash_segments': DashSegmentsFD,
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@ import socket
|
|||
import time
|
||||
|
||||
from .common import FileDownloader
|
||||
from .dash import DashSegmentsFD
|
||||
from ..compat import (
|
||||
compat_urllib_request,
|
||||
compat_urllib_error,
|
||||
|
@ -20,9 +19,6 @@ from ..utils import (
|
|||
|
||||
class HttpFD(FileDownloader):
|
||||
def real_download(self, filename, info_dict):
|
||||
if info_dict.get('initialization_url') and list(filter(None, info_dict.get('segment_urls', []))):
|
||||
return DashSegmentsFD(self.ydl, self.params).real_download(filename, info_dict)
|
||||
|
||||
url = info_dict['url']
|
||||
tmpfilename = self.temp_name(filename)
|
||||
stream = None
|
||||
|
|
|
@ -819,7 +819,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|||
if segment_list:
|
||||
f.update({
|
||||
'initialization_url': segment_list.find('{urn:mpeg:DASH:schema:MPD:2011}Initialization').attrib['sourceURL'],
|
||||
'segment_urls': [segment.attrib.get('media') for segment in segment_list.findall('{urn:mpeg:DASH:schema:MPD:2011}SegmentURL')]
|
||||
'segment_urls': [segment.attrib.get('media') for segment in segment_list.findall('{urn:mpeg:DASH:schema:MPD:2011}SegmentURL')],
|
||||
'protocol': 'dash_segments',
|
||||
})
|
||||
try:
|
||||
existing_format = next(
|
||||
|
|
Loading…
Reference in New Issue