这是我的代码:
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);
}
此代码正常运行 但几秒钟后返回损坏的帧 像这样: http://www.quranmp3.ir/images/1/1111.jpg
问题是: 你解决这个问题的方法是什么。
答案 0 :(得分:0)
解决此问题的一个方法是强制RTSP协议使用TCP(而不是UDP)作为传输。您可以将?tcp
附加到您的网址中,例如rtsp://192.168.226.201:554/profile1?tcp
然后将其传递给open()
方法。