笔记本通常有 1 个内置摄像头,外接摄像头会显示在这里。
当前 1.0x(需摄像头支持)
开启摄像头后,这里显示实时参数。
| 现象 | 可能原因 | 怎么处理 |
|---|---|---|
| 画面全黑 | 物理遮挡盖没打开、驱动异常、被其他程序独占 | 检查遮挡盖;关掉会议软件;重启浏览器 |
| 画面很卡 / 帧率低 | USB 带宽不足、分辨率过高、CPU 占用高 | 降低分辨率到 720p;换 USB 口;关掉其他程序 |
| 画面模糊 | 脏了、对焦没合上、本身是低分辨率摄像头 | 擦拭镜头;点画面触发对焦;看实际分辨率是否偏低 |
| 颜色偏色 | 白平衡未收敛、环境光特殊 | 等几秒让白平衡稳定;换个光线环境 |
| 开启后立刻断开 | 驱动崩溃、供电不足(USB 延长线) | 换 USB 口直连;更新驱动 |
| 找不到摄像头 | 未接入、被系统禁用 | 检查连接与系统隐私设置 |
⚠️ 说明:摄像头画面全程只在你的浏览器本地显示与处理,不录制、不截图上传、不保存。
拍照生成的图片仅保存在本地内存中,点「下载照片」才会存到你的设备;刷新页面即丢失。
变焦 / 曝光调节依赖 ImageCapture,仅部分浏览器与摄像头支持,不支持时该项会自动隐藏。
功能依赖 HTTPS 环境与摄像头权限。
开视频会议前发现画面全黑、新买的摄像头不知道好不好用、笔记本摄像头莫名其妙糊了——排查的第一步就是看看它到底输出了什么。
这个工具把摄像头画面直接摆在页面上,同时告诉你:
① 实际分辨率:注意是「实际」而不是「标称」。很多摄像头标 1080p,实际给你的可能是 720p 甚至更低;
② 实时帧率:低于 20 fps 就会明显卡顿,正常应该接近 30 fps;
③ 设备名称:确认系统识别到的是不是你想要的那颗摄像头;
④ 变焦调节:摄像头支持的话可以直接拉(依赖 ImageCapture,不支持会自动隐藏)。
怎么用:
· 点「📹 开启摄像头」,允许权限;
· 有多个摄像头时在下拉框切换;
· 想测不同分辨率就切换分辨率档位,看画面是否变清晰 / 变卡;
· 点「📸 拍照」可以拍一张下来看细节(是否模糊、偏色、有噪点)。
画面全程在本地,不录制、不上传——这也是它比某些在线检测站更适合排查公司设备的原因。
怎么实现:
① 取流:`getUserMedia({ video: { deviceId, width, height } })`,分辨率档位转成 `ideal` 约束(用 ideal 而不是 exact,避免摄像头不支持时直接失败);
② 设备列表:`enumerateDevices()` 过滤 `videoinput`,设备名在授权前可能为空,因此先取流再枚举才能拿到完整名称;
③ 实际参数:`track.getSettings()` 读 `width/height/frameRate/deviceId`——这是「实际给你的」,比标称值可靠;
④ 帧率统计:用 `requestVideoFrameCallback`(支持时)或 `requestAnimationFrame` 计时,每 500ms 汇总一次 fps;
⑤ 变焦:`new ImageCapture(track)` → `getPhotoCapabilities()` 判断是否支持 zoom,支持才显示滑杆,设置走 `track.applyConstraints({ advanced:[{zoom}] })`;
⑥ 拍照:把 video 当前帧 `drawImage` 到 canvas → `toBlob` → 生成预览与下载链接。
它不做:不录像、不加滤镜、不调节曝光补偿(浏览器 API 限制)、不保存任何画面。
track.getSettings(),即系统实际给到浏览器的规格,可信度比商品页高。ImageCapture.getPhotoCapabilities(),需要浏览器和摄像头同时支持。审核通过后就会展示在留言板上,稍安勿躁~
还没有留言,来抢沙发吧!