jacobbo / WebEye

WebEye is a collection of .NET controls.
190 stars 132 forks source link

Video delay of 2 seconds #87

Open No337 opened 3 years ago

No337 commented 3 years ago

Hey, the WebEye paket works fine but I have a delay of the video signal of about 2 seconds. That means if e.g. I raise my hand I can see the raised hand in the live video 2 seconds after that. I have already found nearly the same post here two years ago but with no solution for me. Also in the vlc software I can setup a network-cache what brings me to near real time, what yould be fine. How can I setup something like this in the connection procedure?

var uri = new Uri(_urlTextBox.Text); Stream = Stream.FromUri(uri, TimeSpan.FromSeconds( 2), TimeSpan.FromMilliseconds( 100), RtspTransport.Undefined, RtspFlags.None); streamControl1.AttachStream(Stream); Stream.Start(); _statusTextBox.Text = "Connecting..."; `

Thanks Frank

josnav commented 3 years ago

Hi to ALL! I have the same delay 2-3 seconds. Thanks in advanced!!!!

jskeet commented 3 years ago

I believe this is the RTSP buffer size. There's an option for that (buffer_size) in FFmpeg, but the code to pass those options to FFmpeg isn't exposed via the public API of WebEye. I suspect that a change here would be sufficient, but I don't have time to create a pull request for that...

martingercke commented 2 years ago

I have the same problem. @jacobbo, could you expose the configuration or lower the RTSP buffer size?

JPasterkampRotec commented 1 year ago

Would it not be better to make a way to add any options you like for FFmpeg? Something like passing in a string array:

Stream = Stream.FromUri(uri, TimeSpan.FromSeconds( 2), TimeSpan.FromMilliseconds( 100), RtspTransport.Undefined, RtspFlags.None, new string[] { "-fflags nobuffer", "-probesize 32", "-fflags fastseek", "-max_probe_packets 500"});