Thread: [Linux-uvc-devel] problem with audio/video Microsoft Lifecam studio Hd
Linux UVC driver and tools
Brought to you by:
pinchartl
|
From: Andrea G. <par...@gm...> - 2011-12-13 12:31:56
|
Hi, i've a problem with Microsoft Lifecam studio HD.
I've installed openmeetings 1.9 on server linux ubuntu 10.04.
I've installed a client with ubuntu 11.10, kerne 3.0.3, uvcvideo verision 1.1.0, firefox 8, adobe flash
11.1.102.55 and java sun 1.6.
I've a Microsoft Lifecam studio Hd that works with other application;
so when i test it with audio and video in the preview windows it
works, but when i enter in the room the screen is black.
If i changed the audio device with the internal realteck, it works and
i can view the images.
So if i do the same thing in windows client it works correctly.
In the list of device i found :
Despite being able to work with lower
USB bandwidths, this device always requests the maximum possible bandwidth,
even for the MJPEG format. Using one of those cameras in conjunction with
another USB device (including the camera internal microphone) will likely
fail. You can tell the uvcvideo driver to estimate the required bandwidth
instead of trusting the camera by setting the FIX_BANDWIDTH quirk. This will
only affect uncompressed formats, and even there there's no guarantee of
success.
So i've to use the quirks but not work because i think that the stream is MJPEG and no uncompressed.
There is a way to forcing use uncompressed format or other solution?
Andrea
|
|
From: Andrea G. <par...@gm...> - 2011-12-18 15:52:29
|
I used your suggestion to put quirks=80 but nothing change. sudo rmmod uvcvideo && sudo modprobe uvcvideo quirks=0x80 jpeg_comp=1 6 trace=0xffff So when i settings in openmeetings video from lifecam and audio from Hda intel, the video works, but when i set audio and video from lifecam in syslog there is this error: *uvcvideo: Failed to set UVC probe control : -32 (exp. 26).* and the screen are black. I've tested various resolution but the problem remains. I don't know why the driver use YUV without MJPEG stream, the patch that i've used is correct? Where i can set to use MJPEG stream? or it is the flash that send incorrect parameter? In syslog there is this messages: uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYCAP) uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FMT) uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FMT) uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FMT) uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FMT) uvcvideo: uvc_v4l2_ioctl(VIDIOC_G_FMT) uvcvideo: uvc_v4l2_ioctl(VIDIOC_S_FMT) uvcvideo: Trying format 0x56595559 (YUYV): 640x480. uvcvideo: Using default frame interval 33333.3 us (30.0 fps). uvcvideo: uvc_set_video_ctrl: PROBE; bmHint: 1; bFormatIndex: 1; bFrameIndex: 1; dwFrameInterval: 333333; wKeyFrameRate: 0; wCompQuality: 0; wCompWindowSize: 0; wDelay: 0; dwMaxVideoFrameSize 0; dwMaxPayloadTransferSize: 0 uvcvideo: Revrite dwMaxPayloadTransferSize 128 to 2392 uvcvideo: uvc_get_video_ctrl: GET_MIN; bmHint: 0; bFormatIndex: 1; bFrameIndex: 1; dwFrameInterval: 333333; wKeyFrameRate: 0; wCompQuality: 0; wCompWindowSize: 0; wDelay: 0; dwMaxVideoFrameSize 614400; dwMaxPayloadTransferSize: 2392 uvcvideo: Revrite dwMaxPayloadTransferSize 3072 to 1024 uvcvideo: uvc_get_video_ctrl: GET_MAX; bmHint: 0; bFormatIndex: 1; bFrameIndex: 1; dwFrameInterval: 1333333; wKeyFrameRate: 0; wCompQuality: 0; wCompWindowSize: 0; wDelay: 0; dwMaxVideoFrameSize 614400; dwMaxPayloadTransferSize: 1024 uvcvideo: uvc_set_video_ctrl: PROBE; bmHint: 1; bFormatIndex: 1; bFrameIndex: 1; dwFrameInterval: 333333; wKeyFrameRate: 0; wCompQuality: 0; wCompWindowSize: 0; wDelay: 0; dwMaxVideoFrameSize 0; dwMaxPayloadTransferSize: 0 uvcvideo: Revrite dwMaxPayloadTransferSize 3072 to 2392 uvcvideo: uvc_get_video_ctrl: GET_CUR; bmHint: 0; bFormatIndex: 1; bFrameIndex: 1; dwFrameInterval: 333333; wKeyFrameRate: 0; wCompQuality: 0; wCompWindowSize: 0; wDelay: 0; dwMaxVideoFrameSize 614400; dwMaxPayloadTransferSize: 2392 uvcvideo: uvc_v4l2_ioctl(VIDIOC_G_FMT) uvcvideo: uvc_v4l2_ioctl(VIDIOC_S_FMT) uvcvideo: Trying format 0x56595559 (YUYV): 320x240. uvcvideo: Using default frame interval 33333.3 us (30.0 fps). uvcvideo: uvc_set_video_ctrl: PROBE; bmHint: 1; bFormatIndex: 1; bFrameIndex: 8; dwFrameInterval: 333333; wKeyFrameRate: 0; wCompQuality: 0; wCompWindowSize: 0; wDelay: 0; dwMaxVideoFrameSize 0; dwMaxPayloadTransferSize: 0 uvcvideo: Revrite dwMaxPayloadTransferSize 128 to 1024 uvcvideo: uvc_get_video_ctrl: GET_MIN; bmHint: 0; bFormatIndex: 1; bFrameIndex: 8; dwFrameInterval: 333333; wKeyFrameRate: 0; wCompQuality: 0; wCompWindowSize: 0; wDelay: 0; dwMaxVideoFrameSize 153600; dwMaxPayloadTransferSize: 1024 uvcvideo: Revrite dwMaxPayloadTransferSize 3072 to 1024 uvcvideo: uvc_get_video_ctrl: GET_MAX; bmHint: 0; bFormatIndex: 1; bFrameIndex: 8; dwFrameInterval: 1333333; wKeyFrameRate: 0; wCompQuality: 0; wCompWindowSize: 0; wDelay: 0; dwMaxVideoFrameSize 153600; dwMaxPayloadTransferSize: 1024 uvcvideo: uvc_set_video_ctrl: PROBE; bmHint: 1; bFormatIndex: 1; bFrameIndex: 8; dwFrameInterval: 333333; wKeyFrameRate: 0; wCompQuality: 0; wCompWindowSize: 0; wDelay: 0; dwMaxVideoFrameSize 0; dwMaxPayloadTransferSize: 0 uvcvideo: Revrite dwMaxPayloadTransferSize 2688 to 1024 uvcvideo: uvc_get_video_ctrl: GET_CUR; bmHint: 0; bFormatIndex: 1; bFrameIndex: 8; dwFrameInterval: 333333; wKeyFrameRate: 0; wCompQuality: 0; wCompWindowSize: 0; wDelay: 0; dwMaxVideoFrameSize 153600; dwMaxPayloadTransferSize: 1024 uvcvideo: uvc_v4l2_ioctl(VIDIOC_G_FMT) uvcvideo: uvc_v4l2_ioctl(VIDIOC_S_FMT) uvcvideo: Trying format 0x56595559 (YUYV): 320x240. uvcvideo: Using default frame interval 33333.3 us (30.0 fps). uvcvideo: uvc_set_video_ctrl: PROBE; bmHint: 1; bFormatIndex: 1; bFrameIndex: 8; dwFrameInterval: 333333; wKeyFrameRate: 0; wCompQuality: 0; wCompWindowSize: 0; wDelay: 0; dwMaxVideoFrameSize 0; dwMaxPayloadTransferSize: 0 5:3:1: cannot get freq at ep 0x82 uvcvideo: Failed to set UVC probe control : -32 (exp. 26). And this is the udev info: UDEV [21.904696] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/video4linux/video0 (video4linux) UDEV_LOG=3 ACTION=add DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/video4linux/video0 SUBSYSTEM=video4linux DEVNAME=/dev/video0 SEQNUM=1642 ID_V4L_VERSION=2 ID_V4L_PRODUCT=Microsoft® LifeCam Studio(TM) ID_V4L_CAPABILITIES=:capture: ID_VENDOR=Microsoft ID_VENDOR_ENC=Microsoft ID_VENDOR_ID=045e ID_MODEL=Microsoft®_LifeCam_Studio_TM_ ID_MODEL_ENC=Microsoft®\x20LifeCam\x20Studio\x28TM\x29 ID_MODEL_ID=0772 ID_REVISION=0112 ID_SERIAL=Microsoft_Microsoft®_LifeCam_Studio_TM_ ID_TYPE=video ID_BUS=usb ID_USB_INTERFACES=:0e0100:0e0200:010100:010200:030000: ID_USB_INTERFACE_NUM=00 ID_USB_DRIVER=uvcvideo ID_PATH=pci-0000:00:1d.7-usb-0:8:1.0 ID_PATH_TAG=pci-0000_00_1d_7-usb-0_8_1_0 COLORD_DEVICE=1 COLORD_KIND=camera MAJOR=81 MINOR=0 DEVLINKS=/dev/v4l/by-id/usb-Microsoft_Microsoft®_LifeCam_Studio_TM_-video-index0 /dev/v4l/by-path/pci-0000:00:1d.7-usb-0:8:1.0-video-index0 TAGS=:udev-acl: |
|
From: Alexey F. <bug...@fi...> - 2011-12-15 20:28:43
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 13.12.2011 12:31, schrieb Andrea Greggio: > Hi, i've a problem with Microsoft Lifecam studio HD. I've installed > openmeetings 1.9 on server linux ubuntu 10.04. I've installed a > client with ubuntu 11.10, kerne 3.0.3, uvcvideo verision 1.1.0, > firefox 8, adobe flash 11.1.102.55 and java sun 1.6. I've a > Microsoft Lifecam studio Hd that works with other application; so > when i test it with audio and video in the preview windows it > works, but when i enter in the room the screen is black. If i > changed the audio device with the internal realteck, it works and i > can view the images. > > So if i do the same thing in windows client it works correctly. > > In the list of device i found : > > Despite being able to work with lower > > USB bandwidths, this device always requests the maximum possible > bandwidth, even for the MJPEG format. Using one of those cameras > in conjunction with another USB device (including the camera > internal microphone) will likely fail. You can tell the uvcvideo > driver to estimate the required bandwidth instead of trusting the > camera by setting the FIX_BANDWIDTH quirk. This will only affect > uncompressed formats, and even there there's no guarantee of > success. > > > So i've to use the quirks but not work because i think that the > stream is MJPEG and no uncompressed. There is a way to forcing use > uncompressed format or other solution? Yes there are way to force webcam to do some thing, but it looks like in any case you need to edid source of kernel or of userspace program. in kernel it is even possible to recalculate jpeg bandwidth, one of my patches was some where on the list. may the force be with you :) - -- Regards, Alexey -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk7qSmcACgkQw8E0jNwoJm+rugCeLxyunGjqinLwx1xVaF9CdnEr LjYAoJwBbWYhepqf7oim+MHqrjE9VyWw =cF8q -----END PGP SIGNATURE----- |