]> jfr.im git - yt-dlp.git/blobdiff - youtube_dlc/postprocessor/embedthumbnail.py
Preparing for release
[yt-dlp.git] / youtube_dlc / postprocessor / embedthumbnail.py
index 4a0d02fc4a226a0d096965019d24c8eab76780c3..94e3eca9810ff646f7a6dd266b3bbcfcbc51e9be 100644 (file)
@@ -76,8 +76,8 @@ def is_webp(path):
 
         if info['ext'] == 'mp3':
             options = [
-                '-c', 'copy', '-map', '0', '-map', '1',
-                '-metadata:s:v', 'title="Album cover"', '-metadata:s:v', 'comment="Cover (Front)"']
+                '-c', 'copy', '-map', '0:0', '-map', '1:0', '-id3v2_version', '3',
+                '-metadata:s:v', 'title="Album cover"', '-metadata:s:v', 'comment="Cover (front)"']
 
             self._downloader.to_screen('[ffmpeg] Adding thumbnail to "%s"' % filename)
 
@@ -89,12 +89,15 @@ def is_webp(path):
             os.rename(encodeFilename(temp_filename), encodeFilename(filename))
 
         elif info['ext'] == 'mkv':
-            os.rename(encodeFilename(thumbnail_filename), encodeFilename('cover.jpg'))
             old_thumbnail_filename = thumbnail_filename
-            thumbnail_filename = 'cover.jpg'
+            thumbnail_filename = os.path.join(os.path.dirname(old_thumbnail_filename), 'cover.jpg')
+            if os.path.exists(thumbnail_filename):
+                os.remove(encodeFilename(thumbnail_filename))
+            os.rename(encodeFilename(old_thumbnail_filename), encodeFilename(thumbnail_filename))
 
             options = [
-                '-c', 'copy', '-attach', thumbnail_filename, '-metadata:s:t', 'mimetype=image/jpeg']
+                '-c', 'copy', '-map', '0',
+                '-attach', thumbnail_filename, '-metadata:s:t', 'mimetype=image/jpeg']
 
             self._downloader.to_screen('[ffmpeg] Adding thumbnail to "%s"' % filename)
 
@@ -140,6 +143,6 @@ def is_webp(path):
                 os.remove(encodeFilename(filename))
                 os.rename(encodeFilename(temp_filename), encodeFilename(filename))
         else:
-            raise EmbedThumbnailPPError('Only mp3 and m4a/mp4 are supported for thumbnail embedding for now.')
+            raise EmbedThumbnailPPError('Only mp3, mkv, m4a and mp4 are supported for thumbnail embedding for now.')
 
         return [], info