![gspca_zc3xx 网络摄像头无法与 skypeforlinux 配合使用](https://linux22.com/image/1160747/gspca_zc3xx%20%E7%BD%91%E7%BB%9C%E6%91%84%E5%83%8F%E5%A4%B4%E6%97%A0%E6%B3%95%E4%B8%8E%20skypeforlinux%20%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8.png)
我有一个旧的 Creative NX Pro 网络摄像头。简而言之,guvcview
它v4l2ucp
工作正常;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 网络摄像头,一切正常。
我想切换网络摄像头是一个容易尝试的解决方案。