Browse Source

[__init__] Fix missing subtitles if --add-metadata is used (#12423)

The previous fix for #5594 is incorrect
master-ytdl-org
Yen Chi Hsuan 8 years ago
parent
commit
4605c94d1a
No known key found for this signature in database GPG Key ID: 7F902A182457CA23
2 changed files with 16 additions and 5 deletions
  1. +6
    -0
      ChangeLog
  2. +10
    -5
      youtube_dl/__init__.py

+ 6
- 0
ChangeLog View File

@ -1,3 +1,9 @@
version <unreleased>
Core
* Fix missing subtitles if --add-metadata is used (#12423)
version 2017.03.10 version 2017.03.10
Extractors Extractors


+ 10
- 5
youtube_dl/__init__.py View File

@ -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:


Loading…
Cancel
Save