ytdl-org/youtube-dl · error · ExtractorError

No video found

Error message

No video found

What it means

Raised by ChilloutzoneIE when after all parsing steps no video_url was produced. The extractor first tries a YouTube fallback, then native sources (youtube/vimeo) when source_priority == 'native'; if neither redirected and video_url is still empty, it reports 'No video found'.

Source

Thrown at youtube_dl/extractor/chilloutzone.py:88

        source_priority = video_info_dict['sourcePriority']

        # If nativePlatform is None a fallback mechanism is used (i.e. youtube embed)
        if native_platform is None:
            youtube_url = YoutubeIE._extract_url(webpage)
            if youtube_url:
                return self.url_result(youtube_url, ie=YoutubeIE.ie_key())

        # Non Fallback: Decide to use native source (e.g. youtube or vimeo) or
        # the own CDN
        if source_priority == 'native':
            if native_platform == 'youtube':
                return self.url_result(native_video_id, ie='Youtube')
            if native_platform == 'vimeo':
                return self.url_result(
                    'http://vimeo.com/' + native_video_id, ie='Vimeo')

        if not video_url:
            raise ExtractorError('No video found')

        return {
            'id': video_id,
            'url': video_url,
            'ext': 'mp4',
            'title': title,
            'description': description,
        }

View on GitHub (pinned to 956b8c5855)

Solutions

  1. Verify the post actually contains a video (open it in a browser).
  2. If it embeds another platform, copy that platform's direct URL and extract it.
  3. Update to yt-dlp / a maintained fork for current chilloutzone support.
  4. If the video exists, inspect the page's JSON blob and patch the extractor's parsing to the new keys.
Defensive patterns

Strategy: try-catch

Try / catch

from youtube_dl.utils import ExtractorError
try:
    ydl.extract_info(url)
except ExtractorError as e:
    if 'No video found' in str(e):
        skip(url)  # non-video post or unsupported embed platform
    else:
        raise

Prevention

When it happens

Trigger: A chilloutzone.net post whose data item has no usable media URL — posts that are image/text only, deleted or link-only posts, or an item type/JSON layout the extractor does not recognize, leaving video_url None.

Common situations: Non-video posts (galleries, jokes) being passed to the extractor; site markup/JSON changes in an unmaintained extractor; native embeds on platforms other than youtube/vimeo.

Related errors


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