|
|
|
@ -1888,7 +1888,7 @@ class InfoExtractor(object):
|
|
|
|
|
})
|
|
|
|
|
return formats
|
|
|
|
|
|
|
|
|
|
def _parse_html5_media_entries(self, base_url, webpage, video_id, m3u8_id=None, m3u8_entry_protocol='m3u8'):
|
|
|
|
|
def _parse_html5_media_entries(self, base_url, webpage, video_id, m3u8_id=None, m3u8_entry_protocol='m3u8', mpd_id=None):
|
|
|
|
|
def absolute_url(video_url):
|
|
|
|
|
return compat_urlparse.urljoin(base_url, video_url)
|
|
|
|
|
|
|
|
|
@ -1905,11 +1905,16 @@ class InfoExtractor(object):
|
|
|
|
|
|
|
|
|
|
def _media_formats(src, cur_media_type):
|
|
|
|
|
full_url = absolute_url(src)
|
|
|
|
|
if determine_ext(full_url) == 'm3u8':
|
|
|
|
|
ext = determine_ext(full_url)
|
|
|
|
|
if ext == 'm3u8':
|
|
|
|
|
is_plain_url = False
|
|
|
|
|
formats = self._extract_m3u8_formats(
|
|
|
|
|
full_url, video_id, ext='mp4',
|
|
|
|
|
entry_protocol=m3u8_entry_protocol, m3u8_id=m3u8_id)
|
|
|
|
|
elif ext == 'mpd':
|
|
|
|
|
is_plain_url = False
|
|
|
|
|
formats = self._extract_mpd_formats(
|
|
|
|
|
full_url, video_id, mpd_id=mpd_id)
|
|
|
|
|
else:
|
|
|
|
|
is_plain_url = True
|
|
|
|
|
formats = [{
|
|
|
|
|