mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	[postprocessor/ffmpeg] Add can_merge method
				
					
				
			This commit is contained in:
		| @@ -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): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user