Usb webcam only works with skypeforlinux (and here not stable) but not in other applications

Hi everyone,
I’m quite new to linux and actually had not much problems so far. But now I’m getting very frustrated with my usb webcam, which I want to use with my lenovo x240 notebook under manjaro xfce.

When I start the notebook and open skype, the webcam is detected (shows manufacturer name “Fullhan”) but only shows a black screen. Unplugging the usb webcam and plug in again helps most of the time - so that the camera is working correctly. But later the signal sometimes get lost again and only showing a black screen under “audio and vidoe settings”.

In other applications like cheese or vlc the webcam doesn’t works at all.

Could someone please take me by hand to analyze and find a solution for my problem. I already searched in the internet for similar problems, but nothing matched/helped so far.
Best regards
Markus

Hope this is not seen as hijacking your thread, but it sounds like I have a similar issue. Though I am not testing Skype. Perhaps we can share useful troubleshooting information.

I have intermittent problems when using video via the web browser, via wire-desktop client and guvcview.

In Wire, it will sometimes just show a black screen in the preferences or when on a call. Sometimes it will work, though it’s a die roll that seems to be cast when I reboot.

Saw in another thread that someone recommended trying the following terminal command:

lsusb -v

Which does show my Logitech Quickcam Pro 9000, though is also showing a potential issue.

  VideoControl Interface Descriptor:
    bLength                 9
    bDescriptorType        36
    bDescriptorSubtype      3 (OUTPUT_TERMINAL)
    bTerminalID             5
    wTerminalType      0x0101 USB Streaming
    bAssocTerminal          0
    bSourceID               4
    iTerminal               0 
  ** UNRECOGNIZED:  20 41 01 0c 82 06 61 63 70 50 ab 49 b8 cc b3 85 5e 8d 22 50 14 01 04 03 ff ff 0f 00 00 00 00 00
  ** UNRECOGNIZED:  20 41 01 08 82 06 61 63 70 50 ab 49 b8 cc b3 85 5e 8d 22 51 03 01 04 03 19 00 00 00 00 00 01 00
  ** UNRECOGNIZED:  20 41 01 0b 82 06 61 63 70 50 ab 49 b8 cc b3 85 5e 8d 22 55 01 01 04 03 01 00 00 00 00 00 00 00
  ** UNRECOGNIZED:  20 41 01 09 82 06 61 63 70 50 ab 49 b8 cc b3 85 5e 8d 22 56 02 01 04 03 0c 00 00 00 00 00 00 00

I will try listing the output of the lsusb -v output again, when it’s actually working… and see if that changes anything.

I think I’ve been able to consistently get my feed working, but have to jump through hoops for it.

I launch guvcview, and likely receive a blank video feed and the following error in the terminal:

V4L2_CORE: (get_v4l2_frame) video stream must be started first

So now, if I change the resolution (raise or lower) under the Video Controls tab of guvcview, I get video.
Great, so then I close guvcview and try to test Wire to see if I get video… but nothing.

BUT

If I go through the steps in guvcview (changing resolution) to get a video feed…
and then launch Wire’s video while guvcview is still running & displaying the video…
Wire will tell me it does not have access to the camera, and present a button to “Try Again”.
So, if I now close the video feed in guvcview, and then press Wire’s “Try Again” button… I get video in Wire.

Based on the error I’m getting, and these funky steps I need to do to seemingly hand off the video to Wire. Seems like some trigger is getting missed when it comes to getting the video feed rolling.

And I have zero idea how to fix this…

… but hopefully this also applies to your situation as well.

For whatever it’s worth… I think I figured out my problem.
It seems there was an issue in my applications (whether wire-desktop or my web browsers) in choosing my default device. The following command has fixed my issue and (so far) even seems to persist reboots (which I find strange).

v4l2-ctl --out-device=0

via : Ubuntu Manpage: v4l2-ctl - An application to control video4linux drivers

I hope this helps you as well.