银河麒麟下无法在浏览器中调用本地摄像头

千婷酱_2631

千婷酱_2631

2026-07-16

418人浏览

原创

银河麒麟浏览器无法调用本地摄像头,根源在于系统级权限未透传、uvcvideo驱动未加载、用户未加入video组或wayland会话下v4l2设备不可见;需依次验证硬件识别(lsusb)、驱动状态(lsmod | grep uvcvideo)、手动加载驱动、添加用户至video组并重新登录、安装配置pipewire服务,并检查浏览器媒体策略设置。

银河麒麟下无法在浏览器中调用本地摄像头

银河麒麟系统中浏览器无法调用本地摄像头,常见于政务办公、在线身份核验、视频会议等场景,用户点击“允许访问摄像头”后仍提示权限被拒或黑屏无响应。问题根源通常不是浏览器本身限制,而是系统级权限未透传、uvcvideo驱动未加载、用户未加入video组,或Wayland会话下V4L2设备路径不可见。

确认摄像头硬件与驱动状态

先验证底层是否识别设备:打开终端,执行 lsusb | grep -i camera 或 lspci | grep -i video。若无输出,说明BIOS中可能禁用了摄像头,或硬件故障。

运行 lsmod | grep uvcvideo。若无返回,代表USB摄像头驱动未加载;此时执行 sudo modprobe uvcvideo 手动加载。注意:【若系统为ARM架构(如飞腾/鲲鹏平台),部分国产摄像头需专用驱动而非uvcvideo,此命令无效】。

再执行 dmesg | grep -i "video\|uvc",观察是否有 failed to request firmware 或 device not enumerated 类错误——这表示固件缺失或USB枚举失败,需联系厂商提供对应firmware并放入 /lib/firmware 目录。

授予用户对视频设备的读写权限

银河麒麟默认不将普通用户加入 video 组,导致浏览器沙箱进程无法打开 /dev/video0。

执行命令添加当前用户:sudo usermod -aG video $USER。

该操作生效需【注销当前桌面会话并重新登录】,仅重启终端无效。未执行此步,Chrome/Firefox/Edge均会静默拒绝访问,控制台报错 NotAllowedError: Permission denied 且无明确提示。

检查Wayland会话兼容性

银河麒麟V10默认使用Wayland会话,而多数浏览器(尤其是Chromium系)在Wayland下无法直接访问V4L2设备,必须通过PipeWire中介服务。

第一步:确认当前会话类型,运行 loginctl show-session $(loginctl | grep current | awk '{print $1}') -p Type,输出应为 Type=wayland。

第二步:安装PipeWire及适配组件:sudo apt install pipewire pipewire-pulse pipewire-alsa pipewire-v4l2。

仿UC浏览器官方网站全屏jQuery幻灯片
仿UC浏览器官方网站全屏jQuery幻灯片

仿UC浏览器官方网站全屏jQuery幻灯片

下载

第三步:重启PipeWire服务:systemctl --user restart pipewire pipewire-pulse pipewire-v4l2。这一步完成后,/dev/video0 将被PipeWire虚拟化为 /dev/video0 的代理节点,浏览器才能安全调用。

浏览器端强制启用摄像头策略

方法一:Chrome/Edge系浏览器

在地址栏输入 chrome://flags/#unsafely-treat-insecure-origin-as-secure,将该实验性开关设为 Enabled,并在下方 --unsafely-treat-insecure-origin-as-secure="http://localhost" 字段填入你的开发地址(如 http://127.0.0.1:3000),重启浏览器。

方法二:Firefox

在地址栏输入 about:config → 搜索 media.navigator.enabled,确保值为 true;再搜索 permissions.default.camera,双击修改为 1(1=允许,2=阻止,0=询问)。

方法三:绕过HTTPS强制要求(仅限内网调试)

启动浏览器时追加参数:google-chrome --unsafely-allow-protected-media --use-fake-ui-for-media-stream --use-fake-device-for-media-stream。此模式下所有媒体请求自动通过,但【仅限测试环境,禁止用于生产或含敏感信息的页面】。

验证是否修复成功

打开 https://www.php.cn/link/f77cf08ee99fa7701632a59db043b925 或运行本地HTML文件,其中包含以下最小代码:

<video id="video" autoplay muted></video><script>navigator.mediaDevices.getUserMedia({video:true}).then(stream => {document.getElementById("video").srcObject = stream;});</script>

若视频画面正常显示,说明全流程打通;若仍黑屏,按顺序回溯:检查 groups 命令输出是否含 video、journalctl --user-unit=pipewire -n 50 是否有ERROR、v4l2-ctl --device /dev/video0 --all 是否能读取设备属性。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

浏览器

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
c++和c语言的区别有哪些
c++和c语言的区别有哪些

c++和c语言的区别:1、面向对象编程(OOP)支持不同;2、新增特性不同;3、标准库不同;4、编译方式不同;5、命名空间不同等等。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.14

2228

9

c++和python学习顺序推荐
c++和python学习顺序推荐

一般建议先学习C++,再学习Python,因为这样可以逐步从较为底层的编程语言向更高级的语言过渡。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

999

6

python和c++学习性价比分析
python和c++学习性价比分析

Python易于学习,广泛应用于Web开发、数据科学和人工智能等领域,但性能较低。C语言性能高,适用于对性能要求较高的场景,如游戏开发和系统编程,但学习曲线陡峭,错误处理复杂。想了解更多python的相关内容,可以阅读本专题下面的文章。

2024.03.14

427

5

c语言和c++一样吗
c语言和c++一样吗

c语言和c++是两种不同的编程语言,虽然有相似之处,但存在显著差异。c语言专注于过程式编程和系统级开发,以简洁、高效著称。c++作为c语言的超集,引入了面向对象编程,增强了代码组织和管理能力,但学习曲线也更陡峭。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

327

5

c语言和c++先学哪个好
c语言和c++先学哪个好

初学者选择学习c语言还是c++语言,需要根据个人学习目标、背景以及编程兴趣和预期应用方向来决定。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

406

5

c语言和c++的区别和联系
c语言和c++的区别和联系

c语言和c++是计算机科学领域应用广泛的编程语言。虽然它们有着相似的基础,但它们在语言类型、语法功能和内存管理方面存在着显著差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.14

580

5

c++软件中文更改教程
c++软件中文更改教程

对于 ide,可通过打开设置,找到语言设置,选择中文,并保存更改。对于非 ide 应用程序,可查找设置或选项,选择语言设置,更改为中文,并保存更改。想了解更多c++的相关内容,可以阅读本专题下面的文章。

2024.03.21

1409

9

python和java和c++学习性价比分析
python和java和c++学习性价比分析

Python以其易学性、丰富的库和活跃的社区而著称,适合数据科学、人工智能和Web开发。Java以其跨平台性、企业级应用开发和Android应用开发而闻名。C++以其底层控制能力、高效性能和游戏开发而著称。选择哪种语言取决于个人兴趣、职业方向和特定需求。想了解更多python和java和c++的相关内容,可以阅读本专题下面的文章。

2024.03.22

1197

7

c++和c语言学习顺序推荐
c++和c语言学习顺序推荐

对于初学者,建议先学习C语言,掌握编程基础后再转入C++,便于理解面向对象编程概念。有编程经验者可直接学习C++,快速接触高级编程技术。想了解更多c++和c语言的相关内容,可以阅读本专题下面的文章。

2024.03.25

1325

9

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 常见问题
phpMyAdmin 常见问题

共0课时 | 0人学习

uni-app快速上手
uni-app快速上手

共0课时 | 0人学习