ytdl-org/youtube-dl · warning · ExtractorError
No video found
Error message
No video found
What it means
Raised by the Vesti extractor when, after checking the og:video meta redirect and the RUTV embed lookup, neither produced a rutv_url — i.e. the page exposes no video the extractor knows how to reach. expected=True: it is a 'this URL has no extractable video' outcome, raised as the last line of _real_extract.
Source
Thrown at youtube_dl/extractor/vesti.py:121
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('id')
page = self._download_webpage(url, video_id, 'Downloading page')
mobj = re.search(
r'<meta[^>]+?property="og:video"[^>]+?content="http://www\.vesti\.ru/i/flvplayer_videoHost\.swf\?vid=(?P<id>\d+)',
page)
if mobj:
video_id = mobj.group('id')
page = self._download_webpage('http://www.vesti.ru/only_video.html?vid=%s' % video_id, video_id,
'Downloading video page')
rutv_url = RUTVIE._extract_url(page)
if rutv_url:
return self.url_result(rutv_url, 'RUTV')
raise ExtractorError('No video found', expected=True)
View on GitHub (pinned to 956b8c5855)
Solutions
- Confirm the URL is an actual video page in a browser.
- If a video plays, view source and locate the current embed/iframe markup, then extend RUTVIE._extract_url or add a pattern for the new player.
- Try the direct RUTV URL if you can find it in the page and pass it to youtube-dl yourself.
- Skip these URLs in bulk jobs — the extractor explicitly declares no video found.
Defensive patterns
Strategy: try-catch
Validate before calling
html = fetch(url)
has_rutv = RUTVIE._extract_url(html) or re.search(
r'<meta[^>]+?property="og:video"[^>]+?content="http://www\.vesti\.ru/i/flvplayer_videoHost\.swf\?vid=\d+', html)
if not has_rutv:
skip(url, 'vesti page has no extractable video') Try / catch
try:
ydl.extract_info(url)
except ExtractorError as e:
if e.expected and 'No video found' in str(e):
continue # content condition
raise Prevention
- Only pass vesti.ru video article URLs to the extractor.
- Treat 'No video found' (expected=True) as a skip, not an alert.
- If it fires on real video pages, the embed markup changed — update RUTVIE._extract_url.
When it happens
Trigger: Extracting a vesti.ru article page with no og:video flvplayer_videoHost.swf meta tag and no RUTVIE._extract_url match in the HTML — plain news articles, photo pages, or redesigned templates.
Common situations: Vesti.ru restructured and moved to a different player/embed markup; users pass section or article index URLs; videos embedded via a player the RUTV pattern does not cover.
Related errors
- no video on the webpage
- %s said: %s
- Video %s is for friends only
- %s said: %s
- This video is not available from your country.
AI-assisted analysis of ytdl-org/youtube-dl@956b8c5855 (2026-08-14).
Data as JSON: /api/errors/9038add6893cb3fc.
Report an issue: GitHub.