ytdl-org/youtube-dl · error · ExtractorError
This video has been removed in response to a complaint recei
Error message
This video has been removed in response to a complaint received under the US Digital Millennium Copyright Act.
What it means
Raised by the Vube extractor when the video's API metadata has status field vst == 'dmca' and no playable formats were produced. Vube's backend marks the entry as taken down under a US DMCA complaint, so no media streams exist. youtube-dl surfaces this as an expected ExtractorError rather than attempting further downloads.
Source
Thrown at youtube_dl/extractor/vube.py:131
if media['transcoding_status'] != 'processed':
continue
fmt = {
'url': 'http://video.thestaticvube.com/video/%s/%s.mp4' % (media['media_resolution_id'], public_id),
'abr': int(media['audio_bitrate']),
'format_id': compat_str(media['media_resolution_id']),
}
vbr = int(media['video_bitrate'])
if vbr:
fmt.update({
'vbr': vbr,
'height': int(media['height']),
})
formats.append(fmt)
self._sort_formats(formats)
if not formats and video.get('vst') == 'dmca':
raise ExtractorError(
'This video has been removed in response to a complaint received under the US Digital Millennium Copyright Act.',
expected=True)
title = video['title']
description = video.get('description')
thumbnail = self._proto_relative_url(video.get('thumbnail_src'), scheme='http:')
uploader = video.get('user_alias') or video.get('channel')
timestamp = int_or_none(video.get('upload_time'))
duration = video['duration']
view_count = video.get('raw_view_count')
like_count = video.get('total_likes')
dislike_count = video.get('total_hates')
comments = video.get('comments')
comment_count = None
if comments is None:
comment_data = self._download_json(
'http://vube.com/api/video/%s/comment' % video_id,View on GitHub (pinned to 956b8c5855)
Solutions
- Accept that the content is legally removed and stop trying to download it — no client-side fix exists.
- Remove or mark the URL in your batch list and continue with --ignore-errors / -i so other videos proceed.
- Verify by opening the Vube page in a browser; the site itself will show the takedown notice.
- Look for a re-uploaded or official copy of the content elsewhere if you have a legitimate need.
Defensive patterns
Strategy: try-catch
Try / catch
try:
ydl.extract_info(url, download=True)
except ExtractorError as e:
if 'Digital Millennium Copyright Act' in str(e):
log_skip(url, reason='dmca-takedown')
else:
raise Prevention
- Curate URL lists periodically to drop known-taken-down videos.
- Run batch jobs with --ignore-errors so DMCA removals skip gracefully.
- Treat 'dmca' status as permanent — do not retry the URL.
When it happens
Trigger: Calling the Vube extractor on a video whose JSON metadata contains video['vst'] == 'dmca' while the media list yields zero formats; the check runs after format extraction and _sort_formats, only when formats is empty.
Common situations: Following an old link to a Vube video that was taken down after a rights-holder complaint; batch-archiving URLs where some targets have been DMCA-removed since the list was built.
Related errors
- Video %s is no longer available
- Generic error. flag = %d
- This video is not available from your country.
- Video %s is not available
- Invalid path
AI-assisted analysis of ytdl-org/youtube-dl@956b8c5855 (2026-08-14).
Data as JSON: /api/errors/59096d678b5606e7.
Report an issue: GitHub.