Changing mjpg_streamer to a forked version

What is the problem?

Getting a USB webcam to work with Octopi (that only outputs YU12).
How to change mjpg-streamer to a fork?

What did you already try to solve it?

I've edited /boot/octopi.txt and made the below changes. I've also tried with/without the framerate flag, and with/without the -y flag.

camera_usb_options="-r 640x480 -y"

camera_http_webroot="./www-octopi"
camera_http_options="-n"

From research in:

I've found out and confirmed that the webcam that I have outputs a YU12, which is not supported by mjpg-streamer.

Output of v4l2-ctl --list-formats-ext

Type: Video Capture

	[0]: 'PWC2' (Raw Philips Webcam Type (New), compressed)
		Size: Discrete 160x120
		Size: Discrete 320x240
		Size: Discrete 640x480
	[1]: 'YU12' (Planar YUV 4:2:0)
		Size: Discrete 160x120
			Interval: Discrete 0.200s (5.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.040s (25.000 fps)
			Interval: Discrete 0.033s (30.000 fps)
		Size: Discrete 320x240
			Interval: Discrete 0.200s (5.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.067s (15.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
			Interval: Discrete 0.040s (25.000 fps)
			Interval: Discrete 0.033s (30.000 fps)
		Size: Discrete 640x480
			Interval: Discrete 0.200s (5.000 fps)
			Interval: Discrete 0.100s (10.000 fps)
			Interval: Discrete 0.067s (15.000 fps)

Some hope and where I'd like help

I've found some forks of mjpg-streamer that do support YU12. So;
Where I'd like some help is how to change the mjpg-streamer to a different forked version (linked).

I think I'm comfortable downloading the repo from github and building it within the $HOME directory following these instructions. Would it be as simple as that? I'm not sure what are the octopi specific parts or config are vs what comes with the mjpg_streamer.

Have you tried running in safe mode?

Nope

Did running in safe mode solve the problem?

Unknown

Systeminfo Bundle

octoprint-systeminfo-20231210123956.zip (27.2 KB)

WRITE HERE

Additional information about your setup

OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ... as much data as possible
OcotoPrint Version 1.9.3
OcotoPi Build 2023.10.09.151442 with "webcamd", based on OctoPi 1.0.0, running on Raspberry Pi 3 Model B Plus Rev 1.3
Printer Ender 3 v2
Webcam Logitech, Inc. QuickCam Pro 4000

Thanks for your time

yeah, fairly certain that would work. you would want to stop the service first using sudo service webcamd stop and then rename the existing folder.