mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	Add automatic generation of format note based on bitrate and codecs
This commit is contained in:
		| @@ -781,12 +781,28 @@ class YoutubeDL(object): | |||||||
|         return res |         return res | ||||||
|  |  | ||||||
|     def list_formats(self, info_dict): |     def list_formats(self, info_dict): | ||||||
|  |         def format_note(fdict): | ||||||
|  |             if fdict.get('format_note') is not None: | ||||||
|  |                 return fdict['format_note'] | ||||||
|  |             res = u'' | ||||||
|  |             if fdict.get('vcodec') is not None: | ||||||
|  |                 res += fdict['vcodec'] | ||||||
|  |             if fdict.get('vbr') is not None: | ||||||
|  |                 res += u'@%4dk' % fdict['vbr'] | ||||||
|  |             if fdict.get('acodec') is not None: | ||||||
|  |                 if res: | ||||||
|  |                     res += u', ' | ||||||
|  |                 res += fdict['acodec'] | ||||||
|  |             if fdict.get('abr') is not None: | ||||||
|  |                 res += u'@%3dk' % fdict['abr'] | ||||||
|  |             return res | ||||||
|  |  | ||||||
|         def line(format): |         def line(format): | ||||||
|             return (u'%-20s%-10s%-12s%s' % ( |             return (u'%-20s%-10s%-12s%s' % ( | ||||||
|                 format['format_id'], |                 format['format_id'], | ||||||
|                 format['ext'], |                 format['ext'], | ||||||
|                 self.format_resolution(format), |                 self.format_resolution(format), | ||||||
|                 format.get('format_note', ''), |                 format_note(format), | ||||||
|                 ) |                 ) | ||||||
|             ) |             ) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -71,6 +71,10 @@ class InfoExtractor(object): | |||||||
|                                 ("3D" or "DASH video") |                                 ("3D" or "DASH video") | ||||||
|                     * width     Width of the video, if known |                     * width     Width of the video, if known | ||||||
|                     * height    Height of the video, if known |                     * height    Height of the video, if known | ||||||
|  |                     * 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 | ||||||
|     webpage_url:    The url to the video webpage, if given to youtube-dl it |     webpage_url:    The url to the video webpage, if given to youtube-dl it | ||||||
|                     should allow to get the same result again. (It will be set |                     should allow to get the same result again. (It will be set | ||||||
|                     by YoutubeDL if it's missing) |                     by YoutubeDL if it's missing) | ||||||
|   | |||||||
| @@ -78,12 +78,13 @@ class VevoIE(InfoExtractor): | |||||||
|                 continue |                 continue | ||||||
|  |  | ||||||
|             format_url = self._SMIL_BASE_URL + m.group('path') |             format_url = self._SMIL_BASE_URL + m.group('path') | ||||||
|             format_note = ('%(vcodec)s@%(vbr)4sk, %(acodec)s@%(abr)3sk' % |  | ||||||
|                            m.groupdict()) |  | ||||||
|             formats.append({ |             formats.append({ | ||||||
|                 'url': format_url, |                 'url': format_url, | ||||||
|                 'format_id': u'SMIL_' + m.group('cbr'), |                 'format_id': u'SMIL_' + m.group('cbr'), | ||||||
|                 'format_note': format_note, |                 'vcodec': m.group('vcodec'), | ||||||
|  |                 'acodec': m.group('acodec'), | ||||||
|  |                 'vbr': int(m.group('vbr')), | ||||||
|  |                 'abr': int(m.group('abr')), | ||||||
|                 'ext': m.group('ext'), |                 'ext': m.group('ext'), | ||||||
|                 'width': int(m.group('width')), |                 'width': int(m.group('width')), | ||||||
|                 'height': int(m.group('height')), |                 'height': int(m.group('height')), | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Philipp Hagemeister
					Philipp Hagemeister