0

I have two USB devices: a webcam and a microphone. I can play the webcam's video into VLC and GUVCView. However, I want to use the microphone for another application. The issue is that launching media capture with VLC or GUVCView blocks the microphone.

For instance, running the following before launching VLC/GUVCView:

arecord -vvv -f dat /dev/null

Shows what the microphone picks up. If I launch VLC first with the following command (webcam is on video0):

vlc v4l2:///dev/video0

And then monitor the microphone with the previously shown arecord command, I get nothing. It is the same behavior with GUVCView.

Doing the opposite, launching arecord before VLC, however shows the issue. I only get part of the webcam's image (like the few first lines of the image). Dropping the camera resolution shows more lines in the webcam's image.

It looks like I don't have enough USB bandwidth for both the webcam and the microphone. However, typing lsusb -t show that I have USB 2.0, which supports 480Mbps, and that the webcam only pulls 12Mbps.

0

I think I found the issue. One of the device is USB 1.1, and this causes the whole hub to fall down to USB 1.1 to accommodate it. I saw it using lsusb -v.

USB 1.1 has a max bandwidth of 12Mbps, hence the reading I get with lsusb -t. I'll need to either replace the USB 1.1 device for a USB 2.0 device, or plug in a second USB card directly in the motherboard.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.