mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	[generic] extract m3u8 formats when mpegurl content type detected
This commit is contained in:
		| @@ -1229,19 +1229,24 @@ class GenericIE(InfoExtractor): | |||||||
|  |  | ||||||
|         # 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$))/(?P<format_id>.+)$', content_type) |         m = re.match(r'^(?P<type>audio|video|application(?=/(?:ogg$|(?: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 = [] | ||||||
|  |             if m.group('format_id').endswith('mpegurl'): | ||||||
|  |                 formats = self._extract_m3u8_formats(url, video_id, 'mp4') | ||||||
|  |             else: | ||||||
|  |                 formats = [{ | ||||||
|  |                     'format_id': m.group('format_id'), | ||||||
|  |                     'url': url, | ||||||
|  |                     'vcodec': 'none' if m.group('type') == 'audio' else None | ||||||
|  |                 }] | ||||||
|             return { |             return { | ||||||
|                 'id': video_id, |                 'id': video_id, | ||||||
|                 'title': compat_urllib_parse_unquote(os.path.splitext(url_basename(url))[0]), |                 'title': compat_urllib_parse_unquote(os.path.splitext(url_basename(url))[0]), | ||||||
|                 'direct': True, |                 'direct': True, | ||||||
|                 'formats': [{ |                 'formats': formats, | ||||||
|                     'format_id': m.group('format_id'), |  | ||||||
|                     'url': url, |  | ||||||
|                     'vcodec': 'none' if m.group('type') == 'audio' else None |  | ||||||
|                 }], |  | ||||||
|                 'upload_date': upload_date, |                 'upload_date': upload_date, | ||||||
|             } |             } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user