mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	Add a resolution field and improve general --list-formats output
This commit is contained in:
		| @@ -1007,13 +1007,15 @@ class YoutubeDL(object): | ||||
|     def format_resolution(format, default='unknown'): | ||||
|         if format.get('vcodec') == 'none': | ||||
|             return 'audio only' | ||||
|         if format.get('_resolution') is not None: | ||||
|             return format['_resolution'] | ||||
|         if format.get('resolution') is not None: | ||||
|             return format['resolution'] | ||||
|         if format.get('height') is not None: | ||||
|             if format.get('width') is not None: | ||||
|                 res = u'%sx%s' % (format['width'], format['height']) | ||||
|             else: | ||||
|                 res = u'%sp' % format['height'] | ||||
|         elif format.get('width') is not None: | ||||
|             res = u'?x%d' % format['width'] | ||||
|         else: | ||||
|             res = default | ||||
|         return res | ||||
| @@ -1025,11 +1027,11 @@ class YoutubeDL(object): | ||||
|                 res += fdict['format_note'] + u' ' | ||||
|             if (fdict.get('vcodec') is not None and | ||||
|                     fdict.get('vcodec') != 'none'): | ||||
|                 res += u'%-5s' % fdict['vcodec'] | ||||
|             elif fdict.get('vbr') is not None: | ||||
|                 res += u'video' | ||||
|                 res += u'%-5s@' % fdict['vcodec'] | ||||
|             elif fdict.get('vbr') is not None and fdict.get('abr') is not None: | ||||
|                 res += u'video@' | ||||
|             if fdict.get('vbr') is not None: | ||||
|                 res += u'@%4dk' % fdict['vbr'] | ||||
|                 res += u'%4dk' % fdict['vbr'] | ||||
|             if fdict.get('acodec') is not None: | ||||
|                 if res: | ||||
|                     res += u', ' | ||||
| @@ -1064,7 +1066,7 @@ class YoutubeDL(object): | ||||
|  | ||||
|         header_line = line({ | ||||
|             'format_id': u'format code', 'ext': u'extension', | ||||
|             '_resolution': u'resolution', 'format_note': u'note'}, idlen=idlen) | ||||
|             'resolution': u'resolution', 'format_note': u'note'}, idlen=idlen) | ||||
|         self.to_screen(u'[info] Available formats for %s:\n%s\n%s' % | ||||
|                        (info_dict['id'], header_line, u"\n".join(formats_s))) | ||||
|  | ||||
|   | ||||
| @@ -37,10 +37,12 @@ class InfoExtractor(object): | ||||
|     id:             Video identifier. | ||||
|     title:          Video title, unescaped. | ||||
|  | ||||
|     Additionally, it must contain either a formats entry or url and ext: | ||||
|     Additionally, it must contain either a formats entry or a url one: | ||||
|  | ||||
|     formats:        A list of dictionaries for each format available, it must | ||||
|                     be ordered from worst to best quality. Potential fields: | ||||
|     formats:        A list of dictionaries for each format available, ordered | ||||
|                     from worst to best quality. | ||||
|  | ||||
|                     Potential fields: | ||||
|                     * url        Mandatory. The URL of the video file | ||||
|                     * ext        Will be calculated from url if missing | ||||
|                     * format     A human-readable description of the format | ||||
| @@ -53,12 +55,17 @@ class InfoExtractor(object): | ||||
|                                  ("3D" or "DASH video") | ||||
|                     * width      Width of the video, if known | ||||
|                     * height     Height of the video, if known | ||||
|                     * resolution Textual description of width and height | ||||
|                     * abr        Average audio bitrate in KBit/s | ||||
|                     * acodec     Name of the audio codec in use | ||||
|                     * vbr        Average video bitrate in KBit/s | ||||
|                     * vcodec     Name of the video codec in use | ||||
|                     * filesize   The number of bytes, if known in advance | ||||
|                     * player_url SWF Player URL (used for rtmpdump). | ||||
|                     * preference Order number of this format. If this field is | ||||
|                                  present, the formats get sorted by this field. | ||||
|                                  -1 for default (order by other properties), | ||||
|                                  -2 or smaller for less than default. | ||||
|     url:            Final video URL. | ||||
|     ext:            Video filename extension. | ||||
|     format:         The video format, defaults to ext (used for --get-format) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Philipp Hagemeister
					Philipp Hagemeister