我有一个网络摄像头,当连接到 Ubuntu 20.04 LTS 时,它的工作方式就像一个魅力:
$ uname -r 5.11.0-7614-通用 $ 须藤 hwinfo |较少的 ... 24:USB 00.0:0000 未分类设备 [在 usb.122 创建] 唯一 ID:cLrx.dV4P5TUBBt9 父 ID:k4bc.uFSp9Drkgd7 SysFS ID:/devices/pci0000:00/0000:00:0c.0/usb1/1-2/1-2:1.0 SysFS 总线 ID:1-2:1.0 硬件类别:未知 型号:“群光电子群光USB2.0摄像头” 热插拔:USB 供应商: usb 0x04f2 "群光电子有限公司" 设备:usb 0xb685“群光USB2.0摄像头” 修订版:“54.04” 驱动程序:“uvcvideo” 驱动模块:“uvcvideo” 设备文件:/dev/input/event7 设备编号:字符 13:71 速度:480 Mbps 模块别名:“usb:v04F2pB685d5404dcEFdsc02dp01ic0Eisc01ip00in00” 驱动程序信息#0: 驱动程序状态:uvcvideo 处于活动状态 驱动程序激活命令:“modprobe uvcvideo” 配置状态:cfg=新、可用=是、需要=否、活动=未知 附于:#26(中心) ... $ v4l2-ctl --list-设备 群光 USB2.0 摄像头:群光 (usb-0000:00:0c.0-2): /dev/video0 /dev/video1 $ apt list --已安装 |格雷普奶酪 警告:apt 没有稳定的 CLI 界面。在脚本中谨慎使用。 奶酪常见/焦点更新,焦点更新,现在 3.34.0-1ubuntu1 全部 [zainstalowany,automatycznie] 奶酪/焦点更新,现在 3.34.0-1ubuntu1 amd64 [zainstalowany] libcheese-gtk25/focal-updates,现在 3.34.0-1ubuntu1 amd64 [zainstalowany,automatycznie] libcheese8/focal-updates,现在 3.34.0-1ubuntu1 amd64 [zainstalowany,automatycznie]
然而,在 CentOS Stream Cheese 中仅显示黑屏,即使 CentOS 似乎可以识别相机:
$ uname -r 4.18.0-301.1.el8.x86_64 $ lsusb 总线 001 设备 002: ID 04f2:b685 群光电子有限公司 $ dmesg ... [133.699457] USB 1-1:使用ehci-pci的新高速USB设备2号 [134.170286] USB 1-1:找到新的USB设备,idVendor = 04f2,idProduct = b685,bcdDevice = 54.04 [134.170291] USB 1-1:新的USB设备字符串:Mfr = 2,Product = 1,SerialNumber = 0 [134.170295] USB 1-1:产品:群光USB2.0相机 [134.170298] USB 1-1:制造商:松翰科技有限公司 [134.179543]uvcvideo:找到UVC 1.00设备Chicony USB2.0相机(04f2:b685) [134.229062]输入:Chicony USB2.0相机:Chicony as /devices/pci0000:00/0000:00:0b.0/usb1/1-1/1-1:1.0/input/input10 $ 须藤 lshw |较少的 ... *-USB 描述:视频 产品:群光 USB2.0 摄像头:群光 供应商: 松尼克斯科技有限公司 物理 ID:1 总线信息:usb@1:1 逻辑名称:input8 逻辑名称:/dev/input/event7 版本:54.04 功能:USB-2.00 USB 配置:驱动器=uvcvideo maxpower=500mA 速度=480Mbit/s ... $ 已安装 dnf 列表 |格雷普奶酪 奶酪.x86_64 2:3.28.0-3.el8 @AppStream 奶酪-libs.x86_64 2:3.28.0-3.el8 @AppStream
请注意,在没有连接摄像头的情况下,Cheese 显示“未找到设备”消息,因此显然网络摄像头可以正常工作并被 Cheese 识别,但随后出现故障。
在 Ubuntu Wiki 中,我找到了安装 guvcview 的建议,以更好地诊断相机的情况,事实上,在 Unbuntu 下,它显示的 cfg 详细信息比 Cheese 多得多。但是 guvcview 在默认 CentOS 存储库中不可用:
$ sudo dnf 安装 guvcview [sudo] 管理员密码: 上次元数据过期检查:2021 年 5 月 15 日星期六 10:08:52 前(欧洲中部夏令时间)。 参数不匹配:guvcview 错误:无法找到匹配项:guvcview
显然 CentOS 使用的是更旧的应用程序版本。难怪,因为它是一个保守的分布。然而,我无法相信它会太旧以至于网络摄像头无法工作。很久以前,完全相同的相机在带有 v4 内核的古老 Ubuntu 16 上运行,所以我只需要调整 cfg。
如何让它发挥作用?