Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Libre
youtube-dl
Commits
a31a022e
Unverified
Commit
a31a022e
authored
Jun 18, 2020
by
Alex Merkel
Committed by
Sergey M․
Sep 14, 2020
Browse files
[postprocessor/embedthumbnail] Add support for non jpeg/png thumbnails (closes #25687)
parent
45f63624
Changes
1
Hide whitespace changes
Inline
Side-by-side
youtube_dl/postprocessor/embedthumbnail.py
View file @
a31a022e
...
...
@@ -41,6 +41,28 @@ class EmbedThumbnailPP(FFmpegPostProcessor):
'Skipping embedding the thumbnail because the file is missing.'
)
return
[],
info
# Check for mislabeled webp file
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
(
encodeFilename
(
thumbnail_filename
),
encodeFilename
(
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"
jpg_thumbnail_filename
=
os
.
path
.
join
(
os
.
path
.
dirname
(
jpg_thumbnail_filename
),
os
.
path
.
basename
(
jpg_thumbnail_filename
).
replace
(
'%'
,
'_'
))
# ffmpeg interprets % as image sequence
self
.
_downloader
.
to_screen
(
'[ffmpeg] Converting thumbnail "%s" to JPEG'
%
thumbnail_filename
)
self
.
run_ffmpeg
(
thumbnail_filename
,
jpg_thumbnail_filename
,
[
'-bsf:v'
,
'mjpeg2jpeg'
])
os
.
remove
(
encodeFilename
(
thumbnail_filename
))
thumbnail_filename
=
jpg_thumbnail_filename
if
info
[
'ext'
]
==
'mp3'
:
options
=
[
'-c'
,
'copy'
,
'-map'
,
'0'
,
'-map'
,
'1'
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment