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.