【问题标题】:1 second video stream latency occurred with Emgu CVEmgu CV 出现 1 秒的视频流延迟
【发布时间】:2019-07-20 04:19:36
【问题描述】:

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

我使用 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 摄像头代替视线并且工作正常;可以通过以太网播放相机的视线加号也可以正常工作。

【问题讨论】:

    标签: c# video-streaming emgucv


    【解决方案1】:

    这是由“Capture”对象使用的默认缓冲区的长度引起的。原始 OpenCV 有一个 'CV_CAP_PROP_BUFFERSIZE' 标志,您可以使用 .set() 设置来更改此值

    【讨论】:

    • 谢谢,CV_CAP_PROP_BUFFERSIZE 目前仅支持 DC1394 v 2.x 后端,我该如何替换它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    • 2019-10-23
    • 2015-09-21
    • 2018-08-28
    • 1970-01-01
    • 2012-10-17
    相关资源
    最近更新 更多