Crowsnest webcam not working

I have just done a fresh install of klipper on pi 4b and set up webcam with crowsnest. webcam is showing as detected but I cannot get any image to show in fluidd, it just shows blank. I’ve attached settings. config below. The issue seems similar to this previously solved Issues with CSI cameras and crowsnest/fluidd. But in my case lowering the resolution/ fps has not helped. Can anyone help?

[crowsnest]
log_path: /home/shish/printer_data/logs/crowsnest.log
log_level: verbose                      # Valid Options are quiet/verbose/debug
delete_log: false                       # Deletes log on every restart, if set to true
no_proxy: false

[cam 1]
mode: camera-streamer                       # ustreamer - Provides mjpg and snapshots. (All devices)
                                        # camera-streamer - Provides webrtc, mjpg and snapshots. (rpi + Raspi OS based only)
enable_rtsp: false                      # If camera-streamer is used, this enables also usage of an rtsp server
rtsp_port: 8554                         # Set different ports for each device!
port: 8080                              # HTTP/MJPG Stream/Snapshot Port
device: /base/soc/i2c0mux/i2c@1/imx219@10                     # See Log for available ...
resolution: 640x480                     # widthxheight format
max_fps: 10                             # If Hardware Supports this it will be forced, otherwise ignored/coerced.
#custom_flags:                          # You can run the Stream Services with custom flags.
#v4l2ctl:                               # Add v4l2-ctl parameters to setup your camera, see Log what your cam is capable of.

