問題

問題

問題

こんにちは。私は Sunplus USB カメラ (Siri A9 UVC) を持っていて、それを PC ウェブカメラとして使用しようとしています。何を試しても、v4l2 では表示されますが、それを使用しているアプリが壊れてしまいます。たとえば、USB カメラに切り替えると Cheese が停止します。

テストとして、fswebcam を使用して写真を撮りました。しばらく停止した後、次のように出力されます。

karol@karol-hp2:~$ fswebcam --jpeg 85 -d /dev/video2 web-cam-shot.jpg
--- Opening /dev/video2...
Trying source module v4l2...
/dev/video2 opened.
No input was specified, using the first. (here stalls)
Unable to find a compatible palette format.

Win10(同じラップトップ)では、カメラは問題なく動作します。しかし、ここでは、カメラを使用するアプリが壊れるだけでなく、パルスオーディオカメラを接続すると、すべてのオーディオ デバイスが設定から消えます。

システム

私は使用していますウブントゥ 21.04;
カーネルバージョン -5.11.0-34-ジェネリック

デバイス/ドライバーの仕様:


USBデバイス( lsusb):

Bus 001 Device 008: ID 04fc:6333 Sunplus Technology Co., Ltd Siri A9 UVC chipset

ハードウェア仕様( lshf):

*-usb:1
                   description: Video
                   product: Mass Storage
                   vendor: iCatchtek Co Ltd
                   physical id: 2
                   bus info: usb@1:2
                   version: 1.00
                   serial: 01.00.00
                   capabilities: usb-2.00
                   configuration: driver=snd-usb-audio maxpower=100mA speed=480Mbit/s

v4l2 デバイス ( v4l2-ctl --list-devices):

'OBS (platform:v4l2loopback-000):
    /dev/video13

Mass Storage (usb-0000:00:14.0-2):
    /dev/video2
    /dev/video3
    /dev/media1

HP Wide Vision HD Camera: HP Wi (usb-0000:00:14.0-5):
    /dev/video0
    /dev/video1
    /dev/media0

最後に、v4l2 カメラの詳細 ( v4l2-ctl -d 2 -D):

Driver Info:
    Driver name      : uvcvideo
    Card type        : Mass Storage
    Bus info         : usb-0000:00:14.0-2
    Driver version   : 5.11.22
    Capabilities     : 0x84a00001
        Video Capture
        Metadata Capture
        Streaming
        Extended Pix Format
        Device Capabilities
    Device Caps      : 0x04200001
        Video Capture
        Streaming
        Extended Pix Format
Media Driver Info:
    Driver name      : uvcvideo
    Model            : Mass Storage
    Serial           : 01.00.00
    Bus info         : usb-0000:00:14.0-2
    Media version    : 5.11.22
    Hardware revision: 0x00000100 (256)
    Driver version   : 5.11.22
Interface Info:
    ID               : 0x03000002
    Type             : V4L Video
Entity Info:
    ID               : 0x00000001 (1)
    Name             : Mass Storage
    Function         : V4L2 I/O
    Flags         : default
    Pad 0x01000007   : 0: Sink
      Link 0x02000010: from remote pad 0x100000a of entity 'Extension 3': Data, Enabled, Immutable

答え1

多くのデバイス アクセスの問題は、グループ メンバーシップの変更によって解決できます。

具体的には、ls -l グループ権限 (2 番目の「rwx」トリプレット) が「rw」(例:「-rw-rw----」) であることが示される場合、デバイスを所有するグループに自分自身を追加するとrwアクセスが許可されます。

方法は次のとおりです。

device="/dev/whatever"
sudo adduser $USER $(stat -c "%G" $device)

rwこれにより、デバイスを使用できるグループのメンバーになることができます。しかし、もう1つのステップがあります。

すべてのプロセスを新しいグループのメンバーにするには、ログアウトしてログインします。グループ メンバーシップは、同時に設定されますlogin

新しいグループに単一のプロセスを作成するには(ログアウト/ログイン前のテスト用):

newgrp $(stat -c "%G" $device)  

または、グループ名を入力するだけです。 を参照してくださいman newgrp

関連情報