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 桌面远程摄像头 不在同一个会话中

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

相关推荐
l1t1 天前
修改一个触发PostgreSQL 17.2 bug的SQL
sql·postgresql·bug
包小黑1 天前
【Linux】bug登记好习惯:发现bug,用命令行截取对应日志
linux·bug
癫狂的兔子3 天前
【BUG】【Python】逆序取值为空
bug
癫狂的兔子3 天前
【BUG】【Python】精确度问题
python·bug
癫狂的兔子3 天前
【BUG】【Python】合并两个列表
bug
癫狂的兔子3 天前
【BUG】【Python】eval()报错
python·bug
余生H3 天前
Ai编程翻车修车记3 -一次因为移除监听器失败导致bug后的DOM事件深入学习
学习·bug·ai编程
癫狂的兔子3 天前
【BUG】【Python】list切片和list.reverse()的区别
bug
gladiator+4 天前
Weblog项目bug合集
bug
workflower5 天前
小强地狱(Bug Hell)
大数据·bug·团队开发·需求分析·个人开发·结对编程