mpromonet / v4l2rtspserver

RTSP Server for V4L2 device capture supporting HEVC/H264/JPEG/VP8/VP9
The Unlicense
1.82k stars 423 forks source link

USB webcam glitches , Pi camera does not #245

Open sithdaddy opened 3 years ago

sithdaddy commented 3 years ago

Hello. I am experimenting with v4l2rtspserver and a logitech c920 webcam and a Pi camera. When i stream with the PI camera module the stream is fine over vlc , no issues at all. When i use the Logitech webcam and stream , and watch the stream on vlc the image smudges and turns grey every few seconds.

This issue is the same over wifi and ethernet.

Any idea what might be the issue ?

my setup:

Pi zero w Pi camera logitech c920 webcam

Taudris commented 2 years ago

I'm having the same issue on a 3B+ and C920. I don't have a Pi/CSI camera to try.

mpromonet commented 2 years ago

Hi,

You may try to reduce de resolution or to use RTP over TCP.

Best Regards, Michel.

fplanque commented 3 months ago

I have the same issue and I can provide some additional details:

I wonder if the issue is specific to Logitech... :?

I'd like to understand what is going on. I am particularly interested in BlueIris in order to record the streams.

Michel:

You may try to reduce de resolution or to use RTP over TCP.

I did try to set the resolution of the C920 all the way down to 160x120. It did not many any difference (except the bottom 25% of the picture that displays is now very pixellated ;)

I also tried to reduce the framerate to 10fps. No change.

Can you please elaborate on what you mean with "use RTP over TCP" ? (I used "rtsp://" and I don't know what RTP over TCP would look like)

Thank you for this project and all the time you put into it! :)

mpromonet commented 3 months ago

Hi @fplanque

RTP over TCP negociation can be set using --rtsp-tcp argument of VLC.

Best Regards, Michel.

sithdaddy commented 3 months ago

Tried to use v4l2-ctl and change the output format of the cam? I think those logitech cams can put out a h264 stream which the rtsp server does not like.

this is what i had to do to make it work...

sleep 10

sudo rmmod v4l2loopback &

sleep 1

sudo modprobe v4l2loopback video_nr=20 &

sleep 2

sudo v4l2-ctl -d /dev/video0 --set-fmt-video=width=800,height=448,pixelformat=YUYV &

sleep 1

sudo v4l2-ctl --set-ctrl focus_auto=0 -d /dev/video0 &

sleep 1

sudo v4l2-ctl --set-ctrl focus_absolute=44 -d /dev/video0 &

sleep 1

sudo v4l2-ctl --set-ctrl sharpness=255 -d /dev/video0 &

sleep 1

sudo v4l2compress_omx /dev/video0 /dev/video20 &