1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2026-01-06 06:51:30 +00:00

[EmbedThumbnail] Add compat-option embed-thumbnail-atomicparsley

to force use of atomicparsley for embedding thumbnails in mp4

Related: #411
This commit is contained in:
pukkandan
2021-06-15 15:04:49 +05:30
parent 7e87e27c52
commit e858a9d6d3
4 changed files with 8 additions and 4 deletions

View File

@@ -391,8 +391,9 @@ class YoutubeDL(object):
compat_opts: Compatibility options. See "Differences in default behavior".
Note that only format-sort, format-spec, no-live-chat,
no-attach-info-json, playlist-index, list-formats,
no-direct-merge, no-youtube-channel-redirect,
and no-youtube-unavailable-videos works when used via the API
no-direct-merge, embed-thumbnail-atomicparsley,
no-youtube-unavailable-videos, no-youtube-channel-redirect,
works when used via the API
The following parameters are not used by YoutubeDL itself, they are used by
the downloader (see yt_dlp/downloader/common.py):

View File

@@ -268,6 +268,7 @@ def _real_main(argv=None):
'filename', 'format-sort', 'abort-on-error', 'format-spec', 'no-playlist-metafiles',
'multistreams', 'no-live-chat', 'playlist-index', 'list-formats', 'no-direct-merge',
'no-youtube-channel-redirect', 'no-youtube-unavailable-videos', 'no-attach-info-json',
'embed-thumbnail-atomicparsley',
]
compat_opts = parse_compat_opts()

View File

@@ -125,8 +125,9 @@ class EmbedThumbnailPP(FFmpegPostProcessor):
self.run_ffmpeg(filename, temp_filename, options)
elif info['ext'] in ['m4a', 'mp4', 'mov']:
prefer_atomicparsley = 'embed-thumbnail-atomicparsley' in self.get_param('compat_opts', [])
# Method 1: Use mutagen
if not has_mutagen:
if not has_mutagen or prefer_atomicparsley:
success = False
else:
try:
@@ -145,7 +146,7 @@ class EmbedThumbnailPP(FFmpegPostProcessor):
success = False
# Method 2: Use ffmpeg+ffprobe
if not success:
if not success and not prefer_atomicparsley:
success = True
try:
options = ['-c', 'copy', '-map', '0', '-dn', '-map', '1']