Camera controls doesnt appear in control.htm

Camera model
Raspberry Pi Camera Module V2

What is the problem?

When i go to the "http://IP/webcam/control.htm" or "http://IP:8080/control.htm" page i get a yellow bar saying "(null) HTTP output plugin":

Everything else works, its just that i would like to change the camera settings because the image quality is still awful. I have tried with different lightning and angles but i still need to do some adjustments on the software side.

The camera is enabled and its working fine by itself, so its not a hardware problem as far as i know.

What did you already try to solve it?
These are some solutions i have found online and tried wihout resolving my issue:

  • Uncommenting and setting these values in octopi.txt:

    camera_http_webroot="./www"
    camera_http_options=""

  • Upgrading

    sudo apt-get update --fix-missing
    sudo apt-get upgrade
    sudo reboot

  • Adding "bcm2835-v4l2" to

    /etc/modules

  • Defining "raspi" in the config

    camera="USB/AUTO"

    This did in fact fix the main problem, as i got the controls up, but the camera did not show any picture. It just says "Webcam stream loading...", and if i go directly to the stream url the website just loads infinitly, and that's not so practical.

After all this i tried installing Octopi again on a new SD card with the same result. Then i thought i'd try to do everything manually to see if it worked then so i followed this guide:

The result was still the same. Everything besides the control.htm page works perfectly with camera="raspi", and the control.htm works but i get no stream image with camera="usb/auto" as earlier.

Log (/var/log/webcamd.log)

With "raspi":

Starting up webcamDaemon...

--- Configuration: ----------------------------
cfg_file: /boot/octopi.txt
camera: raspi
usb options: -r 640x480 -f 10
raspi options: -x 3280 -y 2464 -fps 15
http options: -w ./www

Explicitly USB device:

Found video devices:
/dev/video0
/dev/video10
/dev/video11
/dev/video12
/dev/video13
/dev/video14
/dev/video15
/dev/video16
raspi
config file='/boot/octopi.txt':Start MJPG-streamer with video device: raspi
<13>May 16 14:57:19 root: Starting Raspberry Pi camera
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 -i input_raspicam.so -x 3280 -y 2464 -fps 15
    MJPG Streamer Version: git rev: 5554f42c352ecfa7edaec6fc51e507afce605a34
    i: fps.............: 15
    i: resolution........: 3280 x 2464
    i: camera parameters..............:

Sharpness 0, Contrast 0, Brightness 50
Saturation 0, ISO 0, Video Stabilisation No, Exposure compensation 0
Exposure Mode 'auto', AWB Mode 'auto', Image Effect 'none'
Metering Mode 'average', Colour Effect Enabled No with U = 128, V = 128
Rotation 0, hflip No, vflip No
ROI x 0.000000, y 0.000000, w 1.000000 h 1.000000
o: www-folder-path......: ./www/
o: HTTP TCP port........: 8080
o: HTTP Listen Address..: (null)
o: username:password....: disabled
o: commands.............: enabled
i: Starting Camera
Encoder Buffer Size 81920
Done bring up all configured video device

Goodbye...

With "usb/auto"

Starting up webcamDaemon...

--- Configuration: ----------------------------
cfg_file: /boot/octopi.txt
camera: usb
usb options: -r 3280x2464 -f 15
raspi options: -x 3280 -y 2464 -fps 15
http options: -w ./www

Explicitly USB device:

Found video devices:
/dev/video0
/dev/video10
/dev/video11
/dev/video12
/dev/video13
/dev/video14
/dev/video15
/dev/video16
raspi
config file='/boot/octopi.txt':USB device was not set in options, start MJPG-streamer with the first found video device: /dev/video0
<13>May 16 17:39:02 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 -i input_uvc.so -r 3280x2464 -f 15 -d /dev/video0
    MJPG Streamer Version: git rev: 5554f42c352ecfa7edaec6fc51e507afce605a34
    i: Using V4L2 device.: /dev/video0
    i: Desired Resolution: 3280 x 2464
    i: Frames Per Second.: 15
    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/
    o: HTTP TCP port........: 8080
    o: HTTP Listen Address..: (null)
    o: username:password....: disabled
    o: commands.............: enabled
    Done bring up all configured video device

Goodbye...

i: select() timeout
i: cleaning up resources allocated by input thread

Additional information about your setup (OctoPrint version, OctoPi version, ...)

  • Raspberry Pi 4B 2GB

  • OctoPrint 1.6.1

  • OctoPi 0.18.0

    I have been testing on both Firefox and Chrome

I'm just so lost. I have been reading and trying to troubleshoot and my brain is melting at this point. I must have missed something. I have been reading on so many different forum posts on different sites but i finally thought i had to make my own post, as i didnt find any identical problems and a lot the other posts was hard to read when 10x people comes with their own problem in the same thread. Any help is appreciated as idk what to do anymore.

As far as I know, when in mode raspi the controls are not available. You need to run the camera in USB mode for the controls to come available. (camera="usb")

It looks like you have already enabled all the right things for the camera to work in USB mode, this is the best guide I have for you for that:

Now aside from that, the guide I just linked to comes from the Camera Settings plugin - so my next recommendation is to try the camera settings plugin instead. This uses v4l2-ctl to adjust the controls on the driver level, not in mjpg-streamer.

2 Likes

In all this mess i forgot it might be a plugin for this facepalm. I'll try it now.

This worked. Haven't been able to get some really good result now, but that might just be me. It's better at least.

1 Like