瀏覽代碼

Default to -f best-audio when only audio is requested

Philipp Hagemeister 11 年之前
父節點
當前提交
de3ef3ed58
共有 2 個文件被更改,包括 6 次插入2 次删除
  1. 1 1
      youtube_dl/YoutubeDL.py
  2. 5 1
      youtube_dl/__init__.py

+ 1 - 1
youtube_dl/YoutubeDL.py

@@ -713,7 +713,7 @@ class YoutubeDL(object):
             self.list_formats(info_dict)
             return
 
-        req_format = self.params.get('format', 'best')
+        req_format = self.params.get('format')
         if req_format is None:
             req_format = 'best'
         formats_to_download = []

+ 5 - 1
youtube_dl/__init__.py

@@ -256,7 +256,7 @@ def parseOpts(overrideArguments=None):
 
 
     video_format.add_option('-f', '--format',
-            action='store', dest='format', metavar='FORMAT', default='best',
+            action='store', dest='format', metavar='FORMAT', default=None,
             help='video format code, specify the order of preference using slashes: "-f 22/17/18". "-f mp4" and "-f flv" are also supported. You can also use the special names "best", "bestaudio", and "worst"')
     video_format.add_option('--all-formats',
             action='store_const', dest='format', help='download all available video formats', const='all')
@@ -624,6 +624,10 @@ def _real_main(argv=None):
     if opts.default_search not in ('auto', None) and ':' not in opts.default_search:
         parser.error(u'--default-search invalid; did you forget a colon (:) at the end?')
 
+    # Do not download videos when there are audio-only formats
+    if opts.extractaudio and not opts.keepvideo and opts.format is None:
+        opts.format = 'bestaudio/best'
+
     # --all-sub automatically sets --write-sub if --write-auto-sub is not given
     # this was the old behaviour if only --all-sub was given.
     if opts.allsubtitles and (opts.writeautomaticsub == False):