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

  1. Confirm the URL is an actual video page in a browser.
  2. 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.
  3. Try the direct RUTV URL if you can find it in the page and pass it to youtube-dl yourself.
  4. 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

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


AI-assisted analysis of ytdl-org/youtube-dl@956b8c5855 (2026-08-14). Data as JSON: /api/errors/9038add6893cb3fc. Report an issue: GitHub.