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

This commit is contained in:
Philipp Hagemeister 2014-01-22 14:53:23 +01:00
parent 8908741806
commit de3ef3ed58
2 changed files with 6 additions and 2 deletions

View 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 = []

View 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):