returns 损坏的框架

returns Damaged frame

这是我的代码:

Capture cap = new Capture("rtsp://192.168.226.201:554/profile1");
fps = (int)cap.GetCaptureProperty(CAP_PROP.CV_CAP_PROP_FPS);
Application.Idle += process;
private void process(object sender, EventArgs e)
{
    frame = cap.QueryFrame();
    if (frame == null)
        return;
    imageBox1.Image = frame;
    System.Threading.Thread.Sleep(1000 /fps);
}

这段代码工作正常 但是几秒钟后 returns 损坏的框架 像这样: http://www.quranmp3.ir/images/1/1111.jpg

问题是: 你对这个问题的解决方案是什么。

解决此问题的一个方法是强制 RTSP 协议使用 TCP(而不是 UDP)作为传输。您可以将 ?tcp 附加到 URL 中,例如rtsp://192.168.226.201:554/profile1?tcp 然后将其传递给 open() 方法。