|
@@ -259,6 +259,16 @@ def _real_main(argv=None):
|
|
'key': 'FFmpegVideoConvertor',
|
|
'key': 'FFmpegVideoConvertor',
|
|
'preferedformat': opts.recodevideo,
|
|
'preferedformat': opts.recodevideo,
|
|
})
|
|
})
|
|
|
|
+ # FFmpegMetadataPP should be run after FFmpegVideoConvertorPP and
|
|
|
|
+ # FFmpegExtractAudioPP as containers before conversion may not support
|
|
|
|
+ # metadata (3gp, webm, etc.)
|
|
|
|
+ # And this post-processor should be placed before other metadata
|
|
|
|
+ # manipulating post-processors (FFmpegEmbedSubtitle) to prevent loss of
|
|
|
|
+ # extra metadata. By default ffmpeg preserves metadata applicable for both
|
|
|
|
+ # source and target containers. From this point the container won't change,
|
|
|
|
+ # so metadata can be added here.
|
|
|
|
+ if opts.addmetadata:
|
|
|
|
+ postprocessors.append({'key': 'FFmpegMetadata'})
|
|
if opts.convertsubtitles:
|
|
if opts.convertsubtitles:
|
|
postprocessors.append({
|
|
postprocessors.append({
|
|
'key': 'FFmpegSubtitlesConvertor',
|
|
'key': 'FFmpegSubtitlesConvertor',
|
|
@@ -276,11 +286,6 @@ def _real_main(argv=None):
|
|
})
|
|
})
|
|
if not already_have_thumbnail:
|
|
if not already_have_thumbnail:
|
|
opts.writethumbnail = True
|
|
opts.writethumbnail = True
|
|
- # FFmpegMetadataPP should be run after FFmpegVideoConvertorPP and
|
|
|
|
- # FFmpegExtractAudioPP as containers before conversion may not support
|
|
|
|
- # metadata (3gp, webm, etc.)
|
|
|
|
- if opts.addmetadata:
|
|
|
|
- postprocessors.append({'key': 'FFmpegMetadata'})
|
|
|
|
# XAttrMetadataPP should be run after post-processors that may change file
|
|
# XAttrMetadataPP should be run after post-processors that may change file
|
|
# contents
|
|
# contents
|
|
if opts.xattrs:
|
|
if opts.xattrs:
|