Default to -f best-audio when only audio is requested
authorPhilipp Hagemeister <phihag@phihag.de>
Wed, 22 Jan 2014 13:53:23 +0000 (14:53 +0100)
committerPhilipp Hagemeister <phihag@phihag.de>
Wed, 22 Jan 2014 13:53:23 +0000 (14:53 +0100)
youtube_dl/YoutubeDL.py
youtube_dl/__init__.py

index 9f15616fa1a8c2cd7a2679795fdc8ccce76c6c00..1491f8908a55ee973acc2b6d4e9820a1d55281b6 100644 (file)
@@ -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 = []
index 4db97ad3c20e2f17ce5f9376fe9b7dd1487edc97..c15e6ef7ecb4e36b64c1e3e3664090262558bad1 100644 (file)
@@ -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):