This commit is contained in:
andrea-aus-hh 2024-12-17 15:21:21 +07:00 committed by GitHub
commit 6a649135ac
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 17 additions and 1 deletions

View File

@ -214,6 +214,7 @@ class YoutubeDL(object):
writeannotations: Write the video annotations to a .annotations.xml file
writethumbnail: Write the thumbnail image to a file
write_all_thumbnails: Write all thumbnail formats to files
thumbnailformat: Thumbnail format ID
writesubtitles: Write the video subtitles to a file
writeautomaticsub: Write the automatically generated subtitles to a file
allsubtitles: Downloads all the subtitles of the video
@ -2681,7 +2682,17 @@ class YoutubeDL(object):
def _write_thumbnails(self, info_dict, filename):
if self.params.get('writethumbnail', False):
thumbnails = info_dict.get('thumbnails')
thumbnailformat = self.params.get('thumbnailformat', False)
if thumbnails:
if thumbnailformat:
if thumbnailformat in [i.get('id') for i in thumbnails]:
thumbnails = [i for i in thumbnails if i.get('id') == thumbnailformat]
else:
self.report_warning('Thumbnail ID unavailable, falling back to default.'
' Check available thumbnail formats with the option --list-thumbnails'
)
thumbnails = [thumbnails[-1]]
else:
thumbnails = [thumbnails[-1]]
elif self.params.get('write_all_thumbnails', False):
thumbnails = info_dict.get('thumbnails')

View File

@ -373,6 +373,7 @@ def _real_main(argv=None):
'writeannotations': opts.writeannotations,
'writeinfojson': opts.writeinfojson,
'writethumbnail': opts.writethumbnail,
'thumbnailformat': opts.thumbnailformat,
'write_all_thumbnails': opts.write_all_thumbnails,
'writesubtitles': opts.writesubtitles,
'writeautomaticsub': opts.writeautomaticsub,

View File

@ -781,6 +781,10 @@ def parseOpts(overrideArguments=None):
'--write-thumbnail',
action='store_true', dest='writethumbnail', default=False,
help='Write thumbnail image to disk')
thumbnail.add_option(
'--thumbnail-format',
action='store', dest='thumbnailformat', metavar='ID', default=None,
help='Thumbnail format ID')
thumbnail.add_option(
'--write-all-thumbnails',
action='store_true', dest='write_all_thumbnails', default=False,