1
0
mirror of https://github.com/ytdl-org/youtube-dl.git synced 2024-12-22 07:56:49 +00:00

Trying to add a thumbnail-format feature

This commit is contained in:
Andrea Lazzaretti 2021-04-13 00:19:29 +02:00
parent 4fb25ff5a3
commit e3d1f76f0e
3 changed files with 23 additions and 1 deletions

View File

@ -182,6 +182,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
@ -2425,8 +2426,24 @@ class YoutubeDL(object):
def _write_thumbnails(self, info_dict, filename):
if self.params.get('writethumbnail', False):
def try_and_return_int(s):
try:
int(s)
return int(s)
except ValueError:
return -1
thumbnails = info_dict.get('thumbnails')
if thumbnails:
thumbnailformat = try_and_return_int(self.params.get('thumbnailformat', False))
if thumbnailformat:
if thumbnailformat in range(len(thumbnails)):
thumbnails = [thumbnails[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

@ -371,6 +371,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

@ -773,6 +773,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,