[01/01/25 16:20:19] crowsnest: Try to start configured Cams / Services...
[01/01/25 16:20:20] crowsnest: INFO: Configuration of Section [cam 1] looks good. Continue ...
[01/01/25 16:20:21] crowsnest: Starting camera-streamer with Device /base/soc/i2c0mux/i2c@1/imx219@10 ...
[01/01/25 16:20:22] crowsnest:  ... Done!
[01/01/25 16:22:41] crowsnest: crowsnest - A webcam Service for multiple Cams and Stream Services.
[01/01/25 16:22:41] crowsnest: Version: v4.1.10-1-gdd390b6
[01/01/25 16:22:41] crowsnest: Prepare Startup ...
[01/01/25 16:22:41] crowsnest: INFO: Host information:
[01/01/25 16:22:41] crowsnest: Host Info: Distribution: Raspbian GNU/Linux 12 (bookworm)
[01/01/25 16:22:41] crowsnest: Host Info: Kernel: Linux 6.6.62+rpt-rpi-v8 aarch64
[01/01/25 16:22:41] crowsnest: Host Info: Model:  Raspberry Pi 4 Model B Rev 1.4
[01/01/25 16:22:41] crowsnest: Host Info: Available CPU Cores: 4
[01/01/25 16:22:41] crowsnest: Host Info: Available Memory: 1891112 kB
[01/01/25 16:22:41] crowsnest: Host Info: Diskspace (avail. / total): 20G / 29G
[01/01/25 16:22:41] crowsnest: INFO: Checking Dependencies
[01/01/25 16:22:42] crowsnest: Dependency: 'crudini' found in /usr/bin/crudini.
[01/01/25 16:22:42] crowsnest: Dependency: 'find' found in /usr/bin/find.
[01/01/25 16:22:42] crowsnest: Dependency: 'xargs' found in /usr/bin/xargs.
[01/01/25 16:22:42] crowsnest: Dependency: 'ustreamer' found in bin/ustreamer/src/ustreamer.bin.
[01/01/25 16:22:42] crowsnest: Dependency: 'camera-streamer' found in bin/camera-streamer/camera-streamer.
[01/01/25 16:22:42] crowsnest: Version Control: ustreamer is up to date. (v6.10)
[01/01/25 16:22:44] crowsnest: Version Control: camera-streamer is up to date. ((e50a855))
[01/01/25 16:22:44] crowsnest: INFO: Print Configfile: '/home/shish/printer_data/config/crowsnest.conf'
[01/01/25 16:22:44] crowsnest:		[crowsnest]
[01/01/25 16:22:44] crowsnest:		log_path: /home/shish/printer_data/logs/crowsnest.log
[01/01/25 16:22:44] crowsnest:		log_level: verbose
[01/01/25 16:22:44] crowsnest:		delete_log: false
[01/01/25 16:22:44] crowsnest:		no_proxy: false
[01/01/25 16:22:44] crowsnest:		
[01/01/25 16:22:44] crowsnest:		[cam 1]
[01/01/25 16:22:44] crowsnest:		mode: camera-streamer
[01/01/25 16:22:44] crowsnest:		
[01/01/25 16:22:44] crowsnest:		enable_rtsp: false
[01/01/25 16:22:44] crowsnest:		rtsp_port: 8554
[01/01/25 16:22:44] crowsnest:		port: 8080
[01/01/25 16:22:44] crowsnest:		device: /base/soc/i2c0mux/i2c@1/imx219@10
[01/01/25 16:22:44] crowsnest:		resolution: 640x480
[01/01/25 16:22:44] crowsnest:		max_fps: 10
[01/01/25 16:22:44] crowsnest: INFO: Detect available Devices
[01/01/25 16:22:44] crowsnest: INFO: Found 1 total available Device(s)
[01/01/25 16:22:44] crowsnest: Detected 'libcamera' device -> /base/soc/i2c0mux/i2c@1/imx219@10
[01/01/25 16:22:44] crowsnest: 'libcamera' device(s) resolution(s) :
[01/01/25 16:22:44] crowsnest:		0 : imx219 [3280x2464 10-bit RGGB] (/base/soc/i2c0mux/i2c@1/imx219@10)
[01/01/25 16:22:44] crowsnest:		    Colorspace: 'SRGGB10_CSI2P' : 640x480 [206.65 fps - (1000, 752)/1280x960 crop]
[01/01/25 16:22:44] crowsnest:		                             1640x1232 [41.85 fps - (0, 0)/3280x2464 crop]
[01/01/25 16:22:44] crowsnest:		                             1920x1080 [47.57 fps - (680, 692)/1920x1080 crop]
[01/01/25 16:22:44] crowsnest:		                             3280x2464 [21.19 fps - (0, 0)/3280x2464 crop]
[01/01/25 16:22:44] crowsnest:		           'SRGGB8' : 640x480 [206.65 fps - (1000, 752)/1280x960 crop]
[01/01/25 16:22:44] crowsnest:		                      1640x1232 [83.70 fps - (0, 0)/3280x2464 crop]
[01/01/25 16:22:44] crowsnest:		                      1920x1080 [47.57 fps - (680, 692)/1920x1080 crop]
[01/01/25 16:22:44] crowsnest:		                      3280x2464 [21.19 fps - (0, 0)/3280x2464 crop]
[01/01/25 16:22:44] crowsnest:		
[01/01/25 16:22:44] crowsnest: 'libcamera' device controls :
[01/01/25 16:22:44] crowsnest:		AeMeteringMode (Integer32): min=0 max=3
[01/01/25 16:22:44] crowsnest:				0: CentreWeighted
[01/01/25 16:22:44] crowsnest:				1: Spot
[01/01/25 16:22:44] crowsnest:				2: Matrix
[01/01/25 16:22:44] crowsnest:				3: Custom
[01/01/25 16:22:44] crowsnest:		ExposureTime (Integer32): min=75 max=11766829
[01/01/25 16:22:44] crowsnest:		NoiseReductionMode (Integer32): min=0 max=4
[01/01/25 16:22:44] crowsnest:				0: Off
[01/01/25 16:22:44] crowsnest:				1: Fast
[01/01/25 16:22:44] crowsnest:				2: HighQuality
[01/01/25 16:22:44] crowsnest:				3: Minimal
[01/01/25 16:22:44] crowsnest:				4: ZSL
[01/01/25 16:22:44] crowsnest:		StatsOutputEnable (00004e21, Bool): min=false max=true
[01/01/25 16:22:44] crowsnest:		AeFlickerMode (Integer32): min=0 max=1
[01/01/25 16:22:44] crowsnest:		AeConstraintMode (Integer32): min=0 max=3
[01/01/25 16:22:44] crowsnest:				0: Normal
[01/01/25 16:22:44] crowsnest:				1: Highlight
[01/01/25 16:22:44] crowsnest:				2: Shadows
[01/01/25 16:22:44] crowsnest:				3: Custom
[01/01/25 16:22:44] crowsnest:		CnnEnableInputTensor (00004e27, Bool): min=false max=true
[01/01/25 16:22:44] crowsnest:		Brightness (Float): min=-1.000000 max=1.000000
[01/01/25 16:22:44] crowsnest:		AeFlickerPeriod (Integer32): min=100 max=1000000
[01/01/25 16:22:44] crowsnest:		Contrast (Float): min=0.000000 max=32.000000
[01/01/25 16:22:44] crowsnest:		ColourGains (Float): min=0.000000 max=32.000000
[01/01/25 16:22:44] crowsnest:		ExposureValue (Float): min=-8.000000 max=8.000000
[01/01/25 16:22:44] crowsnest:		AeEnable (Bool): min=false max=true
[01/01/25 16:22:44] crowsnest:		AeExposureMode (Integer32): min=0 max=3
[01/01/25 16:22:44] crowsnest:				0: Normal
[01/01/25 16:22:44] crowsnest:				1: Short
[01/01/25 16:22:44] crowsnest:				2: Long
[01/01/25 16:22:44] crowsnest:				3: Custom
[01/01/25 16:22:44] crowsnest:		AwbMode (Integer32): min=0 max=7
[01/01/25 16:22:44] crowsnest:				0: Auto
[01/01/25 16:22:44] crowsnest:				1: Incandescent
[01/01/25 16:22:44] crowsnest:				2: Tungsten
[01/01/25 16:22:44] crowsnest:				3: Fluorescent
[01/01/25 16:22:44] crowsnest:				4: Indoor
[01/01/25 16:22:44] crowsnest:				5: Daylight
[01/01/25 16:22:44] crowsnest:				6: Cloudy
[01/01/25 16:22:44] crowsnest:				7: Custom
[01/01/25 16:22:44] crowsnest:		Sharpness (Float): min=0.000000 max=16.000000
[01/01/25 16:22:44] crowsnest:		HdrMode (Integer32): min=0 max=4
[01/01/25 16:22:44] crowsnest:				0
[01/01/25 16:22:44] crowsnest:				1
[01/01/25 16:22:44] crowsnest:				2
[01/01/25 16:22:44] crowsnest:				3
[01/01/25 16:22:44] crowsnest:				4
[01/01/25 16:22:44] crowsnest:		FrameDurationLimits (Integer64): min=21020 max=11767556
[01/01/25 16:22:44] crowsnest:		AnalogueGain (Float): min=1.000000 max=10.666667
[01/01/25 16:22:44] crowsnest:		AwbEnable (Bool): min=false max=true
[01/01/25 16:22:44] crowsnest:		Saturation (Float): min=0.000000 max=32.000000
[01/01/25 16:22:45] crowsnest: 
[01/01/25 16:22:45] crowsnest: Try to start configured Cams / Services...
[01/01/25 16:22:46] crowsnest: INFO: Configuration of Section [cam 1] looks good. Continue ...
[01/01/25 16:22:47] crowsnest: Starting camera-streamer with Device /base/soc/i2c0mux/i2c@1/imx219@10 ...
[01/01/25 16:22:48] crowsnest:  ... Done!

In my case I had to add a custom flag to get it to work:

custom_flags: --camera-height=1080 --camera-width=1920 --camera-video.height=1080 --camera-snapshot.height=1080 --camera-format=YUYV

I’m using Mainsail.

sadly no joy

Dang it. Well, if you open

http://yourpiip/webcam/?action=snapshot

Does it show an image?

Also, what happens when you open up http://yourpiip/webcam:8080

Your crowsnest log shows that the camera is there and alive.

Your configuration is different from mine because I am using a usb camera… and you appear to be using a Pi camera and libcamera. There is another alternative. Have you looked at go2rtc?

And btw, I fought with mine for a minute and I understand the frustration.

snapshot gives a bad gateway and 8080 is blank
i tried configuring with a spare usb cam too and it also just showed blank in fluidd.
its really driving me insane.

Just grasping… but try this in the Camera Url Stream:

/webcam/webrtc or maybe the FQDN.

I also have: https://raspberrypi.local/webcam/?action=snapshot but I moved my mainsail UI to https. (That was a bucket of fun.)

I mean, you know it has to be some small little thing, right?

yep. I know it’ll be something tiny and that makes it even worse. Thanks for trying to help. I have reinstalled everything and still no luck…

I did it. installed legacy bullseye

1 Like