-
-
Notifications
You must be signed in to change notification settings - Fork 60
Had to enable legacy raspicam camera stack in order for PiCamera to work #36
Comments
Hi @StarWhiz , /var/log/webcam.txt: Starting up webcamDaemon...
--- Configuration: ----------------------------
cfg_file: /home/pi/klipper_config/webcam.txt
camera: raspi
usb options: -r 640x480 -f 10
raspi options: --width 1280 --height 720 --framerate 60 -quality 100
http options: -w ./www-mjpgstreamer -n
Explicitly USB device:
-----------------------------------------------
Found video devices:
/dev/video0
/dev/video1
/dev/video10
/dev/video11
/dev/video12
/dev/video13
/dev/video14
/dev/video15
/dev/video16
/dev/video18
/dev/video20
/dev/video21
/dev/video22
/dev/video23
/dev/video31
Scan again in two minutes
/usr/local/bin/webcamd: line 103: kill: (1196) - No such process
Goodbye... /var/log/syslog: Jul 17 10:29:55 ender-3s1 systemd[1]: Starting the FluiddPI webcam daemon (based on OctoPi) with the user specified config...
Jul 17 10:31:25 ender-3s1 systemd[1]: webcamd.service: start operation timed out. Terminating.
Jul 17 10:31:25 ender-3s1 systemd[1]: webcamd.service: Failed with result 'timeout'.
Jul 17 10:31:25 ender-3s1 systemd[1]: Failed to start the FluiddPI webcam daemon (based on OctoPi) with the user specified config.
Jul 17 10:31:26 ender-3s1 systemd[1]: webcamd.service: Scheduled restart job, restart counter is at 5.
Jul 17 10:31:26 ender-3s1 systemd[1]: Stopped the FluiddPI webcam daemon (based on OctoPi) with the user specified config. ### Windows users: To edit this file use Notepad++, VSCode, Atom or SublimeText.
### Do not use Notepad or WordPad.
### MacOSX users: If you use Textedit to edit this file make sure to use
### "plain text format" and "disable smart quotes" in "Textedit > Preferences"
### Configure which camera to use
#
# Available options are:
# - auto: tries first usb webcam, if that's not available tries raspi cam
# - usb: only tries usb webcam
# - raspi: only tries raspi cam
#
# Defaults to auto
#
camera="raspi"
### Additional options to supply to MJPG Streamer for the RasPi Cam
#
# See https://faq.octoprint.org/mjpg-streamer-config for available options
#
# Defaults to 10fps
#
camera_raspi_options="--width 1280 --height 720 --framerate 60 -quality 100"
After changing camera="raspi" to camera="auto" I get the following issue: config file='/home/pi/klipper_config/webcam.txt':USB device was not set in options, start MJPG-streamer with the first found video device: /dev/video0
/usr/local/bin/webcamd: line 184: printf: 0x: invalid hex number
/usr/local/bin/webcamd: line 184: printf: 0x: invalid hex number
<13>Jul 17 10:56:50 pi: 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-mjpgstreamer -n -i input_uvc.so -r 640x480 -f 10 -d /dev/video0
MJPG Streamer Version: git rev: 310b29f4a94c46652b20c4b7b6e5cf24e532af39
i: Using V4L2 device.: /dev/video0
i: Desired Resolution: 640 x 480
i: Frames Per Second.: 10
i: Format............: JPEG
i: TV-Norm...........: DEFAULT
i: Could not obtain the requested pixelformat: MJPG , driver gave us: YUYV
... will try to handle this by checking against supported formats.
... Falling back to YUV mode (consider using -yuv option). Note that this requires much more CPU power
Unable to query that the FPS change is supported
: Inappropriate ioctl for device
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-mjpgstreamer/
o: HTTP TCP port........: 8080
o: HTTP Listen Address..: (null)
o: username:password....: disabled
o: commands.............: disabled
libv4l2: error turning on stream: Invalid argument
Unable to start capture: Invalid argument
i: Can't enable video in first time
i: cleaning up resources allocated by input thread
Done bring up all configured video device
Goodbye... Trying start MJPEG-Streamer with the provided command line gets the following error: pi@ender-3s1:~/mjpg-streamer $ ./mjpg_streamer -o output_http.so -w ./www-mjpgstreamer -n -i input_uvc.so -r 640x480 -f 10 -d /dev/video0
./mjpg_streamer: invalid option -- 'w'
-----------------------------------------------------------------------
Usage: ./mjpg_streamer
-i | --input "<input-plugin.so> [parameters]"
-o | --output "<output-plugin.so> [parameters]"
[-h | --help ]........: display this help
[-v | --version ].....: display version information
[-b | --background]...: fork to the background, daemon mode
-----------------------------------------------------------------------
Example #1:
To open an UVC webcam "/dev/video1" and stream it via HTTP:
./mjpg_streamer -i "input_uvc.so -d /dev/video1" -o "output_http.so"
-----------------------------------------------------------------------
Example #2:
To open an UVC webcam and stream via HTTP port 8090:
./mjpg_streamer -i "input_uvc.so" -o "output_http.so -p 8090"
-----------------------------------------------------------------------
Example #3:
To get help for a certain input plugin:
./mjpg_streamer -i "input_uvc.so --help"
-----------------------------------------------------------------------
In case the modules (=plugins) can not be found:
* Set the default search path for the modules with:
export LD_LIBRARY_PATH=/path/to/plugins,
* or put the plugins into the "/lib/" or "/usr/lib" folder,
* or instead of just providing the plugin file name, use a complete
path and filename:
./mjpg_streamer -i "/path/to/modules/input_uvc.so"
----------------------------------------------------------------------- After changing The Issue was, the argument -o and -i needs to be inside quotation marks. But this is a trap! FluiddPI/src/modules/mjpgstreamer/filesystem/root/usr/local/bin/webcamd Lines 149 to 155 in 7c73dcc
But this don't fix anything, because the character escape only affect the log files and not the mjpg_streamer execution. After checking my /boot/config.txt file, I recognized the following lines: # Automatically load overlays for detected cameras
start_x=1
gpu_mem=128
camera_auto_detect=1
dtoverlay=imx219 Normally after running camera_auto_detect=1
dtoverlay=imx219 Comment it out or delete the lines and reboot. ### Configure which camera to use
#
# Available options are:
# - auto: tries first usb webcam, if that's not available tries raspi cam
# - usb: only tries usb webcam
# - raspi: only tries raspi cam
#
# Defaults to auto
#
camera="usb"
### Additional options to supply to MJPG Streamer for the USB camera
#
# See https://faq.octoprint.org/mjpg-streamer-config for available options
#
# Defaults to a resolution of 640x480 px and a framerate of 10 fps
#
camera_usb_options="-r 1280x720 -f 60 -q 100" Keep in mind, the arguments are slightly different. Here you get it all: Octoprint mjpeg streamer config options For now, here I stop my research. The webcam is working and the custom mjpeg settings are applied. |
This is what I did to get my PiCam working in fluiddPi.
raspi-config
Now PiCamera should work. Hopefully this work around will help anyone else having trouble.
Before I did the above I kept getting 502 bad gateway errors and no matter what I did in FluidUI camera settings or webcam.txt nothing would work.
Information about the legacy Raspicam stack can be found here: https://www.raspberrypi.com/documentation/accessories/camera.html
The text was updated successfully, but these errors were encountered: