aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUnknown <blackjack4494@web.de>2020-09-01 00:13:48 +0200
committerUnknown <blackjack4494@web.de>2020-09-01 00:13:48 +0200
commit2b5a93600c4d43922a2d3e1a1e71dec1473dff55 (patch)
treefdf89483f2f4882eb10a8ba063554ba2869d1190
parent992083bd730d7c5bd5c46dd4909346acc6357cbb (diff)
parentfbfeb7c74a8d672337ce1ddb295fc5238a1558ac (diff)
downloadhypervideo-pre-2b5a93600c4d43922a2d3e1a1e71dec1473dff55.tar.lz
hypervideo-pre-2b5a93600c4d43922a2d3e1a1e71dec1473dff55.tar.xz
hypervideo-pre-2b5a93600c4d43922a2d3e1a1e71dec1473dff55.zip
Merge remote-tracking branch 'origin/master'
-rw-r--r--youtube_dl/postprocessor/embedthumbnail.py22
-rw-r--r--youtube_dl/utils.py1
2 files changed, 23 insertions, 0 deletions
diff --git a/youtube_dl/postprocessor/embedthumbnail.py b/youtube_dl/postprocessor/embedthumbnail.py
index 56be914b8..e2002ab0b 100644
--- a/youtube_dl/postprocessor/embedthumbnail.py
+++ b/youtube_dl/postprocessor/embedthumbnail.py
@@ -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',
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
index d1eca3760..c73f5e0ca 100644
--- a/youtube_dl/utils.py
+++ b/youtube_dl/utils.py
@@ -4173,6 +4173,7 @@ def mimetype2ext(mt):
# Per RFC 3003, audio/mpeg can be .mp1, .mp2 or .mp3. Here use .mp3 as
# it's the most popular one
'audio/mpeg': 'mp3',
+ 'audio/x-wav': 'wav',
}.get(mt)
if ext is not None:
return ext