0
0
Fork 0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2024-11-13 00:55:07 +00:00

[generic] extract dash formats detected using content type

This commit is contained in:
remitamine 2016-02-06 06:47:38 +01:00
parent 66159b38aa
commit bcbbb98bfe

View file

@ -1229,13 +1229,15 @@ def _real_extract(self, url):
# Check for direct link to a video # Check for direct link to a video
content_type = head_response.headers.get('Content-Type', '') content_type = head_response.headers.get('Content-Type', '')
m = re.match(r'^(?P<type>audio|video|application(?=/(?:ogg$|(?:vnd\.apple\.|x-)?mpegurl)))/(?P<format_id>.+)$', content_type) m = re.match(r'^(?P<type>audio|video|application(?=/(?:ogg$|dash\+xml|(?:vnd\.apple\.|x-)?mpegurl)))/(?P<format_id>.+)$', content_type)
if m: if m:
upload_date = unified_strdate( upload_date = unified_strdate(
head_response.headers.get('Last-Modified')) head_response.headers.get('Last-Modified'))
formats = [] formats = []
if m.group('format_id').endswith('mpegurl'): if m.group('format_id').endswith('mpegurl'):
formats = self._extract_m3u8_formats(url, video_id, 'mp4') formats = self._extract_m3u8_formats(url, video_id, 'mp4')
elif m.group('format_id').startswith('dash+xml'):
formats = self._extract_mpd_formats(url, video_id)
else: else:
formats = [{ formats = [{
'format_id': m.group('format_id'), 'format_id': m.group('format_id'),