[postprocessor/ffmpeg] Add `can_merge` method
This commit is contained in:
parent
7fcb605b82
commit
13763ce599
|
@ -36,9 +36,7 @@ class FFmpegPostProcessor(PostProcessor):
|
|||
def check_version(self):
|
||||
if not self.available:
|
||||
raise FFmpegPostProcessorError('ffmpeg or avconv not found. Please install one.')
|
||||
self.check_outdated()
|
||||
|
||||
def check_outdated(self):
|
||||
required_version = '10-0' if self.basename == 'avconv' else '1.0'
|
||||
if is_outdated_version(
|
||||
self._versions[self.basename], required_version):
|
||||
|
@ -46,8 +44,6 @@ class FFmpegPostProcessor(PostProcessor):
|
|||
self.basename, self.basename, required_version)
|
||||
if self._downloader:
|
||||
self._downloader.report_warning(warning)
|
||||
return True
|
||||
return False
|
||||
|
||||
@staticmethod
|
||||
def get_versions(downloader=None):
|
||||
|
@ -595,6 +591,23 @@ class FFmpegMergerPP(FFmpegPostProcessor):
|
|||
os.rename(encodeFilename(temp_filename), encodeFilename(filename))
|
||||
return info['__files_to_merge'], info
|
||||
|
||||
def can_merge(self):
|
||||
# TODO: figure out merge-capable ffmpeg version
|
||||
if self.basename != 'avconv':
|
||||
return True
|
||||
|
||||
required_version = '10-0'
|
||||
if is_outdated_version(
|
||||
self._versions[self.basename], required_version):
|
||||
warning = ('Your copy of %s is outdated and unable to properly mux separate video and audio files, '
|
||||
'youtube-dl will download single file media. '
|
||||
'Update %s to version %s or newer to fix this.') % (
|
||||
self.basename, self.basename, required_version)
|
||||
if self._downloader:
|
||||
self._downloader.report_warning(warning)
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
class FFmpegFixupStretchedPP(FFmpegPostProcessor):
|
||||
def run(self, info):
|
||||
|
|
Loading…
Reference in New Issue