You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
544 B
23 lines
544 B
from .common import FileDownloader |
|
from .hls import HlsFD |
|
from .http import HttpFD |
|
from .mplayer import MplayerFD |
|
from .rtmp import RtmpFD |
|
|
|
from ..utils import ( |
|
determine_ext, |
|
) |
|
|
|
def get_suitable_downloader(info_dict): |
|
"""Get the downloader class that can handle the info dict.""" |
|
url = info_dict['url'] |
|
|
|
if url.startswith('rtmp'): |
|
return RtmpFD |
|
if determine_ext(url) == u'm3u8': |
|
return HlsFD |
|
if url.startswith('mms') or url.startswith('rtsp'): |
|
return MplayerFD |
|
else: |
|
return HttpFD |
|
|
|
|