我遇到了一个不寻常的问题..我使用的CvCapture *URL=cvCaptureFromFile("http://192.168.X.X:8080")
应该是网络视频的链接,以捕捉视频。
现在的问题是:即使没有视频,也没有任何内容
cvCaptureFromFile永远不会返回NULL。我收到此消息:[tcp @ 0x609f20] TCP connection to 192.168.X.X:8080 failed: No route to host
。这使我的程序在cvQueryFrame(URL)
为什么在地址上没有任何内容时它不会返回NULL,更不用说拥有视频了(绝对没有,甚至连PC都忘记了应该传输视频的IPCam)。如果我能够获取API返回的错误,那么我可以处理其他部分。
请解释为什么会发生这种情况,如何获取API报告的错误。
答案 0 :(得分:3)
为了处理错误,请写下这样的内容:
CvCapture* URL= cvCaptureFromFile("rtsp://192.168.X.X:8080"); //uses real time streaming protocol instead of http
if(!URL)
{
exit(1);
}
答案 1 :(得分:0)
在cv :: VideoCapture(cv :: CaptureFromFile的C ++接口)中,有一个函数 bool isOpened();
已分配结构,但您无法从中获取帧。