{"record":{"id":"36c8bf9400931e29","repo":"ytdl-org/youtube-dl","slug":"no-video-formats-found-36c8bf","errorCode":null,"errorMessage":"No video formats found","messagePattern":"No video formats found","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/common.py","lineNumber":1551,"sourceCode":"            if not input:\n                continue\n            if attrs.get('type') not in ('hidden', 'submit'):\n                continue\n            name = attrs.get('name') or attrs.get('id')\n            value = attrs.get('value')\n            if name and value is not None:\n                hidden_inputs[name] = value\n        return hidden_inputs\n\n    def _form_hidden_inputs(self, form_id, html):\n        form = self._search_regex(\n            r'(?is)<form[^>]+?id=([\"\\'])%s\\1[^>]*>(?P<form>.+?)</form>' % form_id,\n            html, '%s form' % form_id, group='form')\n        return self._hidden_inputs(form)\n\n    def _sort_formats(self, formats, field_preference=None):\n        if not formats:\n            raise ExtractorError('No video formats found')\n\n        for f in formats:\n            # Automatically determine tbr when missing based on abr and vbr (improves\n            # formats sorting in some cases)\n            if 'tbr' not in f and f.get('abr') is not None and f.get('vbr') is not None:\n                f['tbr'] = f['abr'] + f['vbr']\n\n        def _formats_key(f):\n            # TODO remove the following workaround\n            from ..utils import determine_ext\n            if not f.get('ext') and 'url' in f:\n                f['ext'] = determine_ext(f['url'])\n\n            if isinstance(field_preference, (list, tuple)):\n                return tuple(\n                    f.get(field)\n                    if f.get(field) is not None\n                    else ('' if field == 'format_id' else -1)","sourceCodeStart":1533,"sourceCodeEnd":1569,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/common.py#L1533-L1569","documentation":"Error \"No video formats found\" thrown in ytdl-org/youtube-dl.","triggerScenarios":"Thrown at youtube_dl/extractor/common.py:1551 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check if the video is region-locked or removed; try --proxy, --cookies, or another format with -F."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}