mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 22:55:18 +00:00 
			
		
		
		
	[imdb] Extract all formats (closes #16249)
This commit is contained in:
		| @@ -3,7 +3,9 @@ from __future__ import unicode_literals | ||||
| import re | ||||
|  | ||||
| from .common import InfoExtractor | ||||
| from ..compat import compat_str | ||||
| from ..utils import ( | ||||
|     determine_ext, | ||||
|     mimetype2ext, | ||||
|     qualities, | ||||
|     remove_end, | ||||
| @@ -73,19 +75,25 @@ class ImdbIE(InfoExtractor): | ||||
|             video_info_list = format_info.get('videoInfoList') | ||||
|             if not video_info_list or not isinstance(video_info_list, list): | ||||
|                 continue | ||||
|             video_info = video_info_list[0] | ||||
|             if not video_info or not isinstance(video_info, dict): | ||||
|                 continue | ||||
|             video_url = video_info.get('videoUrl') | ||||
|             if not video_url: | ||||
|                 continue | ||||
|             format_id = format_info.get('ffname') | ||||
|             formats.append({ | ||||
|                 'format_id': format_id, | ||||
|                 'url': video_url, | ||||
|                 'ext': mimetype2ext(video_info.get('videoMimeType')), | ||||
|                 'quality': quality(format_id), | ||||
|             }) | ||||
|             for video_info in video_info_list: | ||||
|                 if not video_info or not isinstance(video_info, dict): | ||||
|                     continue | ||||
|                 video_url = video_info.get('videoUrl') | ||||
|                 if not video_url or not isinstance(video_url, compat_str): | ||||
|                     continue | ||||
|                 if (video_info.get('videoMimeType') == 'application/x-mpegURL' or | ||||
|                         determine_ext(video_url) == 'm3u8'): | ||||
|                     formats.extend(self._extract_m3u8_formats( | ||||
|                         video_url, video_id, 'mp4', entry_protocol='m3u8_native', | ||||
|                         m3u8_id='hls', fatal=False)) | ||||
|                     continue | ||||
|                 format_id = format_info.get('ffname') | ||||
|                 formats.append({ | ||||
|                     'format_id': format_id, | ||||
|                     'url': video_url, | ||||
|                     'ext': mimetype2ext(video_info.get('videoMimeType')), | ||||
|                     'quality': quality(format_id), | ||||
|                 }) | ||||
|         self._sort_formats(formats) | ||||
|  | ||||
|         return { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․