{"record":{"id":"b36100f378825126","repo":"ytdl-org/youtube-dl","slug":"could-not-find-video-title","errorCode":null,"errorMessage":"Could not find video title","messagePattern":"Could not find video title","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/mtv.py","lineNumber":176,"sourceCode":"        description = strip_or_none(xpath_text(itemdoc, 'description'))\n\n        timestamp = timeconvert(xpath_text(itemdoc, 'pubDate'))\n\n        title_el = None\n        if title_el is None:\n            title_el = find_xpath_attr(\n                itemdoc, './/{http://search.yahoo.com/mrss/}category',\n                'scheme', 'urn:mtvn:video_title')\n        if title_el is None:\n            title_el = itemdoc.find(compat_xpath('.//{http://search.yahoo.com/mrss/}title'))\n        if title_el is None:\n            title_el = itemdoc.find(compat_xpath('.//title'))\n            if title_el.text is None:\n                title_el = None\n\n        title = title_el.text\n        if title is None:\n            raise ExtractorError('Could not find video title')\n        title = title.strip()\n\n        # This a short id that's used in the webpage urls\n        mtvn_id = None\n        mtvn_id_node = find_xpath_attr(itemdoc, './/{http://search.yahoo.com/mrss/}category',\n                                       'scheme', 'urn:mtvn:id')\n        if mtvn_id_node is not None:\n            mtvn_id = mtvn_id_node.text\n\n        formats = self._extract_video_formats(mediagen_doc, mtvn_id, video_id)\n\n        # Some parts of complete video may be missing (e.g. missing Act 3 in\n        # http://www.southpark.de/alle-episoden/s14e01-sexual-healing)\n        if not formats:\n            return None\n\n        self._sort_formats(formats)\n","sourceCodeStart":158,"sourceCodeEnd":194,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/mtv.py#L158-L194","documentation":"Raised by MTV's _get_video_info when the RSS/mrss item doc yields no usable title element: neither the 'urn:mtvn:video_title' category, nor the mrss <title>, nor a plain <title> with non-None text. The final title_el.text being None triggers this unexpected (not expected=True) ExtractorError, which usually indicates a page/schema change rather than a user mistake.","triggerScenarios":"MTV-family item XML where all three title lookups fail or the fallback <title> element exists with null text, so title_el ends as None and .text access yields None.","commonSituations":"MTV sub-sites shipping redesigned RSS feeds lacking the mrss title category; extractor versions predating a site redesign; rare feeds that legitimately have empty titles, exposing brittle parsing.","solutions":["Update youtube-dl (or migrate to yt-dlp, which has far more current MTV-family maintenance).","If it persists on the latest version, report the URL — the title fallback chain needs a new pattern.","As a workaround for scripting, catch the ExtractorError and supply a manual title with -o metadata if you can still obtain formats another way."],"exampleFix":"pip install -U yt-dlp   # youtube-dl's MTV extractors are stale; yt-dlp is actively maintained","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"except ExtractorError as e:\n    if 'Could not find video title' in str(e):\n        report_upstream(url, site='mtv')  # parsing bug, not user error\n    else:\n        raise","preventionTips":["Use yt-dlp for MTV-family sites — its extractors are actively maintained.","Treat this error as a version problem first: update before debugging.","In pipelines, allow manual title override (-o metadata) if formats still extract elsewhere."],"tags":["extractor","api-change","metadata","unexpected-error"],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}