[postprocessor/ffmpeg] Add can_merge method
				
					
				
			This commit is contained in:
		
							parent
							
								
									7fcb605b82
								
							
						
					
					
						commit
						13763ce599
					
				
					 1 changed files with 17 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue