|
|
@ -908,6 +908,14 @@ class YoutubeDL(object):
|
|
|
|
if info_dict.get('requested_formats') is not None:
|
|
|
|
if info_dict.get('requested_formats') is not None:
|
|
|
|
downloaded = []
|
|
|
|
downloaded = []
|
|
|
|
success = True
|
|
|
|
success = True
|
|
|
|
|
|
|
|
merger = FFmpegMergerPP(self)
|
|
|
|
|
|
|
|
if not merger._get_executable():
|
|
|
|
|
|
|
|
postprocessors = []
|
|
|
|
|
|
|
|
self.report_warning('You have requested multiple '
|
|
|
|
|
|
|
|
'formats but ffmpeg or avconv are not installed.'
|
|
|
|
|
|
|
|
' The formats won\'t be merged')
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
postprocessors = [merger]
|
|
|
|
for f in info_dict['requested_formats']:
|
|
|
|
for f in info_dict['requested_formats']:
|
|
|
|
new_info = dict(info_dict)
|
|
|
|
new_info = dict(info_dict)
|
|
|
|
new_info.update(f)
|
|
|
|
new_info.update(f)
|
|
|
@ -916,7 +924,7 @@ class YoutubeDL(object):
|
|
|
|
downloaded.append(fname)
|
|
|
|
downloaded.append(fname)
|
|
|
|
partial_success = dl(fname, new_info)
|
|
|
|
partial_success = dl(fname, new_info)
|
|
|
|
success = success and partial_success
|
|
|
|
success = success and partial_success
|
|
|
|
info_dict['__postprocessors'] = [FFmpegMergerPP(self)]
|
|
|
|
info_dict['__postprocessors'] = postprocessors
|
|
|
|
info_dict['__files_to_merge'] = downloaded
|
|
|
|
info_dict['__files_to_merge'] = downloaded
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
# Just a single file
|
|
|
|
# Just a single file
|
|
|
|