commit 1b840245bdcc7789f996c9bb163af79efbebc813
parent 6a3828fddd6f6cec28ec8676bcc3918d583db77c
Author: Sergey M․ <dstftw@gmail.com>
Date: Sat, 6 Feb 2016 19:35:32 +0600
[extractor/generic] Detect DASH manifests and extract mpd formats
Diffstat:
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py
@@ -1291,7 +1291,7 @@ class GenericIE(InfoExtractor):
self.report_extraction(video_id)
- # Is it an RSS feed, a SMIL file or a XSPF playlist?
+ # Is it an RSS feed, a SMIL file, an XSPF playlist or a MPD manifest?
try:
doc = compat_etree_fromstring(webpage.encode('utf-8'))
if doc.tag == 'rss':
@@ -1300,6 +1300,12 @@ class GenericIE(InfoExtractor):
return self._parse_smil(doc, url, video_id)
elif doc.tag == '{http://xspf.org/ns/0/}playlist':
return self.playlist_result(self._parse_xspf(doc, video_id), video_id)
+ elif re.match(r'(?i)^(?:{[^}]+})?MPD$', doc.tag):
+ return {
+ 'id': video_id,
+ 'title': compat_urllib_parse_unquote(os.path.splitext(url_basename(url))[0]),
+ 'formats': self._parse_mpd_formats(doc, video_id),
+ }
except compat_xml_parse_error:
pass