Emgu CV发生1秒视频流延迟

时间:2017-01-22 12:31:30

标签: c# video-streaming emgucv

我有一个视线解码器设备通过以太网连接到我的电脑。

我使用Emgucv捕获视频流并在图像框中查看。

以下是代码的一部分:

 _capture = new Capture("udp://@169.254.1.144:15004");
 _capture.ImageGrabbed += ProcessFrame;

 Image<Bgr, Byte> frame,frame1;

 private void ProcessFrame(object sender, EventArgs arg)
 {
     frame = _capture.RetrieveBgrFrame();
     pictureBox1.Image = frame.ToBitmap();
 }

Imagebox中观看的视频,但延迟时间为1秒;我计算出框架达到ProcessFramefunction及其12fps及其正确值;

ImageGrabbed事件会导致此延迟吗?

为什么会出现延迟?

注意:我使用usb相机代替视线并且工作正常;也可以通过以太网播放相机的视线加工也很好。

1 个答案:

答案 0 :(得分:0)

这是由&#39; Capture&#39;使用的默认缓冲区的长度引起的。宾语。原始OpenCV有一个&#39; CV_CAP_PROP_BUFFERSIZE&#39;标志,您可以设置为使用.set()

更改此值