1

The Camera app used to work with my USB webcam, but now it's either stuck waiting with Force Quit or Wait prompts, if I run it too early, or loads into a "Could not play camera stream" message with a black screen, while using Terminal to run ffplay /dev/video0 or vlc v4l2:///dev/video0 gets me a video just fine.

While cvlc v4l2:///dev/video0 gets:

VLC media player 3.0.20 Vetinari (revision 3.0.20-0-g6f0d0ab126b)
[00005d11a8026f60] dummy interface: using the dummy interface module...
[000078b908048bf0] xcb_window window error: X server failure

Is there a problem with this?

$ ls -l /dev/video*
crw-rw----+ 1 root video 81, 0 Mar  1 08:03 /dev/video0
crw-rw----+ 1 root video 81, 1 Mar  1 08:03 /dev/video1

The Camera app's debugging info:

Library Details:

Aperture 0.6.0 GStreamer 1.24.2 Pipewire 1.0.5 Gtk 4.14.2

Cameras:

GENERAL WEBCAM (V4L2) Video/Source: { "object.path": (gchararray) "v4l2:/dev/video0", "api.v4l2.cap.card": (gchararray) "GENERAL WEBCAM: GENERAL WEBCAM", "device.id": (gchararray) "42", "clock.quantum-limit": (gchararray) "8192", "api.v4l2.path": (gchararray) "/dev/video0", "device.devids": (gchararray) "20736", "node.pause-on-idle": (gchararray) "false", "node.driver": (gchararray) "true", "device.product.id": (gchararray) "0x224", "api.v4l2.cap.driver": (gchararray) "uvcvideo", "api.v4l2.cap.capabilities": (gchararray) "84a00001", "api.v4l2.cap.version": (gchararray) "6.8.12", "device.api": (gchararray) "v4l2", "api.v4l2.cap.device-caps": (gchararray) "04200001", "device.vendor.id": (gchararray) "0x1b3", "node.name": (gchararray) "v4l2_input.pci-0000_06_00.3-usb-0_4_1.0", "node.nick": (gchararray) "GENERAL WEBCAM", "priority.session": (gchararray) "1000", "client.id": (gchararray) "35", "object.id": (gchararray) "45", "factory.name": (gchararray) "api.v4l2.source", "api.v4l2.cap.bus_info": (gchararray) "usb-0000:06:00.3-4", "media.class": (gchararray) "Video/Source", "factory.id": (gchararray) "10", "node.description": (gchararray) "GENERAL WEBCAM (V4L2)", "object.serial": (gchararray) "45", "media.role": (gchararray) "Camera",

Malady
  • 292

1 Answers1

1

Searched up the camera stream failure, which sent me here about it working from Terminal.

Terminal Camera, a.k.a "snapshot" failed, but looking up the error message Could not start camerabin: Element failed to change its state sent me here which inspired me to try running wireplumber by itself.

The PipeWire's libcamera SPA missing or broken. error message sent me to this unix stack answer to install both libcamera-ipa and pipewire-libcamera, after which a reset solved my problem.

Malady
  • 292