What is the problem?
Using MJPG causes webcam/snapshot and webcam/stream to just return "Server Error". Using YUYV does work, but is stuck at 1080 (which is all that the device reports to support in that format).
v4l2-ctl --list-device
Shows
Logitech BRIO (usb-0000:01:00.0-2):
/dev/video0
/dev/video1
/dev/video2
/dev/video3
/dev/media4
v4l2-ctl -d /dev/video0 --list-formats-ext
Outputs:
[0]: 'YUYV' (YUYV 4:2:2)
...
Size: Discrete 1920x1080
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.042s (24.000 fps)
Interval: Discrete 0.050s (20.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Interval: Discrete 0.133s (7.500 fps)
Interval: Discrete 0.200s (5.000 fps)
[1]: 'MJPG' (Motion-JPEG, compressed)
...
Size: Discrete 3840x2160
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.042s (24.000 fps)
Interval: Discrete 0.050s (20.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.100s (10.000 fps)
Interval: Discrete 0.133s (7.500 fps)
Interval: Discrete 0.200s (5.000 fps)
My full device path is:
/dev/v4l/by-id/usb-046d_Logitech_BRIO_42CF93B0-video-index0
For completeness, I'll include the full output from when I run:
camera-streamer --camera-path=/dev/v4l/by-id/usb-046d_Logitech_BRIO_42CF93B0-video-index0 --camera-format=MJPG --camera-width=3840 --camera-height=2160
LOG:
camera-streamer Version: v0.2.5 (41d8dfd)
util/http/http.c: ?: HTTP listening on 127.0.0.1:8080.
device/v4l2/device.c: CAMERA: Device path=/dev/v4l/by-id/usb-046d_Logitech_BRIO_42CF93B0-video-index0 fd=14 opened
device/v4l2/device_options.c: CAMERA: The 'horizontal_flip=0' was failed to find.
device/v4l2/device_options.c: CAMERA: The 'vertical_flip=0' was failed to find.
device/camera/camera_input.c: CAMERA: Disabling DMA since device uses USB (which is likely not working properly).
device/buffer_list.c: CAMERA:capture: Using: 3840x2160/MJPG, buffers=3, bytesperline=0, sizeimage=15.8MiB
device/buffer_list.c: CAMERA:capture: Opened 3 buffers. Memory used: 47.5 MiB
device/v4l2/device.c: CAMERA: ioctl(ret=-1, errno=22): Can't force keyframe
device/v4l2/device.c: DECODER: Device path=/dev/video10 fd=18 opened
device/v4l2/buffer_list.c: DECODER:output:mplane: Requested resolution=3840x2160 is unavailable. Got 1920x1920. Accepted
device/buffer_list.c: DECODER:output:mplane: Using: 1920x1920/MJPG, buffers=3, bytesperline=0, sizeimage=15.8MiB
device/buffer_list.c: DECODER:output:mplane: Opened 3 buffers. Memory used: 47.5 MiB
device/buffer_list.c: DECODER:capture:mplane: Using: 1920x1920/NV12, buffers=3, bytesperline=1920, sizeimage=5.3MiB
device/buffer_list.c: DECODER:capture:mplane: Opened 3 buffers. Memory used: 15.8 MiB
device/v4l2/device.c: RESCALLER:SNAPSHOT: Device path=/dev/video12 fd=25 opened
device/buffer_list.c: RESCALLER:SNAPSHOT:output:mplane: Using: 1920x1920/NV12, buffers=3, bytesperline=1920, sizeimage=5.3MiB
device/buffer_list.c: RESCALLER:SNAPSHOT:output:mplane: Opened 3 buffers. Memory used: 0.0 MiB
device/buffer_list.c: RESCALLER:SNAPSHOT:capture:mplane: Using: 1088x1088/NV12, buffers=3, bytesperline=1088, sizeimage=1.7MiB
device/buffer_list.c: RESCALLER:SNAPSHOT:capture:mplane: Opened 3 buffers. Memory used: 5.1 MiB
device/v4l2/device.c: SNAPSHOT: Device path=/dev/video11 fd=29 opened
device/buffer_list.c: SNAPSHOT:output:mplane: Using: 1088x1088/NV12, buffers=3, bytesperline=1088, sizeimage=1.7MiB
device/buffer_list.c: SNAPSHOT:output:mplane: Opened 3 buffers. Memory used: 0.0 MiB
device/buffer_list.c: SNAPSHOT:capture:mplane: Using: 1088x1088/MJPG, buffers=3, bytesperline=0, sizeimage=0.8MiB
device/buffer_list.c: SNAPSHOT:capture:mplane: Opened 3 buffers. Memory used: 2.2 MiB
device/v4l2/device.c: VIDEO: Device path=/dev/video11 fd=33 opened
device/buffer_list.c: VIDEO:output:mplane: Using: 1088x1088/NV12, buffers=3, bytesperline=1088, sizeimage=1.7MiB
device/buffer_list.c: VIDEO:output:mplane: Opened 3 buffers. Memory used: 0.0 MiB
device/buffer_list.c: VIDEO:capture:mplane: Using: 1088x1088/H264, buffers=3, bytesperline=0, sizeimage=0.8MiB
device/buffer_list.c: VIDEO:capture:mplane: Opened 3 buffers. Memory used: 2.2 MiB
device/device.c: CAMERA: Setting frame interval_us=0 for FPS=30
device/v4l2/device_options.c: CAMERA: The 'AfTrigger=1' was failed to find.
device/v4l2/device_options.c: SNAPSHOT: The 'compression_quality=80' was failed to find.
device/v4l2/device_options.c: VIDEO: Configuring option 'Repeat Sequence Header' (009909e2) = 1
device/v4l2/device_options.c: VIDEO: Configuring option 'Video Bitrate Mode' (009909ce) = 0
device/v4l2/device_options.c: VIDEO: Configuring option 'Video Bitrate' (009909cf) = 2000000
device/v4l2/device_options.c: VIDEO: Configuring option 'Repeat Sequence Header' (009909e2) = 5000000
device/v4l2/device_options.c: VIDEO: Configuring option 'H264 I-Frame Period' (00990a66) = 30
device/v4l2/device_options.c: VIDEO: Configuring option 'H264 Level' (00990a67) = 11
device/v4l2/device_options.c: VIDEO: Configuring option 'H264 Profile' (00990a6b) = 4
device/v4l2/device_options.c: VIDEO: Configuring option 'H264 Minimum QP Value' (00990a61) = 16
device/v4l2/device_options.c: VIDEO: Configuring option 'H264 Maximum QP Value' (00990a62) = 32
device/links.c: ?: Link 0: CAMERA:capture[3840x2160/MJPG/3] => [DECODER:output:mplane[1920x1920/MJPG/3]]
device/links.c: ?: Link 1: DECODER:capture:mplane[1920x1920/NV12/3] => [RESCALLER:SNAPSHOT:output:mplane[1920x1920/NV12/3]]
device/links.c: ?: Link 2: RESCALLER:SNAPSHOT:capture:mplane[1088x1088/NV12/3] => [SNAPSHOT:output:mplane[1088x1088/NV12/3], VIDEO:output:mplane[1088x1088/NV12/3]]
device/links.c: ?: Link 3: SNAPSHOT:capture:mplane[1088x1088/MJPG/3] => [SNAPSHOT-CAPTURE, STREAM-CAPTURE]
device/links.c: ?: Link 4: VIDEO:capture:mplane[1088x1088/H264/3] => [VIDEO-CAPTURE]
util/http/http.c: HTTP8080/0: Client connected 127.0.0.1 (fd=4).
util/http/http.c: HTTP8080/0: Request 'GET' '/snapshot' ''
device/buffer_list.c: CAMERA:capture: Streaming started... Was 0 of 3 enqueud
device/buffer_list.c: DECODER:output:mplane: Streaming started... Was 0 of 3 enqueud
device/buffer_list.c: DECODER:capture:mplane: Streaming started... Was 0 of 3 enqueud
device/buffer_list.c: RESCALLER:SNAPSHOT:output:mplane: Streaming started... Was 0 of 3 enqueud
device/buffer_list.c: RESCALLER:SNAPSHOT:capture:mplane: Streaming started... Was 0 of 3 enqueud
device/buffer_list.c: SNAPSHOT:output:mplane: Streaming started... Was 0 of 3 enqueud
device/buffer_list.c: VIDEO:output:mplane: Streaming started... Was 0 of 3 enqueud
device/buffer_list.c: SNAPSHOT:capture:mplane: Streaming started... Was 0 of 3 enqueud
device/buffer_list.c: VIDEO:capture:mplane: Streaming started... Was 0 of 3 enqueud
util/http/http.c: HTTP8080/0: Client disconnected 127.0.0.1.
util/http/http.c: HTTP8080/1: Client connected 127.0.0.1 (fd=5).
util/http/http.c: HTTP8080/1: Request 'GET' '/snapshot' ''
util/http/http.c: HTTP8080/1: Client disconnected 127.0.0.1.
What did you already try to solve it?
I tried to update with
sudo apt update
sudo apt full-upgrade
Have you tried running in safe mode?
I am not able to get it working even at terminal, regardless of OctoPrint.
Did running in safe mode solve the problem?
I am not able to get it working even at terminal, regardless of OctoPrint.
Systeminfo Bundle
octoprint-systeminfo-20250817013837.zip (194.3 KB)
Additional information about your setup
OctoPrint: Version 1.11.2
OctoPi: Build 2025.04.22.120926 with "camera-streamer", based on OctoPi 1.0.0