浏览代码

tweaked the --audio-quality input validation/specification

Filippo Valsorda 13 年之前
父节点
当前提交
3a68d7b467
共有 4 个文件被更改,包括 7 次插入3 次删除
  1. 2 2
      README.md
  2. 二进制
      youtube-dl
  3. 二进制
      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
 

二进制
youtube-dl


二进制
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({