![Firefox logo](https://assets-prod.sumo.prod.webservices.mozgcp.net/media/uploads/products/2020-04-14-08-36-13-8dda6f.png)
Cisco Webex Desk Camera not working (works with other browser)
Hello,
I have a new Cisco Webex Desk Camera that it's not working with Firefox (Flatpak on Fedora Silverblue 35).
lsusb: Bus 006 Device 004: ID 05a6:0023 Cisco Systems, Inc. Cisco Webex Desk Camera
https://mozilla.github.io/webrtc-landing/gum_test.html shows two cameras "Video Capture 4" and "Video Capture 5", none of them work, the page shows an error message: "AbortError: Starting videoinput failed".
The same website works in Chromium (also a Flatpak), which only sees "Video Capture 4 (05a6:0023)". "OBS Studio" is also able to use the camera. "Video Capture 5" is not available in Chromium and freezes the image in OBS Studio. I believe Video Capture 5 is the IR camera that is used in Windows Hello.
Would you be able to help me to get this camera supported, please?
Змінено
Усі відповіді (10)
Can you erase the loooooonnnnnnggggg output? It's not needed. Also, try another version of Firefox from the below link. Don't use your Firefox account and see what happens. https://www.mozilla.org/en-US/firefox/all/#product-desktop-release
Can you show us what you get with your current browser? What Desktop? Are you in X11 or Wayland?
Thanks for your help.
I have edited the question as requested (sorry!).
So far I have tried:
- Firefox (Fedora RPM) -> doesn't work.
- Firefox (Flathub) -> doesn't work
- Firefox (Flathub -- new profile) -> doesn't work.
- Chromium (Flathub) -> works
- OBS Studio (Flathub) -> works
I'll see later this weekend if I can install Firefox on a Toolbx container.
Just ran Nightly in a toolbx container using a fresh profile, I get the same results.
Змінено
I'm having some issues uploading screenshots.
Clicking on the camera button in the WebRTC test page causes the error "AbortError: Starting videoinput failed" to display in red.
Змінено
You ran Nightly in a toolbox container... Why not just download to a folder, run it, and see if it can access the camera?
Fair enough... just did it, same result.
@jonzn4SUSE the camera is still not working and I was wondering if you could help me triaging this further.
Thanks in advance!
I did some additional troubleshooting with v4l:
v4l2-ctl --all -d /dev/video2 Driver Info: Driver name : uvcvideo Card type : Cisco Webex Desk Camera Bus info : usb-0000:0a:00.3-2.4 Driver version : 5.16.20 Capabilities : 0x84a00001 Video Capture Metadata Capture Streaming Extended Pix Format Device Capabilities Device Caps : 0x04200001 Video Capture Streaming Extended Pix Format Media Driver Info: Driver name : uvcvideo Model : Cisco Webex Desk Camera Serial : ATK1234 Bus info : usb-0000:0a:00.3-2.4 Media version : 5.16.20 Hardware revision: 0x0000000f (15) Driver version : 5.16.20 Interface Info: ID : 0x03000008 Type : V4L Video Entity Info: ID : 0x00000007 (7) Name : Cisco Webex Desk Camera Function : V4L2 I/O Pad 0x01000011 : 0: Sink Link 0x02000024: from remote pad 0x1000010 of entity 'Extension 2' (Video Pixel Formatter): Data, Enabled, Immutable Priority: 2 Video input : 0 (Camera 1: ok) Format Video Capture: Width/Height : 640/360 Pixel Format : 'NV12' (Y/CbCr 4:2:0) Field : None Bytes per Line : 640 Size Image : 345600 Colorspace : sRGB Transfer Function : Rec. 709 YCbCr/HSV Encoding: ITU-R 601 Quantization : Default (maps to Limited Range) Flags : Crop Capability Video Capture: Bounds : Left 0, Top 0, Width 640, Height 360 Default : Left 0, Top 0, Width 640, Height 360 Pixel Aspect: 1/1 Selection Video Capture: crop_default, Left 0, Top 0, Width 640, Height 360, Flags: Selection Video Capture: crop_bounds, Left 0, Top 0, Width 640, Height 360, Flags: Streaming Parameters Video Capture: Capabilities : timeperframe Frames per second: 30.000 (30/1) Read buffers : 0
User Controls
brightness 0x00980900 (int) : min=0 max=255 step=1 default=160 value=160 contrast 0x00980901 (int) : min=0 max=255 step=1 default=128 value=128 saturation 0x00980902 (int) : min=0 max=255 step=1 default=96 value=96 white_balance_automatic 0x0098090c (bool) : default=1 value=1 power_line_frequency 0x00980918 (menu) : min=0 max=2 default=0 value=1 (50 Hz)
0: Disabled 1: 50 Hz 2: 60 Hz
white_balance_temperature 0x0098091a (int) : min=2000 max=7500 step=10 default=4000 value=4000 flags=inactive sharpness 0x0098091b (int) : min=0 max=255 step=1 default=128 value=128
Camera Controls
auto_exposure 0x009a0901 (menu) : min=0 max=3 default=3 value=3 (Aperture Priority Mode)
1: Manual Mode 3: Aperture Priority Mode
exposure_time_absolute 0x009a0902 (int) : min=1 max=333 step=1 default=333 value=333 flags=inactive exposure_dynamic_framerate 0x009a0903 (bool) : default=0 value=0 focus_absolute 0x009a090a (int) : min=0 max=255 step=1 default=0 value=0 flags=inactive focus_automatic_continuous 0x009a090c (bool) : default=1 value=1 zoom_absolute 0x009a090d (int) : min=100 max=1000 step=1 default=100 value=100 privacy 0x009a0910 (bool) : default=0 value=0
Then I managed to start a video capture on the CLI by using:
$ gst-launch-1.0 -e v4l2src --gst-debug=v4l2src:5 device=/dev/video2 ! "video/x-raw, format=YUY2, width=1280, height=720, framerate=30/1" ! videoconvert ! waylandsink Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... 0:00:00.188036065 24145 0x558ef4bc2860 INFO v4l2src gstv4l2src.c:550:gst_v4l2src_query_preferred_size:<v4l2src0> Detect input 0 as `Camera 1` Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock 0:00:00.188426928 24145 0x558ef4bc2860 DEBUG v4l2src gstv4l2src.c:601:gst_v4l2src_negotiate:<v4l2src0> caps of src: video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)YUY2, width=(int)896, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)YUY2, width=(int)640, height=(int)360, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)YUY2, width=(int)512, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)YUY2, width=(int)448, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)YUY2, width=(int)320, height=(int)180, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)YUY2, width=(int)256, height=(int)144, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)NV12, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)NV12, width=(int)896, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)NV12, width=(int)640, height=(int)360, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)NV12, width=(int)512, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)NV12, width=(int)448, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)NV12, width=(int)320, height=(int)180, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; video/x-raw, format=(string)NV12, width=(int)256, height=(int)144, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; image/jpeg, width=(int)4096, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; image/jpeg, width=(int)3840, height=(int)2160, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; image/jpeg, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 60/1, 30/1, 15/1 }; image/jpeg, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; image/jpeg, width=(int)896, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; image/jpeg, width=(int)640, height=(int)360, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; image/jpeg, width=(int)512, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; image/jpeg, width=(int)448, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; image/jpeg, width=(int)320, height=(int)180, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 }; image/jpeg, width=(int)256, height=(int)144, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 15/1 } 0:00:00.188740523 24145 0x558ef4bc2860 DEBUG v4l2src gstv4l2src.c:609:gst_v4l2src_negotiate:<v4l2src0> caps of peer: video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)30/1 0:00:00.188773313 24145 0x558ef4bc2860 DEBUG v4l2src gstv4l2src.c:615:gst_v4l2src_negotiate:<v4l2src0> intersect: video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1 0:00:00.188816542 24145 0x558ef4bc2860 DEBUG v4l2src gstv4l2src.c:406:gst_v4l2src_fixate:<v4l2src0> Fixating caps video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1 0:00:00.188830752 24145 0x558ef4bc2860 DEBUG v4l2src gstv4l2src.c:407:gst_v4l2src_fixate:<v4l2src0> Preferred size 1280x720 0:00:00.188853831 24145 0x558ef4bc2860 DEBUG v4l2src gstv4l2src.c:430:gst_v4l2src_fixate:<v4l2src0> sorted and normalized caps video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1 0:00:00.275373747 24145 0x558ef4bc2860 DEBUG v4l2src gstv4l2src.c:488:gst_v4l2src_fixate:<v4l2src0> fixated caps video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1 0:00:00.275411316 24145 0x558ef4bc2860 INFO v4l2src gstv4l2src.c:647:gst_v4l2src_negotiate:<v4l2src0> fixated to: video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)2:4:5:1 0:00:00.938234066 24145 0x558ef4bc2860 DEBUG v4l2src gstv4l2src.c:1049:gst_v4l2src_create:<v4l2src0> ts: 4:03:47.758208000 now 4:03:47.790215753 delay 0:00:00.032007753 Redistribute latency... 0:00:00.949653391 24145 0x558ef4bc2980 DEBUG v4l2src gstv4l2src.c:814:gst_v4l2src_query:<v4l2src0> report latency min 0:00:00.033333333 max 0:00:01.066666656 0:00:00.949667781 24145 0x558ef4b9b490 DEBUG v4l2src gstv4l2src.c:814:gst_v4l2src_query:<v4l2src0> report latency min 0:00:00.033333333 max 0:00:01.066666656
Firefox still not working though.
Not sure, but I'll bring home a Logitech from work tomorrow and test it. Why not open a bug and get Dev help.
Змінено
Thanks jonzn4SUSE!
For the sake of completeness here are the other 2 video devices related the camera. The Firefox selection dialog only offers two (with the same name):
❯ v4l2-ctl --all -d /dev/video0 Driver Info: Driver name : uvcvideo Card type : Cisco Webex Desk Camera Bus info : usb-0000:0a:00.3-2.4 Driver version : 5.16.20 Capabilities : 0x84a00001 Video Capture Metadata Capture Streaming Extended Pix Format Device Capabilities Device Caps : 0x04200001 Video Capture Streaming Extended Pix Format Media Driver Info: Driver name : uvcvideo Model : Cisco Webex Desk Camera Serial : ATK1234 Bus info : usb-0000:0a:00.3-2.4 Media version : 5.16.20 Hardware revision: 0x0000000f (15) Driver version : 5.16.20 Interface Info: ID : 0x03000002 Type : V4L Video Entity Info: ID : 0x00000001 (1) Name : Cisco Webex Desk Camera Function : V4L2 I/O Flags : default Pad 0x0100000d : 0: Sink Link 0x02000020: from remote pad 0x1000010 of entity 'Extension 2' (Video Pixel Formatter): Data, Enabled, Immutable Priority: 2 Video input : 0 (Camera 1: ok) Format Video Capture: Width/Height : 576/432 Pixel Format : 'GREY' (8-bit Greyscale) Field : None Bytes per Line : 576 Size Image : 248832 Colorspace : sRGB Transfer Function : Rec. 709 YCbCr/HSV Encoding: ITU-R 601 Quantization : Default (maps to Full Range) Flags : Crop Capability Video Capture: Bounds : Left 0, Top 0, Width 576, Height 432 Default : Left 0, Top 0, Width 576, Height 432 Pixel Aspect: 1/1 Selection Video Capture: crop_default, Left 0, Top 0, Width 576, Height 432, Flags: Selection Video Capture: crop_bounds, Left 0, Top 0, Width 576, Height 432, Flags: Streaming Parameters Video Capture: Capabilities : timeperframe Frames per second: 15.000 (15/1) Read buffers : 0
User Controls
brightness 0x00980900 (int) : min=0 max=255 step=1 default=160 value=160 contrast 0x00980901 (int) : min=0 max=255 step=1 default=128 value=128 saturation 0x00980902 (int) : min=0 max=255 step=1 default=96 value=96 white_balance_automatic 0x0098090c (bool) : default=1 value=1 power_line_frequency 0x00980918 (menu) : min=0 max=2 default=0 value=0 (Disabled)
0: Disabled 1: 50 Hz 2: 60 Hz
white_balance_temperature 0x0098091a (int) : min=2000 max=7500 step=10 default=4000 value=4000 flags=inactive sharpness 0x0098091b (int) : min=0 max=255 step=1 default=128 value=128
Camera Controls
auto_exposure 0x009a0901 (menu) : min=0 max=3 default=3 value=3 (Aperture Priority Mode)
1: Manual Mode 3: Aperture Priority Mode
exposure_time_absolute 0x009a0902 (int) : min=1 max=333 step=1 default=333 value=333 flags=inactive exposure_dynamic_framerate 0x009a0903 (bool) : default=0 value=0 focus_absolute 0x009a090a (int) : min=0 max=255 step=1 default=0 value=0 flags=inactive focus_automatic_continuous 0x009a090c (bool) : default=1 value=1 zoom_absolute 0x009a090d (int) : min=100 max=1000 step=1 default=100 value=100 privacy 0x009a0910 (bool) : default=0 value=0
❯ v4l2-ctl --all -d /dev/video1 Driver Info: Driver name : uvcvideo Card type : Cisco Webex Desk Camera Bus info : usb-0000:0a:00.3-2.4 Driver version : 5.16.20 Capabilities : 0x84a00001 Video Capture Metadata Capture Streaming Extended Pix Format Device Capabilities Device Caps : 0x04a00000 Metadata Capture Streaming Extended Pix Format Media Driver Info: Driver name : uvcvideo Model : Cisco Webex Desk Camera Serial : ATK1234 Bus info : usb-0000:0a:00.3-2.4 Media version : 5.16.20 Hardware revision: 0x0000000f (15) Driver version : 5.16.20 Interface Info: ID : 0x03000005 Type : V4L Video Entity Info: ID : 0x00000004 (4) Name : Cisco Webex Desk Camera Function : V4L2 I/O Priority: 2 Format Metadata Capture: Sample Format : 'UVCH' (UVC Payload Header Metadata) Buffer Size : 10240