diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index dca355b02..d65d771fc 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -3697,7 +3697,7 @@ class YoutubeDL: info['filepath'] = filename info = self.run_all_pps('post_process', info, additional_pps=info.get('__postprocessors')) info = self.run_pp(MoveFilesAfterDownloadPP(self), info) - del info['__multiple_thumbnails'] + info.pop('__multiple_thumbnails', None) return self.run_all_pps('after_move', info) def _make_archive_id(self, info_dict): diff --git a/yt_dlp/postprocessor/embedthumbnail.py b/yt_dlp/postprocessor/embedthumbnail.py index 559fbfd44..cc148ab20 100644 --- a/yt_dlp/postprocessor/embedthumbnail.py +++ b/yt_dlp/postprocessor/embedthumbnail.py @@ -226,6 +226,6 @@ class EmbedThumbnailPP(FFmpegPostProcessor): info=info) if not self._already_have_thumbnail: - del info['thumbnails'][idx]['filepath'] + info['thumbnails'][idx].pop('filepath', None) return [], info diff --git a/yt_dlp/postprocessor/ffmpeg.py b/yt_dlp/postprocessor/ffmpeg.py index 3c069c8c6..6492ebe1f 100644 --- a/yt_dlp/postprocessor/ffmpeg.py +++ b/yt_dlp/postprocessor/ffmpeg.py @@ -662,6 +662,10 @@ class FFmpegEmbedSubtitlePP(FFmpegPostProcessor): self.run_ffmpeg_multiple_files(input_files, temp_filename, opts) os.replace(temp_filename, filename) + if not self._already_have_subtitle: + for _, subtitle in subtitles.items(): + subtitle.pop('filepath', None) + files_to_delete = [] if self._already_have_subtitle else sub_filenames return files_to_delete, info @@ -698,6 +702,7 @@ class FFmpegMetadataPP(FFmpegPostProcessor): infojson_filename = info.get('infojson_filename') options.extend(self._get_infojson_opts(info, infojson_filename)) if not infojson_filename: + info.pop('infojson_filename', None) files_to_delete.append(info.get('infojson_filename')) elif self._add_infojson is True: self.to_screen('The info-json can only be attached to mkv/mka files')