Open jamincollins opened 3 months ago
Is it showing something at least between timeouts?
Yes a few frames then the no signal notice. Then this cycle repeats. Also worth noting that the mjpeg format works best. The other seems almost like still frames or very low frame rate even though the device details says it should support 30 fps at 640x480.
There may be something wrong with the driver. Try --device-timeout=10
.
That does not appear to resolve the CAP: Device select() timeout
.
Here is a capture from the same camera using VLC, as you can see it has no trouble staying connected and getting decent frame rate for the resolution. This is scaled down from the original 1600x1200 capture.
https://github.com/user-attachments/assets/1b535038-97ce-4b0c-b869-3f6423e4c7a0
Did you use device timeout with -m MJPEG
?
Yes. Both the ustreamer
and vlc
testing has been done with the same format option of MJPEG.
I can't say now what's wrong with it. Could you try mjpg-streamer? uStreamer doesn't do anything weird with camera, but maybe there is some difference.
No change with mjpg-streamer.
@jamincollins
Solution: https://github.com/jacksonliam/mjpg-streamer/issues/182#issuecomment-2336583229
@jamincollins Please check if this is working.
Same error with log:
-- INFO [2546.600 ] -- Starting PiKVM uStreamer 6.16 ...
-- DEBUG [2546.600 ] -- Installing SIGINT handler ...
-- DEBUG [2546.600 ] -- Installing SIGTERM handler ...
-- DEBUG [2546.600 ] -- Ignoring SIGPIPE ...
-- DEBUG [2546.600 ] -- HTTP: Binding HTTP to [0.0.0.0]:8080 ...
-- INFO [2546.600 ] -- HTTP: Listening HTTP on [0.0.0.0]:8080
-- DEBUG [2546.600 ] -- CAP: Opening capture device ...
-- INFO [2546.600 ] -- HTTP: Starting eventloop ...
-- DEBUG [2546.615 ] -- HTTP: Repeating exposed ...
-- DEBUG [2546.701 ] -- CAP: Capture device fd=8 opened
-- INFO [2546.701 ] -- Using V4L2 device: /dev/video2
-- DEBUG [2546.701 ] -- CAP: Querying device capabilities ...
-- INFO [2546.701 ] -- CAP: Using capture type: single-planar
-- INFO [2546.701 ] -- CAP: Using input channel: 0
-- DEBUG [2546.701 ] -- CAP: Using TV standard: DEFAULT
-- DEBUG [2546.701 ] -- CAP: Probing device format=YUYV, stride=1280, resolution=640x480 ...
-- INFO [2546.725 ] -- CAP: Using resolution: 640x480
-- INFO [2546.725 ] -- CAP: Using format: YUYV
-- DEBUG [2546.725 ] -- CAP: Querying HW FPS ...
-- INFO [2546.749 ] -- CAP: Using HW FPS: 0 -> 30 (coerced)
-- INFO [2546.750 ] -- CAP: Using IO method: MMAP
-- DEBUG [2546.750 ] -- CAP: Requesting 5 device buffers for MMAP ...
-- INFO [2546.750 ] -- CAP: Requested 5 device buffers, got 5
-- DEBUG [2546.750 ] -- CAP: Allocating device buffers ...
-- DEBUG [2546.750 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=0 ...
-- DEBUG [2546.750 ] -- CAP: Mapping device buffer=0 ...
-- DEBUG [2546.750 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=1 ...
-- DEBUG [2546.750 ] -- CAP: Mapping device buffer=1 ...
-- DEBUG [2546.750 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=2 ...
-- DEBUG [2546.750 ] -- CAP: Mapping device buffer=2 ...
-- DEBUG [2546.750 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=3 ...
-- DEBUG [2546.750 ] -- CAP: Mapping device buffer=3 ...
-- DEBUG [2546.750 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=4 ...
-- DEBUG [2546.750 ] -- CAP: Mapping device buffer=4 ...
-- DEBUG [2546.750 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=0 ...
-- DEBUG [2546.750 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=1 ...
-- DEBUG [2546.750 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=2 ...
-- DEBUG [2546.750 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=3 ...
-- DEBUG [2546.750 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=4 ...
-- INFO [2546.764 ] -- CAP: Capturing started
-- INFO [2546.764 ] -- Using JPEG quality: 80%
-- INFO [2546.764 ] -- Creating pool JPEG with 4 workers ...
-- DEBUG [2546.765 ] -- Hello! I am a worker jw-0 ^_^
-- DEBUG [2546.765 ] -- Worker jw-0 waiting for a new job ...
-- DEBUG [2546.765 ] -- Hello! I am a worker jw-1 ^_^
-- DEBUG [2546.765 ] -- Worker jw-1 waiting for a new job ...
-- INFO [2546.765 ] -- Capturing ...
-- DEBUG [2546.765 ] -- CAP: Calling select() on video device ...
-- DEBUG [2546.765 ] -- Hello! I am a worker jw-2 ^_^
-- DEBUG [2546.765 ] -- Worker jw-2 waiting for a new job ...
-- DEBUG [2546.765 ] -- Hello! I am a worker jw-3 ^_^
-- DEBUG [2546.765 ] -- Worker jw-3 waiting for a new job ...
-- DEBUG [2547.623 ] -- HTTP: Repeating exposed ...
-- DEBUG [2547.766 ] -- CAP: Device select() --> 0; has_read=0, has_error=0
-- ERROR [2547.766 ] -- CAP: Device select() timeout
-- INFO [2547.866 ] -- Destroying workers pool JPEG ...
-- DEBUG [2547.867 ] -- Bye-bye (worker jw-0)
-- DEBUG [2547.867 ] -- Bye-bye (worker jw-1)
-- DEBUG [2547.867 ] -- Bye-bye (worker jw-2)
-- DEBUG [2547.867 ] -- Bye-bye (worker jw-3)
-- DEBUG [2547.867 ] -- CAP: Calling VIDIOC_STREAMOFF ...
-- DEBUG [2547.974 ] -- CAP: Releasing HW buffers ...
-- INFO [2547.974 ] -- CAP: Capturing stopped
================================================================================
-- DEBUG [2547.974 ] -- CAP: Opening capture device ...
-- DEBUG [2547.974 ] -- CAP: Capture device fd=8 opened
-- INFO [2547.974 ] -- Using V4L2 device: /dev/video2
-- DEBUG [2547.974 ] -- CAP: Querying device capabilities ...
-- INFO [2547.974 ] -- CAP: Using capture type: single-planar
-- INFO [2547.974 ] -- CAP: Using input channel: 0
-- DEBUG [2547.974 ] -- CAP: Using TV standard: DEFAULT
-- DEBUG [2547.974 ] -- CAP: Probing device format=YUYV, stride=1280, resolution=640x480 ...
-- INFO [2548.000 ] -- CAP: Using resolution: 640x480
-- INFO [2548.001 ] -- CAP: Using format: YUYV
-- DEBUG [2548.001 ] -- CAP: Querying HW FPS ...
-- INFO [2548.025 ] -- CAP: Using HW FPS: 0 -> 30 (coerced)
-- INFO [2548.025 ] -- CAP: Using IO method: MMAP
-- DEBUG [2548.025 ] -- CAP: Requesting 5 device buffers for MMAP ...
-- INFO [2548.026 ] -- CAP: Requested 5 device buffers, got 5
-- DEBUG [2548.026 ] -- CAP: Allocating device buffers ...
-- DEBUG [2548.026 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=0 ...
-- DEBUG [2548.026 ] -- CAP: Mapping device buffer=0 ...
-- DEBUG [2548.026 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=1 ...
-- DEBUG [2548.026 ] -- CAP: Mapping device buffer=1 ...
-- DEBUG [2548.026 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=2 ...
-- DEBUG [2548.026 ] -- CAP: Mapping device buffer=2 ...
-- DEBUG [2548.026 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=3 ...
-- DEBUG [2548.026 ] -- CAP: Mapping device buffer=3 ...
-- DEBUG [2548.026 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=4 ...
-- DEBUG [2548.026 ] -- CAP: Mapping device buffer=4 ...
-- DEBUG [2548.026 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=0 ...
-- DEBUG [2548.026 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=1 ...
-- DEBUG [2548.026 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=2 ...
-- DEBUG [2548.026 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=3 ...
-- DEBUG [2548.026 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=4 ...
-- INFO [2548.040 ] -- CAP: Capturing started
-- INFO [2548.040 ] -- Using JPEG quality: 80%
-- INFO [2548.040 ] -- Creating pool JPEG with 4 workers ...
-- DEBUG [2548.040 ] -- Hello! I am a worker jw-1 ^_^
-- DEBUG [2548.040 ] -- Worker jw-1 waiting for a new job ...
-- DEBUG [2548.040 ] -- Hello! I am a worker jw-2 ^_^
-- DEBUG [2548.041 ] -- Worker jw-2 waiting for a new job ...
-- DEBUG [2548.041 ] -- Hello! I am a worker jw-3 ^_^
-- DEBUG [2548.041 ] -- Worker jw-3 waiting for a new job ...
-- DEBUG [2548.041 ] -- Hello! I am a worker jw-0 ^_^
-- DEBUG [2548.041 ] -- Worker jw-0 waiting for a new job ...
-- INFO [2548.041 ] -- Capturing ...
-- DEBUG [2548.041 ] -- CAP: Calling select() on video device ...
-- DEBUG [2548.632 ] -- HTTP: Repeating exposed ...
-- DEBUG [2549.042 ] -- CAP: Device select() --> 0; has_read=0, has_error=0
-- ERROR [2549.042 ] -- CAP: Device select() timeout
-- INFO [2549.142 ] -- Destroying workers pool JPEG ...
-- DEBUG [2549.142 ] -- Bye-bye (worker jw-0)
-- DEBUG [2549.142 ] -- Bye-bye (worker jw-1)
-- DEBUG [2549.142 ] -- Bye-bye (worker jw-2)
-- DEBUG [2549.143 ] -- Bye-bye (worker jw-3)
-- DEBUG [2549.143 ] -- CAP: Calling VIDIOC_STREAMOFF ...
-- DEBUG [2549.269 ] -- CAP: Releasing HW buffers ...
-- INFO [2549.270 ] -- CAP: Capturing stopped
================================================================================
-- DEBUG [2549.270 ] -- CAP: Opening capture device ...
-- DEBUG [2549.270 ] -- CAP: Capture device fd=8 opened
-- INFO [2549.270 ] -- Using V4L2 device: /dev/video2
-- DEBUG [2549.270 ] -- CAP: Querying device capabilities ...
-- INFO [2549.270 ] -- CAP: Using capture type: single-planar
-- INFO [2549.270 ] -- CAP: Using input channel: 0
-- DEBUG [2549.270 ] -- CAP: Using TV standard: DEFAULT
-- DEBUG [2549.270 ] -- CAP: Probing device format=YUYV, stride=1280, resolution=640x480 ...
-- INFO [2549.296 ] -- CAP: Using resolution: 640x480
-- INFO [2549.296 ] -- CAP: Using format: YUYV
-- DEBUG [2549.296 ] -- CAP: Querying HW FPS ...
-- INFO [2549.320 ] -- CAP: Using HW FPS: 0 -> 30 (coerced)
-- INFO [2549.320 ] -- CAP: Using IO method: MMAP
-- DEBUG [2549.320 ] -- CAP: Requesting 5 device buffers for MMAP ...
-- INFO [2549.321 ] -- CAP: Requested 5 device buffers, got 5
-- DEBUG [2549.321 ] -- CAP: Allocating device buffers ...
-- DEBUG [2549.321 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=0 ...
-- DEBUG [2549.321 ] -- CAP: Mapping device buffer=0 ...
-- DEBUG [2549.321 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=1 ...
-- DEBUG [2549.321 ] -- CAP: Mapping device buffer=1 ...
-- DEBUG [2549.321 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=2 ...
-- DEBUG [2549.321 ] -- CAP: Mapping device buffer=2 ...
-- DEBUG [2549.321 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=3 ...
-- DEBUG [2549.321 ] -- CAP: Mapping device buffer=3 ...
-- DEBUG [2549.321 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=4 ...
-- DEBUG [2549.321 ] -- CAP: Mapping device buffer=4 ...
-- DEBUG [2549.321 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=0 ...
-- DEBUG [2549.321 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=1 ...
-- DEBUG [2549.321 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=2 ...
-- DEBUG [2549.321 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=3 ...
-- DEBUG [2549.321 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=4 ...
-- INFO [2549.335 ] -- CAP: Capturing started
-- INFO [2549.335 ] -- Using JPEG quality: 80%
-- INFO [2549.335 ] -- Creating pool JPEG with 4 workers ...
-- DEBUG [2549.335 ] -- Hello! I am a worker jw-0 ^_^
-- DEBUG [2549.335 ] -- Worker jw-0 waiting for a new job ...
-- DEBUG [2549.335 ] -- Hello! I am a worker jw-2 ^_^
-- DEBUG [2549.335 ] -- Worker jw-2 waiting for a new job ...
-- DEBUG [2549.335 ] -- Hello! I am a worker jw-1 ^_^
-- DEBUG [2549.335 ] -- Worker jw-1 waiting for a new job ...
-- DEBUG [2549.335 ] -- Hello! I am a worker jw-3 ^_^
-- DEBUG [2549.335 ] -- Worker jw-3 waiting for a new job ...
-- INFO [2549.335 ] -- Capturing ...
-- DEBUG [2549.336 ] -- CAP: Calling select() on video device ...
-- DEBUG [2549.640 ] -- HTTP: Repeating exposed ...
-- DEBUG [2550.336 ] -- CAP: Device select() --> 0; has_read=0, has_error=0
-- ERROR [2550.336 ] -- CAP: Device select() timeout
-- INFO [2550.436 ] -- Destroying workers pool JPEG ...
-- DEBUG [2550.437 ] -- Bye-bye (worker jw-0)
-- DEBUG [2550.437 ] -- Bye-bye (worker jw-1)
-- DEBUG [2550.437 ] -- Bye-bye (worker jw-2)
-- DEBUG [2550.437 ] -- Bye-bye (worker jw-3)
-- DEBUG [2550.437 ] -- CAP: Calling VIDIOC_STREAMOFF ...
-- DEBUG [2550.564 ] -- CAP: Releasing HW buffers ...
-- INFO [2550.564 ] -- CAP: Capturing stopped
================================================================================
-- DEBUG [2550.565 ] -- CAP: Opening capture device ...
-- DEBUG [2550.565 ] -- CAP: Capture device fd=8 opened
-- INFO [2550.565 ] -- Using V4L2 device: /dev/video2
-- DEBUG [2550.565 ] -- CAP: Querying device capabilities ...
-- INFO [2550.565 ] -- CAP: Using capture type: single-planar
-- INFO [2550.565 ] -- CAP: Using input channel: 0
-- DEBUG [2550.565 ] -- CAP: Using TV standard: DEFAULT
-- DEBUG [2550.565 ] -- CAP: Probing device format=YUYV, stride=1280, resolution=640x480 ...
-- INFO [2550.591 ] -- CAP: Using resolution: 640x480
-- INFO [2550.591 ] -- CAP: Using format: YUYV
-- DEBUG [2550.591 ] -- CAP: Querying HW FPS ...
-- INFO [2550.615 ] -- CAP: Using HW FPS: 0 -> 30 (coerced)
-- INFO [2550.615 ] -- CAP: Using IO method: MMAP
-- DEBUG [2550.615 ] -- CAP: Requesting 5 device buffers for MMAP ...
-- INFO [2550.616 ] -- CAP: Requested 5 device buffers, got 5
-- DEBUG [2550.616 ] -- CAP: Allocating device buffers ...
-- DEBUG [2550.616 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=0 ...
-- DEBUG [2550.616 ] -- CAP: Mapping device buffer=0 ...
-- DEBUG [2550.616 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=1 ...
-- DEBUG [2550.616 ] -- CAP: Mapping device buffer=1 ...
-- DEBUG [2550.616 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=2 ...
-- DEBUG [2550.616 ] -- CAP: Mapping device buffer=2 ...
-- DEBUG [2550.616 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=3 ...
-- DEBUG [2550.616 ] -- CAP: Mapping device buffer=3 ...
-- DEBUG [2550.616 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=4 ...
-- DEBUG [2550.616 ] -- CAP: Mapping device buffer=4 ...
-- DEBUG [2550.616 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=0 ...
-- DEBUG [2550.616 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=1 ...
-- DEBUG [2550.616 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=2 ...
-- DEBUG [2550.616 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=3 ...
-- DEBUG [2550.616 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=4 ...
-- INFO [2550.630 ] -- CAP: Capturing started
-- INFO [2550.630 ] -- Using JPEG quality: 80%
-- INFO [2550.630 ] -- Creating pool JPEG with 4 workers ...
-- DEBUG [2550.630 ] -- Hello! I am a worker jw-0 ^_^
-- DEBUG [2550.630 ] -- Hello! I am a worker jw-1 ^_^
-- DEBUG [2550.630 ] -- Worker jw-1 waiting for a new job ...
-- DEBUG [2550.630 ] -- Hello! I am a worker jw-2 ^_^
-- DEBUG [2550.630 ] -- Worker jw-2 waiting for a new job ...
-- INFO [2550.630 ] -- Capturing ...
-- DEBUG [2550.630 ] -- CAP: Calling select() on video device ...
-- DEBUG [2550.631 ] -- Hello! I am a worker jw-3 ^_^
-- DEBUG [2550.631 ] -- Worker jw-3 waiting for a new job ...
-- DEBUG [2550.631 ] -- Worker jw-0 waiting for a new job ...
-- DEBUG [2550.648 ] -- HTTP: Repeating exposed ...
-- DEBUG [2551.631 ] -- CAP: Device select() --> 0; has_read=0, has_error=0
-- ERROR [2551.631 ] -- CAP: Device select() timeout
-- DEBUG [2551.656 ] -- HTTP: Repeating exposed ...
-- INFO [2551.731 ] -- Destroying workers pool JPEG ...
-- DEBUG [2551.732 ] -- Bye-bye (worker jw-0)
-- DEBUG [2551.732 ] -- Bye-bye (worker jw-1)
-- DEBUG [2551.732 ] -- Bye-bye (worker jw-2)
-- DEBUG [2551.732 ] -- Bye-bye (worker jw-3)
-- DEBUG [2551.741 ] -- CAP: Calling VIDIOC_STREAMOFF ...
-- DEBUG [2551.859 ] -- CAP: Releasing HW buffers ...
-- INFO [2551.860 ] -- CAP: Capturing stopped
================================================================================
-- DEBUG [2551.860 ] -- CAP: Opening capture device ...
-- DEBUG [2551.860 ] -- CAP: Capture device fd=8 opened
-- INFO [2551.860 ] -- Using V4L2 device: /dev/video2
-- DEBUG [2551.860 ] -- CAP: Querying device capabilities ...
-- INFO [2551.860 ] -- CAP: Using capture type: single-planar
-- INFO [2551.860 ] -- CAP: Using input channel: 0
-- DEBUG [2551.860 ] -- CAP: Using TV standard: DEFAULT
-- DEBUG [2551.860 ] -- CAP: Probing device format=YUYV, stride=1280, resolution=640x480 ...
-- INFO [2551.886 ] -- CAP: Using resolution: 640x480
-- INFO [2551.886 ] -- CAP: Using format: YUYV
-- DEBUG [2551.886 ] -- CAP: Querying HW FPS ...
-- INFO [2551.910 ] -- CAP: Using HW FPS: 0 -> 30 (coerced)
-- INFO [2551.910 ] -- CAP: Using IO method: MMAP
-- DEBUG [2551.910 ] -- CAP: Requesting 5 device buffers for MMAP ...
-- INFO [2551.911 ] -- CAP: Requested 5 device buffers, got 5
-- DEBUG [2551.911 ] -- CAP: Allocating device buffers ...
-- DEBUG [2551.911 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=0 ...
-- DEBUG [2551.911 ] -- CAP: Mapping device buffer=0 ...
-- DEBUG [2551.911 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=1 ...
-- DEBUG [2551.911 ] -- CAP: Mapping device buffer=1 ...
-- DEBUG [2551.911 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=2 ...
-- DEBUG [2551.911 ] -- CAP: Mapping device buffer=2 ...
-- DEBUG [2551.911 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=3 ...
-- DEBUG [2551.911 ] -- CAP: Mapping device buffer=3 ...
-- DEBUG [2551.911 ] -- CAP: Calling us_xioctl(VIDIOC_QUERYBUF) for device buffer=4 ...
-- DEBUG [2551.911 ] -- CAP: Mapping device buffer=4 ...
-- DEBUG [2551.911 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=0 ...
-- DEBUG [2551.911 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=1 ...
-- DEBUG [2551.911 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=2 ...
-- DEBUG [2551.911 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=3 ...
-- DEBUG [2551.911 ] -- CAP: Calling us_xioctl(VIDIOC_QBUF) for buffer=4 ...
-- INFO [2551.925 ] -- CAP: Capturing started
-- INFO [2551.925 ] -- Using JPEG quality: 80%
-- INFO [2551.925 ] -- Creating pool JPEG with 4 workers ...
-- DEBUG [2551.926 ] -- Hello! I am a worker jw-1 ^_^
-- DEBUG [2551.926 ] -- Worker jw-1 waiting for a new job ...
-- DEBUG [2551.926 ] -- Hello! I am a worker jw-0 ^_^
-- DEBUG [2551.926 ] -- Worker jw-0 waiting for a new job ...
-- DEBUG [2551.926 ] -- Hello! I am a worker jw-2 ^_^
-- DEBUG [2551.926 ] -- Worker jw-2 waiting for a new job ...
-- INFO [2551.926 ] -- Capturing ...
-- DEBUG [2551.926 ] -- CAP: Calling select() on video device ...
-- DEBUG [2551.926 ] -- Hello! I am a worker jw-3 ^_^
-- DEBUG [2551.926 ] -- Worker jw-3 waiting for a new job ...
-- INFO [2552.021 ] -- ===== Stopping by SIGINT =====
-- INFO [2552.021 ] -- HTTP: Eventloop stopped
-- DEBUG [2552.926 ] -- CAP: Device select() --> 0; has_read=0, has_error=0
-- ERROR [2552.926 ] -- CAP: Device select() timeout
-- INFO [2552.927 ] -- Destroying workers pool JPEG ...
-- DEBUG [2552.927 ] -- Bye-bye (worker jw-0)
-- DEBUG [2552.927 ] -- Bye-bye (worker jw-1)
-- DEBUG [2552.927 ] -- Bye-bye (worker jw-2)
-- DEBUG [2552.928 ] -- Bye-bye (worker jw-3)
-- DEBUG [2552.928 ] -- CAP: Calling VIDIOC_STREAMOFF ...
-- DEBUG [2553.025 ] -- CAP: Releasing HW buffers ...
-- INFO [2553.025 ] -- CAP: Capturing stopped
-- INFO [2553.026 ] -- Bye-bye
mjpg-streamer works well. The camera is usb2.0, while my laptop inplace camera works well. https://github.com/jacksonliam/mjpg-streamer/issues/182#issuecomment-2336583229 doesn't work for me.
I have an Arducam 5MP Camera and can't seem to get it streaming reliably under ustreamer.
Device details:
I can get a consistent stream from it via
vlc
with the following command:When trying stream through
ustreamer
:With
--debug
: