FFmpegMetadataPP; Write temporary file to something.temp.{ext} (fixes #2079)
				
					
				
			ffmpeg correctly recognize the formats of extensions like m4a, but it doesn’t works if it’s passed with the `—format` option.
This commit is contained in:
		| @@ -10,6 +10,7 @@ from .utils import ( | ||||
|     PostProcessingError, | ||||
|     shell_quote, | ||||
|     subtitles_filename, | ||||
|     prepend_extension, | ||||
| ) | ||||
|  | ||||
|  | ||||
| @@ -496,13 +497,11 @@ class FFmpegMetadataPP(FFmpegPostProcessor): | ||||
|             return True, info | ||||
|  | ||||
|         filename = info['filepath'] | ||||
|         ext = os.path.splitext(filename)[1][1:] | ||||
|         temp_filename = filename + u'.temp' | ||||
|         temp_filename = prepend_extension(filename, 'temp') | ||||
|  | ||||
|         options = ['-c', 'copy'] | ||||
|         for (name, value) in metadata.items(): | ||||
|             options.extend(['-metadata', '%s=%s' % (name, value)]) | ||||
|         options.extend(['-f', ext]) | ||||
|  | ||||
|         self._downloader.to_screen(u'[ffmpeg] Adding metadata to \'%s\'' % filename) | ||||
|         self.run_ffmpeg(filename, temp_filename, options) | ||||
|   | ||||
| @@ -1119,3 +1119,8 @@ def parse_duration(s): | ||||
|         if m.group('hours'): | ||||
|             res += int(m.group('hours')) * 60 * 60 | ||||
|     return res | ||||
|  | ||||
|  | ||||
| def prepend_extension(filename, ext): | ||||
|     name, real_ext = os.path.splitext(filename)  | ||||
|     return u'{0}.{1}{2}'.format(name, ext, real_ext) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jaime Marquínez Ferrándiz
					Jaime Marquínez Ferrándiz