diff --git a/yt_dlp/extractor/wdr.py b/yt_dlp/extractor/wdr.py index 1c1f0ed05..05eaa7559 100644 --- a/yt_dlp/extractor/wdr.py +++ b/yt_dlp/extractor/wdr.py @@ -56,6 +56,7 @@ def _real_extract(self, url): formats = [] subtitles = {} + seen_manifest_urls = set() # check if the metadata contains a direct URL to a file for kind, media in media_resource.items(): @@ -76,6 +77,10 @@ def _real_extract(self, url): if tag_name not in ('videoURL', 'audioURL'): continue + if medium_url in seen_manifest_urls: + continue + seen_manifest_urls.add(medium_url) + ext = determine_ext(medium_url) if ext == 'm3u8': formats.extend(self._extract_m3u8_formats(