mirror of https://github.com/yt-dlp/yt-dlp.git
[postprocessor/embedthumbnail] Add detection for mislabeled WebP files
This commit is contained in:
parent
777d5a45be
commit
e987deb504
|
@ -41,8 +41,19 @@ class EmbedThumbnailPP(FFmpegPostProcessor):
|
||||||
'Skipping embedding the thumbnail because the file is missing.')
|
'Skipping embedding the thumbnail because the file is missing.')
|
||||||
return [], info
|
return [], info
|
||||||
|
|
||||||
if not os.path.splitext(encodeFilename(thumbnail_filename))[1].lower() in ['.jpg', '.png']:
|
#Check for mislabeled webp file
|
||||||
jpg_thumbnail_filename = thumbnail_filename + ".jpg"
|
with open(encodeFilename(thumbnail_filename), "rb") as f:
|
||||||
|
b = f.read(16)
|
||||||
|
if b'\x57\x45\x42\x50' in b: #Binary for WEBP
|
||||||
|
[thumbnail_filename_path, thumbnail_filename_extension] = os.path.splitext(thumbnail_filename)
|
||||||
|
if not thumbnail_filename_extension == ".webp":
|
||||||
|
webp_thumbnail_filename = thumbnail_filename_path + ".webp"
|
||||||
|
os.rename(thumbnail_filename, webp_thumbnail_filename)
|
||||||
|
thumbnail_filename = webp_thumbnail_filename
|
||||||
|
|
||||||
|
#If not a jpg or png thumbnail, convert it to jpg using ffmpeg
|
||||||
|
if not os.path.splitext(thumbnail_filename)[1].lower() in ['.jpg', '.png']:
|
||||||
|
jpg_thumbnail_filename = os.path.splitext(thumbnail_filename)[0] + ".jpg"
|
||||||
|
|
||||||
self._downloader.to_screen('[ffmpeg] Converting thumbnail "%s" to JPEG' % thumbnail_filename)
|
self._downloader.to_screen('[ffmpeg] Converting thumbnail "%s" to JPEG' % thumbnail_filename)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue