网页录屏黑屏、按钮点不动、报错看不懂:按四层排查

· 约 6 分钟 ⏺️ 屏幕录制

「录出来是黑屏」是网页录屏最高频的求助,但它不是一个故障。同样一片黑,背后至少有四类完全不同的原因,各自的解法互不相通——把它们分开是排查的第一步:

症状特征解法方向
安全上下文页面直接说不能用,连按钮都没有换成 HTTPS 或 localhost
操作系统权限浏览器自己录得到,别的窗口全黑系统设置里授权 + 重启浏览器
DRM 保护界面正常,只有视频那一块黑无解,属于设计如此
硬件叠加层游戏或播放器区域黑或定格换共享范围 / 关硬件加速

第一层:不是 HTTPS,接口根本不存在

屏幕采集是敏感权限,浏览器只在安全上下文里提供。非 HTTPS 访问时 Chrome 的处理很激进:把 navigator.mediaDevices 整个设为 undefined

这带来一个容易误判的现象——接口不是调用失败,而是压根不存在,从代码里看和「浏览器太老不支持」一模一样。但两者的解法相反:一个要换地址,一个要换浏览器。所以工具用 isSecureContext 单独判断了这一种,两种情况给的提示语是分开的。

哪些算安全上下文:

  • 任何 https:// 页面 —— ✅
  • http://localhosthttp://127.0.0.1 —— ✅ 例外算安全,本地开发不用配证书
  • http://192.168.x.x 这类局域网 IP —— ❌ 不算

最后一条是自建服务时的高频踩坑点:在自己电脑上开发一切正常,换成手机或同事电脑通过局域网 IP 访问就整个功能消失。这条限制和录屏工具无关,是浏览器对所有敏感权限的统一策略——跨设备摄像头串流也撞同一堵墙,那边的完整排查见跨设备摄像头串流连不上的 7 类原因

第二层:macOS 的系统级权限(Mac 用户必看)

macOS 从 Catalina 起把「读取屏幕内容」列为受保护能力,App 必须在系统设置里被单独授权。没授权时的表现很有辨识度:浏览器自己的窗口录得到,别的窗口和桌面是黑的

授权路径:系统设置 → 隐私与安全性 → 屏幕录制与系统录音,勾上你正在用的浏览器。

两个容易漏的细节:

  • 每个浏览器算一个独立 App。装了 Chrome、Edge、Safari 就要分别勾,在 Chrome 里授权过不影响 Edge
  • 改完必须完全退出浏览器再重开,用 Cmd+Q,不是关窗口。macOS 只在 App 启动时读一次这个权限

还要分清两层权限:浏览器里弹的「本站请求共享屏幕」是网站权限,系统设置里那个是应用权限。前者点了允许、后者没给,照样黑屏。

Windows 没有这一层,所以 Windows 用户的黑屏基本可以跳到第三、第四层。

第三层:DRM —— 界面正常,只有视频那块黑

受版权保护的视频在一条受保护的合成通道里解码显示,操作系统和浏览器会把这块画面从任何屏幕采集里排除。采集端拿到的是黑色像素——不是没读到,而是系统按规则给了黑色。

判断依据很清楚:播放器界面、菜单、进度条都录得到,唯独视频画面是黑的。如果是整屏全黑,那更可能是第二层的权限问题。

这条界限不该绕,本站也不提供任何绕过方法。有正当需求时的替代路径:

  • 需要课程内容做笔记 → 用平台自带的下载和笔记功能
  • 需要视频素材 → 找授权素材库或联系版权方
  • 只是想录自己的演示 → 换成不受保护的内容源,一切正常

第四层:硬件叠加层 —— 游戏和播放器的黑

为了省电和降延迟,视频播放和游戏常把画面直接送到显卡的独立叠加平面(overlay),不经过桌面合成器。屏幕采集读的是合成结果,于是那块区域是黑色或者定格在某一帧。

四个解法,按代价从小到大:

  1. 共享范围从「整个屏幕」改成「应用窗口」——走的合成路径不同,很多情况直接就好了,代价为零,值得先试
  2. 游戏从独占全屏改成无边框窗口——这是录游戏的标准做法,顺带避免切窗口时闪黑
  3. 关掉硬件加速——播放器自己的设置,或 Chrome 的设置 → 系统 → 使用硬件加速。代价是 CPU 占用上升,长时间录制要留意发热
  4. 换成系统自带录屏或专业录制软件——它们能挂到更底层的采集接口,网页方案在这里确实有天花板

