Browse Source

[extractor/generic] Add support for ISM manifests

totalwebcasting
Sergey M․ 8 years ago
parent
commit
cc99a77ac1
No known key found for this signature in database GPG Key ID: 2C393E0F18A9236D
2 changed files with 12 additions and 0 deletions
  1. +6
    -0
      ChangeLog
  2. +6
    -0
      youtube_dl/extractor/generic.py

+ 6
- 0
ChangeLog View File

@ -1,3 +1,9 @@
version <unreleased>
Extractors
+ [generic] Add support for ISM manifests
version 2016.11.02 version 2016.11.02
Core Core


+ 6
- 0
youtube_dl/extractor/generic.py View File

@ -1634,6 +1634,10 @@ class GenericIE(InfoExtractor):
doc = compat_etree_fromstring(webpage.encode('utf-8')) doc = compat_etree_fromstring(webpage.encode('utf-8'))
if doc.tag == 'rss': if doc.tag == 'rss':
return self._extract_rss(url, video_id, doc) 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): elif re.match(r'^(?:{[^}]+})?smil$', doc.tag):
smil = self._parse_smil(doc, url, video_id) smil = self._parse_smil(doc, url, video_id)
self._sort_formats(smil['formats']) self._sort_formats(smil['formats'])
@ -2449,6 +2453,8 @@ class GenericIE(InfoExtractor):
entry_info_dict['formats'] = self._extract_mpd_formats(video_url, video_id) entry_info_dict['formats'] = self._extract_mpd_formats(video_url, video_id)
elif ext == 'f4m': elif ext == 'f4m':
entry_info_dict['formats'] = self._extract_f4m_formats(video_url, video_id) 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: else:
entry_info_dict['url'] = video_url entry_info_dict['url'] = video_url


Loading…
Cancel
Save