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()
方法。
这是我的代码:
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()
方法。