(Logitech Brio 4K Ultra HD) 网络摄像头在 Ubuntu 上的可定制性

mat*_*ter 10 webcam logitech v4l 18.04 20.04

您能否通过一组标准命令或 API 控制连接到 Ubuntu 的网络摄像头的视角、缩放、fps 和视频分辨率等内容?

例如,罗技 Brio 4K 超高清. 这款相机似乎被宣传为允许调整我刚刚提到的那些属性,我想知道是否可以通过任何标准 linux 命令行(或标准编程 API)访问控制它们。

通常,我对 Ubuntu 中的所有 Logitech 设备都有很好的体验,但我从未在 Ubuntu 中调整过这些功能。

动机说明:我可以使用这些功能为机器学习项目获取室内图像,并且调整这些属性的能力可能很重要。除此之外,这些功能可能会影响到该设备内置的所有复杂功能在视频聊天等更普通的用例中实际利用了多少质量。

Rae*_*nha 10

您可以使用 自定义许多设置guvcview

在此处输入图片说明

安装:

sudo apt install guvcview
Run Code Online (Sandbox Code Playgroud)

要选择要使用的网络摄像头,请单击视频选项卡,然后选择您的设备 (Brio)。在确认对话框中,选择Restart

不幸的是它错过了angle设置。

  • 我发现自定义角度的唯一方法是在 Windows virtualbox 中安装 Logitech 软件,然后与虚拟机共享 Brio。 (3认同)
  • @matanster:如果你的目的只是调整这个或评估任何其他软件,你可以使用微软官方测试虚拟机镜像:https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/ (2认同)
  • 值得注意的是,关闭 guvcview 后,此处的“图像控件”部分会保留到其他控件中。“视频控件”和“音频控件”则不然。我刚刚用 Cheese 和 Zoom 测试了这一点。如果我在 guvcview 中将亮度一路降低并退出然后启动 Cheese/Zoom,那么很容易注意到这种变化。 (2认同)

小智 8

我发现Flatpak 版本功能cameractrls更齐全,而且易于安装。

在此输入图像描述

最重要的是,它支持 Logitech Brio 网络摄像头的 FoV


mat*_*ter 6

根据https://help.ubuntu.com/community/Webcam ,您应该查阅http://www.ideasonboard.org/uvc/中支持的设备列表,这是 Ubuntu 中网络摄像头定制的主要工具。我在这个问题中提到的模型(目前)不存在,但许多其他罗技模型是存在的。

这也是 Logitech Brio 兼容性的一个说明(请参阅评论中的问答)。看起来上面的大部分内容都可以从 Ubuntu 进行调整来判断,尽管我自己还没有尝试过。

然而,我相信 fps 和分辨率是由使用相机的应用程序选择的(可能在每个应用程序使用的视频采集 API/协议上),并且可能不会设置为设备的全局配置。如果情况并非如此,请发表更正评论!

一般来说,调整相机设置是通过 v4l2 CLI 启用的,即使在使用过程中,您也可以使用它来查询和更改相机的设置。参见此处的示例。v4l2-ctl -l这是我对该相机的输出:

brightness 0x00980900 (int)    : min=0 max=255 step=1 default=128 value=128
                               contrast 0x00980901 (int)    : min=0 max=255 step=1 default=128 value=128
                             saturation 0x00980902 (int)    : min=0 max=255 step=1 default=128 value=128
         white_balance_temperature_auto 0x0098090c (bool)   : default=1 value=1
                                   gain 0x00980913 (int)    : min=0 max=255 step=1 default=0 value=0
                   power_line_frequency 0x00980918 (menu)   : min=0 max=2 default=2 value=1
              white_balance_temperature 0x0098091a (int)    : min=2000 max=7500 step=10 default=4000 value=5210 flags=inactive
                              sharpness 0x0098091b (int)    : min=0 max=255 step=1 default=128 value=128
                 backlight_compensation 0x0098091c (int)    : min=0 max=1 step=1 default=1 value=1
                          exposure_auto 0x009a0901 (menu)   : min=0 max=3 default=3 value=3
                      exposure_absolute 0x009a0902 (int)    : min=3 max=2047 step=1 default=250 value=312 flags=inactive
                 exposure_auto_priority 0x009a0903 (bool)   : default=0 value=0
                           pan_absolute 0x009a0908 (int)    : min=-36000 max=36000 step=3600 default=0 value=0
                          tilt_absolute 0x009a0909 (int)    : min=-36000 max=36000 step=3600 default=0 value=0
                         focus_absolute 0x009a090a (int)    : min=0 max=255 step=5 default=0 value=20 flags=inactive
                             focus_auto 0x009a090c (bool)   : default=1 value=1

                      zoom_absolute 0x009a090d (int)    : min=100 max=500 step=1 default=100 value=100
Run Code Online (Sandbox Code Playgroud)

我可以确认可以通过此实用程序设置缩放、自动对焦(开/关)和焦点,但其他属性可能需要使用 v4l2 套件中的较低级别实用程序,或者不受此模型支持。

  • 对于 FoV 有一个奇怪的解决方案:在 Windows 上配置它(双启动,不同的设备),然后按原样使用。https://github.com/opencv/opencv/issues/12498#issuecomment-723043094 (2认同)

Ufo*_*fos 5

我有完全相同的型号并运行 ubuntu 20.04

  • guvcview有点工作,但滞后和崩溃
  • v4l-utils完成您需要的一切,但您需要从终端使用它。gtk-v4l如果你需要的话,github上提供了一个GUI。

安装

sudo apt install v4l-utils
Run Code Online (Sandbox Code Playgroud)

找到你的网络摄像头

你可能有多个。此外,由于某种原因,它可能会为每个摄像头列出两个设备,请先选择。

v4l2-ctl --list-devices
Run Code Online (Sandbox Code Playgroud)

输出应该是这样的

HD User Facing: HD User Facing (usb-0000:05:00.3-1):
    /dev/video1
    /dev/video2

BRIO 4K Stream Edition (usb-0000:05:00.3-4):
    /dev/video3
    /dev/video4
Run Code Online (Sandbox Code Playgroud)

调整

获取控件

让我们看看我们可以控制什么

v4l2-ctl -d /dev/videoX --list-ctrls  # X -- for your device number
Run Code Online (Sandbox Code Playgroud)

输出应该是这样的

                     brightness 0x00980900 (int)    : min=0 max=255 step=1 default=128 value=128
                       contrast 0x00980901 (int)    : min=0 max=255 step=1 default=128 value=128
...
                     focus_auto 0x009a090c (bool)   : default=1 value=1
                  zoom_absolute 0x009a090d (int)    : min=100 max=500 step=1 default=100 value=100
Run Code Online (Sandbox Code Playgroud)

示例:改变角度向下看

v4l2-ctl --device /dev/video3 --set-ctrl=tilt_absolute=36000
Run Code Online (Sandbox Code Playgroud)

这在调整缩放/Skype 时有效,但在 ubuntu 测试实用程序“cheese”中,某些设置不起作用。