Browse Source

tweaked the --audio-quality input validation/specification

Filippo Valsorda 13 years ago
parent
commit
3a68d7b467
4 changed files with 7 additions and 3 deletions
  1. 2 2
      README.md
  2. BIN
      youtube-dl
  3. BIN
      youtube-dl.exe
  4. 5 1
      youtube_dl/__init__.py

+ 2 - 2
README.md

@@ -91,8 +91,8 @@ which means you can modify it, redistribute it or use it however you like.
     --audio-format FORMAT    "best", "aac", "vorbis", "mp3", "m4a", or "wav";
                              best by default
     --audio-quality QUALITY  ffmpeg/avconv audio quality specification, insert a
-                             value between 0 (highest) and 9 (lowest) or a
-                             specific bitrate like 128 (default 5)
+                             value between 0 (better) and 9 (worse) for VBR or a
+                             specific bitrate like 128K (default 5)
     -k, --keep-video         keeps the video file on disk after the post-
                              processing; the video is erased by default
 

BIN
youtube-dl


BIN
youtube-dl.exe


+ 5 - 1
youtube_dl/__init__.py

@@ -297,7 +297,7 @@ def parseOpts():
 	postproc.add_option('--audio-format', metavar='FORMAT', dest='audioformat', default='best',
 			help='"best", "aac", "vorbis", "mp3", "m4a", or "wav"; best by default')
 	postproc.add_option('--audio-quality', metavar='QUALITY', dest='audioquality', default='5',
-			help='ffmpeg/avconv audio quality specification, insert a value between 0 (highest) and 9 (lowest) or a specific bitrate like 128 (default 5)')
+			help='ffmpeg/avconv audio quality specification, insert a value between 0 (better) and 9 (worse) for VBR or a specific bitrate like 128K (default 5)')
 	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')
 
@@ -443,6 +443,10 @@ def _real_main():
 	if opts.extractaudio:
 		if opts.audioformat not in ['best', 'aac', 'mp3', 'vorbis', 'm4a', 'wav']:
 			parser.error(u'invalid audio format specified')
+	if opts.audioquality:
+		opts.audioquality = opts.audioquality.strip('k').strip('K')
+		if not opts.audioquality.isdigit():
+			parser.error(u'invalid audio quality specified')
 
 	# File downloader
 	fd = FileDownloader({