多显卡笔记本还有一个额外坑:浏览器跑在集显、游戏跑在独显时也会黑屏。在系统的显卡设置里把两者指到同一块卡。

相邻问题:画面发灰、窗口最小化后定格

HDR 导致的发灰不属于黑屏家族,但常一起出现。屏幕开了 HDR 时系统在更宽的动态范围里合成,录制管道输出的是普通 SDR 视频,映射不对就整体发灰、高光泛白、暗部糊掉。录制期间在系统显示设置里关掉 HDR 是最干脆的解法;已经录坏的素材事后调色只能救回一部分,重录更划算。

选了「应用窗口」后把窗口最小化,画面会定住。这是窗口共享的固有行为——窗口没在渲染,就没有新画面可采。演示时需要切到别的软件的话,应该选「整个屏幕」,或者用 Chrome 的**「切换共享」**按钮换源(工具已经开启了这个能力,录制途中可以换,不必停下重来)。

多显示器缩放比例不一致时,跨屏拖动的窗口在录像里会忽大忽小或者边缘发虚。录之前把目标窗口整个放到同一块屏幕上。

六种错误提示各自对应什么

浏览器抛出的异常名工具都翻成了中文,对照着看能直接定位:

提示真实含义怎么办
当前地址无法调用屏幕录制不是安全上下文换 HTTPS 或 localhost
当前浏览器不支持网页录屏接口确实不存在换 Chrome / Edge
没有可共享的屏幕或窗口选择器里没选中任何源重新点开始,选一个源
屏幕内容被系统或其它程序占用采集通道被别的程序抓着退掉会议共享 / OBS,重开浏览器
当前屏幕不支持所选分辨率/帧率约束条件超出设备能力改选「原始画质」
页面不在前台,无法开始录制工具标签页被切走了切回前台再点开始

其中「被占用」最值得多说一句:常见来源是会议软件正在共享屏幕、另一个录屏或推流软件在运行、远程桌面会话,以及部分企业管控软件主动拦截。受管控的公司电脑可能由策略直接禁止屏幕采集,这种情况本机怎么调都没用,得找 IT。

用户在系统选择器里点「取消」不算错误,工具会静默返回,不弹任何提示——这是刻意的,误触取消再看到一个报错框很讨厌。

排查顺序

  1. 地址栏是 HTTPS 或 localhost 吗?
  2. Mac 上给过系统级屏幕录制权限、并且 Cmd+Q 重启过浏览器吗?
  3. 是整屏黑,还是只有视频那一块黑?(后者是 DRM,到此为止)
  4. 共享范围换成「应用窗口」试一次
  5. 游戏改无边框窗口,播放器关硬件加速
  6. 屏幕的 HDR 关了吗?

排掉之后就可以正常开录了:屏幕录制全程在浏览器内编码,画面不上传。录长会议、网课要注意内存问题,见录一小时怎么不崩;录完发现进度条读不出总时长是浏览器的已知缺陷,机制和修法见WebM 时长元数据;声音那一路的排查是另一套逻辑,见录屏没声音的完整排查

❓ 常见问题

为什么有的地址下页面直接说「无法调用屏幕录制」,按钮都没有?

屏幕采集属于安全上下文专属能力,普通 HTTP 页面在浏览器层就被切断了表现:非 HTTPS 访问时,Chrome 会把 navigator.mediaDevices 整个设为 undefined——不是接口调用失败,而是接口不存在,看起来和「浏览器太老不支持」一模一样。为什么必须分清:两者的解法完全相反,一个要换地址(换成 HTTPS 或 localhost),一个要换浏览器。工具因此用 isSecureContext 单独判断了这一种情况,提示语也是分开写的。哪些算安全上下文:(1) 任何 https:// 页面;(2) http://localhost 和 127.0.0.1 例外算安全,本地开发不用配证书;(3) 局域网 IP(192.168.x.x)走 HTTP 不算,这是自建服务时最常见的踩坑点。注意:这条限制和录屏工具无关,是浏览器对所有敏感权限的统一策略。

Mac 上第一次录,画面全黑或者只录到浏览器自己?

