Octopi 1.0.0 Compression Artefacts with Raspberry Camera

What is the problem?

Since I've switched to OctoPi 1.0.0, I've noticed that my Raspberry PI HQ camera suddenly shows massive compression artefacts in the webcam stream.

I've edited the octopi.txt file to add a quality argument, but it doesn't seems to work.
The weird thing is that if I restart the webcamd manually, then the artifacts go away. But after rebooting the entire system, they are back.

What did you already try to solve it?

Edit octopi.txt and added -r 1280x720 -f 10 -q 85, tried various quality settings with no effect, 10 looks exactly the same as 90 if I manually reboot the demon. I think the quality setting is not being taken into account.

Logs:

Starting up webcamDaemon...

--- Configuration: ----------------------------
cfg_file:      /boot/octopi.txt
camera:        auto
usb options:   -r 1280x720 -f 10 -q 85
raspi options: -fps 10
http options:  -w ./www-octopi -n --listen 127.0.0.1

Explicitly set USB device:
-----------------------------------------------

Found video devices:
/dev/video0
/dev/video10
/dev/video11
/dev/video12
/dev/video13
/dev/video14
/dev/video15
/dev/video16
/dev/video18
/dev/video19
/dev/video20
/dev/video21
/dev/video22
/dev/video23
/dev/video31
raspi
config file='/boot/octopi.txt':USB device was not set in options, starting MJPG-streamer with the first found video device: /dev/video0
<13>Feb 24 18:31:12 root: Starting USB webcam
Checking for VL805 (Raspberry Pi 4)...
  - It seems that you don't have VL805 (Raspberry Pi 4).
    There should be no problems with USB (a.k.a. select() timeout)
Running ./mjpg_streamer -o output_http.so -w ./www-octopi -n --listen 127.0.0.1 -i input_uvc.so -r 1280x720 -f 10 -q 85 -d /dev/video0
MJPG Streamer Version.: 2.0
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 1280 x 720
 i: Frames Per Second.: 10
 i: Format............: JPEG
 i: TV-Norm...........: DEFAULT
UVCIOC_CTRL_ADD - Error at Pan (relative): Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Tilt (relative): Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Pan Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Tilt Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Pan/tilt Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Focus (absolute): Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Pan (relative): Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Tilt (relative): Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Pan Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Tilt Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Pan/tilt Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Focus (absolute): Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at LED1 Mode: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at LED1 Frequency: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Disable video processing: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Raw bits per pixel: Inappropriate ioctl for device (25)
 o: www-folder-path......: ./www-octopi/
 o: HTTP TCP port........: 8080
 o: HTTP Listen Address..: 127.0.0.1
 o: username:password....: disabled
 o: commands.............: disabled
Done bringing up all configured video devices

Systeminfo Bundle

octoprint-systeminfo-20230227094314.zip (16.5 KB)

Additional information about your setup

Raspberry PI 4, flashed from the OctoPi 1.0.0 image, with a Raspberry PI HQ camera.

You may need to increase the GPU memory. You can do so by logging in via ssh and running sudo raspi-config, navigating to Performance->GPU Memory. You would probably want to double the current value, ie. 32 -> 64, but there's no need to go over 256.

You may also need to increase the bitrate setting which you can do via v4l2-ctl or the Camera Settings plugin.

Yes, that did it, thanks

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.