diff options
| author | Richard Clamp <richardc@unixbeard.net> | 2011-09-21 17:29:25 +0100 | 
|---|---|---|
| committer | Richard Clamp <richardc@unixbeard.net> | 2011-09-21 17:29:25 +0100 | 
| commit | 58384838c31977305a13d45438743fc6a08383de (patch) | |
| tree | 47c5523a3fbf85d2ce198ded4baf117eabb46817 | |
| parent | abb870d1adb7440d0ac8bb397d8aea7e3057539d (diff) | |
Add support for vorbis files to --extract-audio
Add Ogg Vorbis as a file type when extracting the audio from a
file.  This can be the 'best' codec if the source clip is a webm
container.
| -rwxr-xr-x | youtube-dl | 12 | 
1 files changed, 8 insertions, 4 deletions
| diff --git a/youtube-dl b/youtube-dl index 02c31e4db..0e7f5d6eb 100755 --- a/youtube-dl +++ b/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 | 
