mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	changed --audio-quality behaviour to support both CBR and VBR
This commit is contained in:
		| @@ -90,8 +90,9 @@ which means you can modify it, redistribute it or use it however you like. | |||||||
|                              ffmpeg or avconv and ffprobe or avprobe) |                              ffmpeg or avconv and ffprobe or avprobe) | ||||||
|     --audio-format FORMAT    "best", "aac", "vorbis", "mp3", "m4a", or "wav"; |     --audio-format FORMAT    "best", "aac", "vorbis", "mp3", "m4a", or "wav"; | ||||||
|                              best by default |                              best by default | ||||||
|     --audio-quality QUALITY  ffmpeg/avconv audio bitrate specification, 128k by |     --audio-quality QUALITY  ffmpeg/avconv audio quality specification, insert a | ||||||
|                              default |                              value between 0 (highest) and 9 (lowest) or a | ||||||
|  |                              specific bitrate like 128 (default 5) | ||||||
|     -k, --keep-video         keeps the video file on disk after the post- |     -k, --keep-video         keeps the video file on disk after the post- | ||||||
|                              processing; the video is erased by default |                              processing; the video is erased by default | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										
											BIN
										
									
								
								youtube-dl
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								youtube-dl
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -142,14 +142,20 @@ class FFmpegExtractAudioPP(PostProcessor): | |||||||
| 				extension = 'mp3' | 				extension = 'mp3' | ||||||
| 				more_opts = [] | 				more_opts = [] | ||||||
| 				if self._preferredquality is not None: | 				if self._preferredquality is not None: | ||||||
| 					more_opts += [self._exes['avconv'] and '-b:a' or '-ab', self._preferredquality] | 					if int(self._preferredquality) < 10: | ||||||
|  | 						more_opts += [self._exes['avconv'] and '-q:a' or '-aq', self._preferredquality] | ||||||
|  | 					else: | ||||||
|  | 						more_opts += [self._exes['avconv'] and '-b:a' or '-ab', self._preferredquality] | ||||||
| 		else: | 		else: | ||||||
| 			# We convert the audio (lossy) | 			# We convert the audio (lossy) | ||||||
| 			acodec = {'mp3': 'libmp3lame', 'aac': 'aac', 'm4a': 'aac', 'vorbis': 'libvorbis', 'wav': None}[self._preferredcodec] | 			acodec = {'mp3': 'libmp3lame', 'aac': 'aac', 'm4a': 'aac', 'vorbis': 'libvorbis', 'wav': None}[self._preferredcodec] | ||||||
| 			extension = self._preferredcodec | 			extension = self._preferredcodec | ||||||
| 			more_opts = [] | 			more_opts = [] | ||||||
| 			if self._preferredquality is not None: | 			if self._preferredquality is not None: | ||||||
| 				more_opts += [self._exes['avconv'] and '-b:a' or '-ab', self._preferredquality] | 				if int(self._preferredquality) < 10: | ||||||
|  | 					more_opts += [self._exes['avconv'] and '-q:a' or '-aq', self._preferredquality] | ||||||
|  | 				else: | ||||||
|  | 					more_opts += [self._exes['avconv'] and '-b:a' or '-ab', self._preferredquality] | ||||||
| 			if self._preferredcodec == 'aac': | 			if self._preferredcodec == 'aac': | ||||||
| 				more_opts += ['-f', 'adts'] | 				more_opts += ['-f', 'adts'] | ||||||
| 			if self._preferredcodec == 'm4a': | 			if self._preferredcodec == 'm4a': | ||||||
|   | |||||||
| @@ -296,8 +296,8 @@ def parseOpts(): | |||||||
| 			help='convert video files to audio-only files (requires ffmpeg or avconv and ffprobe or avprobe)') | 			help='convert video files to audio-only files (requires ffmpeg or avconv and ffprobe or avprobe)') | ||||||
| 	postproc.add_option('--audio-format', metavar='FORMAT', dest='audioformat', default='best', | 	postproc.add_option('--audio-format', metavar='FORMAT', dest='audioformat', default='best', | ||||||
| 			help='"best", "aac", "vorbis", "mp3", "m4a", or "wav"; best by default') | 			help='"best", "aac", "vorbis", "mp3", "m4a", or "wav"; best by default') | ||||||
| 	postproc.add_option('--audio-quality', metavar='QUALITY', dest='audioquality', default='128K', | 	postproc.add_option('--audio-quality', metavar='QUALITY', dest='audioquality', default='5', | ||||||
| 			help='ffmpeg/avconv audio bitrate specification, 128k by default') | 			help='ffmpeg/avconv audio quality specification, insert a value between 0 (highest) and 9 (lowest) or a specific bitrate like 128 (default 5)') | ||||||
| 	postproc.add_option('-k', '--keep-video', action='store_true', dest='keepvideo', default=False, | 	postproc.add_option('-k', '--keep-video', action='store_true', dest='keepvideo', default=False, | ||||||
| 			help='keeps the video file on disk after the post-processing; the video is erased by default') | 			help='keeps the video file on disk after the post-processing; the video is erased by default') | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Filippo Valsorda
					Filippo Valsorda