mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	Merge pull request #172 from richardc/master
add support for vorbis to --extract-audio
This commit is contained in:
		
							
								
								
									
										12
									
								
								youtube-dl
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								youtube-dl
									
									
									
									
									
								
							| @@ -3351,12 +3351,14 @@ class FFmpegExtractAudioPP(PostProcessor): | ||||
|  | ||||
| 		more_opts = [] | ||||
| 		if self._preferredcodec == 'best' or self._preferredcodec == filecodec: | ||||
| 			if filecodec == 'aac' or filecodec == 'mp3': | ||||
| 			if filecodec == 'aac' or filecodec == 'mp3' or filecodec == 'vorbis': | ||||
| 				# Lossless if possible | ||||
| 				acodec = 'copy' | ||||
| 				extension = filecodec | ||||
| 				if filecodec == 'aac': | ||||
| 					more_opts = ['-f', 'adts'] | ||||
| 				if filecodec == 'vorbis': | ||||
| 					extension = 'ogg' | ||||
| 			else: | ||||
| 				# MP3 otherwise. | ||||
| 				acodec = 'libmp3lame' | ||||
| @@ -3366,13 +3368,15 @@ class FFmpegExtractAudioPP(PostProcessor): | ||||
| 					more_opts += ['-ab', self._preferredquality] | ||||
| 		else: | ||||
| 			# We convert the audio (lossy) | ||||
| 			acodec = {'mp3': 'libmp3lame', 'aac': 'aac'}[self._preferredcodec] | ||||
| 			acodec = {'mp3': 'libmp3lame', 'aac': 'aac', 'vorbis': 'libvorbis'}[self._preferredcodec] | ||||
| 			extension = self._preferredcodec | ||||
| 			more_opts = [] | ||||
| 			if self._preferredquality is not None: | ||||
| 				more_opts += ['-ab', self._preferredquality] | ||||
| 			if self._preferredcodec == 'aac': | ||||
| 				more_opts += ['-f', 'adts'] | ||||
| 			if self._preferredcodec == 'vorbis': | ||||
| 				extension = 'ogg' | ||||
|  | ||||
| 		(prefix, ext) = os.path.splitext(path) | ||||
| 		new_path = prefix + '.' + extension | ||||
| @@ -3600,7 +3604,7 @@ def parseOpts(): | ||||
| 	postproc.add_option('--extract-audio', action='store_true', dest='extractaudio', default=False, | ||||
| 			help='convert video files to audio-only files (requires ffmpeg and ffprobe)') | ||||
| 	postproc.add_option('--audio-format', metavar='FORMAT', dest='audioformat', default='best', | ||||
| 			help='"best", "aac" or "mp3"; best by default') | ||||
| 			help='"best", "aac", "vorbis" or "mp3"; best by default') | ||||
| 	postproc.add_option('--audio-quality', metavar='QUALITY', dest='audioquality', default='128K', | ||||
| 			help='ffmpeg audio bitrate specification, 128k by default') | ||||
| 	postproc.add_option('-k', '--keep-video', action='store_true', dest='keepvideo', default=False, | ||||
| @@ -3734,7 +3738,7 @@ def main(): | ||||
| 	except (TypeError, ValueError), err: | ||||
| 		parser.error(u'invalid playlist end number specified') | ||||
| 	if opts.extractaudio: | ||||
| 		if opts.audioformat not in ['best', 'aac', 'mp3']: | ||||
| 		if opts.audioformat not in ['best', 'aac', 'mp3', 'vorbis']: | ||||
| 			parser.error(u'invalid audio format specified') | ||||
|  | ||||
| 	# File downloader | ||||
|   | ||||
		Reference in New Issue
	
	Block a user