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