我有我需要的OpenCV(Emgu)2.4.x的应用程序来捕捉和处理(“客户”)的多播UDP视频流。
//xx.yy.zz.aaa:在客户端,我可以使用VLC(UDP捕捉流。1234,但是在我的应用程序不能抓住这个UDP流我的代码非常简单(
Capture cap = new Capture ("udp://@212.1.1.1:1234");
PS我试图与2 / O的@也RTP尝试该地址。 没运气 :-/
OpenCV中是否允许直接UDP流“捕获”? 或者我需要在客户机上运行的VLC重新流的视频作为RTP或HTTP或其它....?
谢谢。
我终于想通了这一点,并分享,希望可以帮助别人,
Capture cap = new Capture ("udp://@212.1.1.1:1234");
不要忘了@符号!
在捕获的UDP流成功创建,但访问俘获性质,它会导致异常并导致错误。
长话短说,在UDP流不出现流设备属性,所以你可能需要获取其他地方或代码进去。
在说明的其他的东西,那自从FPS(每秒帧)是不可靠的,如果不是彻底不正确,则可能需要做出调整FPS,尤其是如果你是轮询在循环流。
HTH
IplImage* frame;
CvCapture* pCapture;
pCapture = cvCaptureFromFile("udp://ip:port/path");
frame = cvQueryFrame(pCapture);
这也将做的工作的情况下,你没有videoInput库