diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index d40314ee5..a0ab89b3d 100644 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -908,6 +908,14 @@ class YoutubeDL(object): if info_dict.get('requested_formats') is not None: downloaded = [] 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']: new_info = dict(info_dict) new_info.update(f) @@ -916,7 +924,7 @@ class YoutubeDL(object): downloaded.append(fname) partial_success = dl(fname, new_info) success = success and partial_success - info_dict['__postprocessors'] = [FFmpegMergerPP(self)] + info_dict['__postprocessors'] = postprocessors info_dict['__files_to_merge'] = downloaded else: # Just a single file