gspca_zc3xx 网络摄像头无法与 skypeforlinux 配合使用

gspca_zc3xx 网络摄像头无法与 skypeforlinux 配合使用

我有一个旧的 Creative NX Pro 网络摄像头。简而言之,guvcviewv4l2ucp工作正常;cheese找不到网络摄像头;Skype 可以找到网络摄像头,但显示黑屏。

诊断:

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"

$ dmesg
[   36.781826] Linux video capture interface: v2.00
[   36.807977] gspca_main: v2.14.0 registered
[   36.812809] gspca_main: gspca_zc3xx-2.14.0 probing 041e:401e
[   36.885023] input: gspca_zc3xx as /devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6.4/input/input12
[   36.885186] usbcore: registered new interface driver gspca_zc3xx

$ lsusb
Bus 001 Device 007: ID 041e:401e Creative Technology, Ltd Webcam NX Pro

$ lsmod
Module                  Size  Used by
v4l2_common            16384  1 gspca_main
videodev              184320  3 v4l2_common,gspca_zc3xx,gspca_main
gspca_zc3xx            57344  0
gspca_main             36864  1 gspca_zc3xx

$ find /usr/lib -iname '*v4l*'
/usr/lib/x86_64-linux-gnu/libgviewv4l2core-2.0.so.2
/usr/lib/x86_64-linux-gnu/directfb-1.7-7/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.so
/usr/lib/x86_64-linux-gnu/libv4l
/usr/lib/x86_64-linux-gnu/libv4l/v4l2convert.so
/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so
/usr/lib/x86_64-linux-gnu/libv4l/plugins/libv4l-mplane.so
/usr/lib/x86_64-linux-gnu/libv4l2.so.0
/usr/lib/x86_64-linux-gnu/libv4l1.so.0.0.0
/usr/lib/x86_64-linux-gnu/libv4l1.so.0
/usr/lib/x86_64-linux-gnu/libv4lconvert.so.0
/usr/lib/x86_64-linux-gnu/libgviewv4l2core-2.0.so.2.0.0
/usr/lib/x86_64-linux-gnu/libv4lconvert0
/usr/lib/x86_64-linux-gnu/libv4lconvert.so.0.0.0
/usr/lib/x86_64-linux-gnu/libv4l2.so.0.0.0

$ sudo apt install v4l2ucp
$ v4l2ucp
# Works perfectly, including preview

$ guvcview 
GUVCVIEW: version 2.0.5
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Inappropriate ioctl for device
V4L2_CORE: V4L2_CAP_TIMEPERFRAME not supported
control[0]:(unknown - 0x6) 0x980001 'User Controls'
control[7]:(unknown - 0x6) 0x9d0001 'JPEG Compression Controls'
V4L2_CORE: V4L2_CAP_TIMEPERFRAME not supported
# Works perfectly

$ cheese
** Message: 12:16:47.766: cheese-application.vala:211: Error during camera setup: No device found
(cheese:9944): cheese-CRITICAL **: 12:16:47.779: cheese_camera_device_get_name: assertion 'CHEESE_IS_CAMERA_DEVICE (device)' failed
# No devices found

$ cat /usr/share/skypeforlinux/version 
v2.0.10

$ /usr/share/skypeforlinux/skypeforlinux
# Audio and Video Settings sees USB Camera (041e:401e), but black screen
# Video-calling produces "We could not connect to your selected camera. Please select a different camera or try restarting Skype."

$ LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libv4l/v4l1compat.so /usr/share/skypeforlinux/skypeforlinux
does not help.

$ cat ~/.config/skypeforlinux/logs/skype-startup.log
Empty.

我应该怎么做才能修复 Skype?

答案1

有一个类似的问题,gspca_ov519 摄像头在使用 android-emulator 打开时可以完美运行,vlc但无法识别为网络摄像头。另一个 uvcvideo 摄像头被识别为网络摄像头,但无法在任何程序中显示有效图片。我最终使用了可用的 uvcvideo Microsoft 网络摄像头,一切正常。

我想切换网络摄像头是一个容易尝试的解决方案。

相关内容