{"record":{"id":"f1e637e516960faa","repo":"ytdl-org/youtube-dl","slug":"this-video-is-drm-protected-f1e637","errorCode":null,"errorMessage":"This video is DRM protected.","messagePattern":"This video is DRM protected\\.","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/npo.py","lineNumber":250,"sourceCode":"            stream_ext = determine_ext(stream_url)\n            if stream_type == 'application/dash+xml' or stream_ext == 'mpd':\n                formats.extend(self._extract_mpd_formats(\n                    stream_url, video_id, mpd_id='dash', fatal=False))\n            elif stream_type == 'application/vnd.apple.mpegurl' or stream_ext == 'm3u8':\n                formats.extend(self._extract_m3u8_formats(\n                    stream_url, video_id, ext='mp4',\n                    entry_protocol='m3u8_native', m3u8_id='hls', fatal=False))\n            elif re.search(r'\\.isml?/Manifest', stream_url):\n                formats.extend(self._extract_ism_formats(\n                    stream_url, video_id, ism_id='mss', fatal=False))\n            else:\n                formats.append({\n                    'url': stream_url,\n                })\n\n        if not formats:\n            if drm:\n                raise ExtractorError('This video is DRM protected.', expected=True)\n            return\n\n        self._sort_formats(formats)\n\n        info = {\n            'id': video_id,\n            'title': video_id,\n            'formats': formats,\n        }\n\n        embed_url = url_or_none(player.get('embedUrl'))\n        if embed_url:\n            webpage = self._download_webpage(\n                embed_url, video_id, 'Downloading embed page', fatal=False)\n            if webpage:\n                video = self._parse_json(\n                    self._search_regex(\n                        r'\\bvideo\\s*=\\s*({.+?})\\s*;', webpage, 'video',","sourceCodeStart":232,"sourceCodeEnd":268,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/npo.py#L232-L268","documentation":"Error \"This video is DRM protected.\" thrown in ytdl-org/youtube-dl.","triggerScenarios":"Thrown at youtube_dl/extractor/npo.py:250 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["DRM-protected content cannot be downloaded by youtube-dl; use an official player."],"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-15T22:17:37.221Z"}