fix ffmpeg error, if youtube-dl runs more than once with --embed-thumbnail with same video

totalwebcasting
pulpe 10 years ago committed by Jaime Marquínez Ferrándiz
parent 0c14e2fbe3
commit 149254d0d5

@ -91,7 +91,7 @@ from .version import __version__
from .YoutubeDL import YoutubeDL
from .postprocessor import (
AtomicParsleyPP,
FFmpegMediaFixPP,
FFmpegAudioFixPP,
FFmpegMetadataPP,
FFmpegVideoConvertor,
FFmpegExtractAudioPP,
@ -808,7 +808,7 @@ def _real_main(argv=None):
if opts.xattrs:
ydl.add_post_processor(XAttrMetadataPP())
if opts.embedthumbnail:
ydl.add_post_processor(FFmpegMediaFixPP())
ydl.add_post_processor(FFmpegAudioFixPP())
ydl.add_post_processor(AtomicParsleyPP())
# Update version

@ -1,7 +1,7 @@
from .atomicparsley import AtomicParsleyPP
from .ffmpeg import (
FFmpegMediaFixPP,
FFmpegAudioFixPP,
FFmpegMergerPP,
FFmpegMetadataPP,
FFmpegVideoConvertor,
@ -12,7 +12,7 @@ from .xattrpp import XAttrMetadataPP
__all__ = [
'AtomicParsleyPP',
'FFmpegMediaFixPP',
'FFmpegAudioFixPP',
'FFmpegMergerPP',
'FFmpegMetadataPP',
'FFmpegVideoConvertor',

@ -484,13 +484,13 @@ class FFmpegMergerPP(FFmpegPostProcessor):
return True, info
class FFmpegMediaFixPP(FFmpegPostProcessor):
class FFmpegAudioFixPP(FFmpegPostProcessor):
def run(self, info):
filename = info['filepath']
temp_filename = prepend_extension(filename, 'temp')
options = ['-vcodec', 'copy', '-acodec', 'copy']
self._downloader.to_screen(u'[ffmpeg] Fixing media file "%s"' % filename)
options = ['-vn', '-acodec', 'copy']
self._downloader.to_screen(u'[ffmpeg] Fixing audio file "%s"' % filename)
self.run_ffmpeg(filename, temp_filename, options)
os.remove(encodeFilename(filename))

Loading…
Cancel
Save