diff options
author | Sergey M․ <dstftw@gmail.com> | 2016-11-02 03:01:13 +0700 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2016-11-02 03:01:13 +0700 |
commit | cc99a77ac1c5fb5859d75589d49bb25361a1fb2b (patch) | |
tree | 3e2aa8f8ab8d06d1ac26933f3733948a143496ad | |
parent | 8956d6608a02f8745a8d619b0f697a95e98981c0 (diff) |
[extractor/generic] Add support for ISM manifests
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | youtube_dl/extractor/generic.py | 6 |
2 files changed, 12 insertions, 0 deletions
@@ -1,3 +1,9 @@ +version <unreleased> + +Extractors ++ [generic] Add support for ISM manifests + + version 2016.11.02 Core diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index 15d1c0225..fc3d01eed 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -1634,6 +1634,10 @@ class GenericIE(InfoExtractor): doc = compat_etree_fromstring(webpage.encode('utf-8')) if doc.tag == 'rss': return self._extract_rss(url, video_id, doc) + elif doc.tag == 'SmoothStreamingMedia': + info_dict['formats'] = self._parse_ism_formats(doc, url) + self._sort_formats(info_dict['formats']) + return info_dict elif re.match(r'^(?:{[^}]+})?smil$', doc.tag): smil = self._parse_smil(doc, url, video_id) self._sort_formats(smil['formats']) @@ -2449,6 +2453,8 @@ class GenericIE(InfoExtractor): entry_info_dict['formats'] = self._extract_mpd_formats(video_url, video_id) elif ext == 'f4m': entry_info_dict['formats'] = self._extract_f4m_formats(video_url, video_id) + elif re.search(r'(?i)\.ism/manifest', video_url): + entry_info_dict['formats'] = self._extract_ism_formats(video_url, video_id) else: entry_info_dict['url'] = video_url |