RDP 远程桌面连接:浏览器无法获取摄像头

最近在做 WebRTC 音视频会议,在调试的时候遇到了问题

本地调试能够获取摄像头列表,也能正常加载摄像头

我想着,让另外一台电脑也访问前端页面,看看能不能获取到摄像头

结果我通过 RDP 桌面远程另外一台电脑,发现死活拿不到摄像头

后来发现,关了 RDP 桌面远程,直接在那台电脑上能够打开摄像头

🧠 背后原理

Windows 的会话机制大致如下:

场景 会话编号 能否访问物理摄像头
本地登录 Session 1 ✅ 可以
RDP 登录 Session 2 (远程会话) ❌ 不行
断开 RDP、返回本地 回到 Session 1 ✅ 恢复正常

✅ 问题本质:RDP 登录会锁定或虚拟化本地会话 (Console Session)

这其实是 Windows 的一个"陷阱"问题:

当你通过 RDP 登录时,Windows 会把你从 物理控制台会话(Session 1) 切换到一个新的 远程会话(Session X)。

而 摄像头设备(如 USB Camera、Integrated Camera) 是绑定到 控制台会话 的。

👉 所以:

  • 当 物理登录(显示器+键盘) 时,摄像头属于 Session 1;
  • 当通过 RDP 登录 时,系统切换到 Session 2;
  • 摄像头不会映射进 Session 2,浏览器在这个会话里自然就"看不到摄像头"。

这就是为什么:

🔹 本地登录(或退出 RDP)后浏览器能获取摄像头;

🔹 一旦 RDP 登录,摄像头立即消失。

简单一句话,RDP 桌面远程 和 摄像头 不在同一个会话中

解决办法:折腾了半天,最终妥协 ------> 用 向日葵 远程

相关推荐
小此方3 天前
「插曲:Git」企业规范篇:DevOps开发模型、Git Flow五类分支设计与测试/预发布/生产环境Bug修复及Hotfix紧急发布流程
git·bug·devops
中文英文-我选中文5 天前
FreeRTOS 玄学Bug:调换任务创建顺序,程序时而正常、时而死机(栈溢出内存踩踏深度复盘)
bug
Keven_115 天前
BUG:UVA116
算法·bug·图论
鬼手点金5 天前
opencode-隐私优先配置
服务器·前端·javascript·bug·openclaw
itmigrate7 天前
异步请求竞态,藏在页面渲染里的隐形bug
bug
今夕资源网8 天前
OmniVoice 今夕整合包 本地语音TTS断网可用 修复了一些BUG 优化生成速度 极速秒生成
bug·语音克隆·omnivoice·断网可用·本地语音tts·语音tts
烧烧的酒0.o12 天前
Codex桌面版更新后不能使用最新模型问题-排查修复总结
chatgpt·bug
sg_knight13 天前
ZCode Bug 定位实战:把报错丢给 ZCode,它是怎么修的
llm·bug·agent·ai编程·glm·智谱·zcode
轩轶子14 天前
Python CLI Todo:一次数据结构错误引发的 Bug
数据结构·python·bug
鬼手点金14 天前
Claude Code示范案例-修复 Bug 工作流
java·服务器·前端·javascript·bug·openclaw