macOS 的系统级「屏幕录制」权限还没给,这一层在浏览器之外机制:macOS 从 Catalina 起把屏幕内容读取列为受保护能力,App 必须在系统设置里被单独授权,否则只能看到自己的窗口——所以表现是「浏览器界面能录到,别的窗口和桌面是黑的」。怎么开:系统设置 → 隐私与安全性 → 屏幕录制与系统录音,勾上你正在用的浏览器(Chrome、Edge、Safari 各算一个 App,装了多个要分别勾)。关键一步改完必须完全退出浏览器再重开,Cmd+Q 而不是关窗口——macOS 只在 App 启动时读一次这个权限,不重启就还是黑的。顺带:这一层和浏览器里的网站权限是两回事,网站权限弹窗点了允许,系统权限没给照样黑屏。

录视频网站是黑屏,能解决吗?

不能,这是平台的版权保护(DRM)在起作用,属于设计如此机制:受 DRM 保护的视频在一条受保护的合成通道里解码和显示,操作系统和浏览器会把这块画面从任何屏幕采集里排除,采集端拿到的就是黑色像素——不是工具没读到,而是系统按规则给了黑色。判断依据:界面、菜单、进度条都录得到,唯独视频区域是黑的,那就是 DRM;整屏全黑则更可能是上一条的系统权限问题。这条界限不该绕:绕过技术保护措施在多数地区都涉及法律风险,本站不提供任何绕过方法。正当的替代路径:(1) 需要课程内容做笔记 → 用平台自带的下载和笔记功能;(2) 需要素材 → 找授权素材库或联系版权方;(3) 只是想录自己的演示 → 换成不受保护的内容源就正常了。

录游戏或播放器黑屏、画面卡在某一帧?

硬件叠加层的典型症状——画面没走桌面合成,采集端拿到的是它下面那层背景:为了省电和降延迟,视频播放和游戏常把画面直接送到显卡的独立叠加平面(overlay),不经过桌面合成器。屏幕采集读的是合成结果,于是那块区域是黑色或者定格。四个解法,按代价从小到大:(1) 共享范围从「整个屏幕」改成「应用窗口」,走的合成路径不同,很多情况直接就好了;(2) 游戏从独占全屏改成无边框窗口,这是录游戏的标准做法,顺带避免切窗口时闪黑;(3) 关掉播放器或浏览器的硬件加速(Chrome 在设置 → 系统里),代价是 CPU 占用上升;(4) 换成系统自带录屏或专业录制软件,它们能挂到更底层的采集接口。多显卡笔记本还要注意:浏览器和游戏跑在不同的 GPU 上时也会黑屏,在系统的显卡设置里把两者指到同一块卡。

录出来画面发灰、发白、颜色和屏幕上不一样?

大概率是 HDR,不是黑屏家族,但常一起出现原因:屏幕开了 HDR 时,系统在更宽的动态范围里合成画面;录制管道输出的是普通的 SDR 视频,两者的映射关系不对就会整体发灰、高光泛白、暗部糊掉。解法:(1) 录制期间在系统显示设置里关掉 HDR,这是最干脆的一条;(2) 只想录一个窗口的话,改用「应用窗口」共享,有时能绕开;(3) 已经录坏的素材事后调色能救回一部分,但暗部细节丢了就是丢了,重录更划算。顺带一个相邻现象:多显示器缩放比例不一致时,跨屏拖动的窗口会在录像里忽大忽小或者边缘发虚——录之前把要录的窗口整个放到同一块屏幕上。

报「屏幕内容被系统或其它程序占用」是什么意思?

浏览器拿不到采集通道,通常有另一个程序正抓着它常见来源:(1) 会议软件正在共享屏幕(Zoom、Teams、飞书的共享状态);(2) 另一个录屏软件或推流软件(OBS)在运行;(3) 远程桌面会话;(4) 部分安全软件和企业管控软件会主动拦截屏幕读取。处理顺序:先退掉会议共享和其它录制软件 → 完全退出浏览器重开 → 还不行就重启系统(Windows 上驱动状态残留很常见)。企业设备特别注意:受管控的电脑可能由策略禁止屏幕采集,这种情况在本机怎么调都没用,得找 IT。其它几种错误的含义:「没有可共享的屏幕或窗口」多是选择器里什么都没选;「当前屏幕不支持所选分辨率/帧率」改选原始画质即可;「页面不在前台,无法开始录制」把工具标签页切回前台再点开始。

⏺️ 打开 屏幕录制 录屏幕/窗口/标签页·系统声音+麦克风·暂停续录·去头去尾·输出 MP4·本地不上传

📖 同一工具的其他教程

🔗 相关阅读

全部教程 →