最近我正在开发OpenCV来完成一个设计,我现在有一个IP摄像头,只需在我的浏览器中键入摄像头的IP地址和端口,如192.168.1.1:8080,我就可以观看视频。 我已安装VS2010并正确完成设置。我现在可以处理计算机中的图片并在计算机上捕捉相机的视频。但当我试图通过
从IP摄像头捕捉视频时 VideoCapture cap;
cap.open("http://192.168.137.235:8082/index.html")
有一个错误:
打开文件时出错(../../ modules / highgui / src / cap_ffmpeg_impl.hpp:545)
那我怎么解决这个问题呢谁能告诉我具体如何解决这个问题?
答案 0 :(得分:0)
“index.html”页面可能只是您的摄像机的主页面,人类用来导航相机和观看直播的页面。 ip摄像头与其他摄像头完全不同。如果您的ip camera是“onvif”,它应该有一个rtsp套接字。例如,我可以使用以下路径观看我的ip摄像头:
的rtsp://地址:554 / onvif1
如果你的相机实现了mjpeg流你应该使用正确的路径,例如
http://192.168.137.235:8082/live.html
要知道这是连接相机的最佳方式,有必要知道你的相机是什么。
答案 1 :(得分:0)
我曾尝试直接通过RTSP将视频从我的IP摄像头直接捕获到基于OpenCV的应用程序,如前所述。它工作正常,但ffmpeg解码器使用来自某些相机的RTSP流非常不稳定。 我找到了下一个解决方案。 有些人喜欢将自己的电脑屏幕直播到youtube。它的标准工具是XSplit Broadcaster。 这个工具有副作用。它可以通过RTSP兼容的IP摄像头创建虚拟USB网络摄像头。 OpenCV可以完美地从usb-webcams中捕获视频。 XSplit Broadcaster的基本许可是完全免费的。 不幸的是,这种解决方案有局限不依赖于您的IP摄像机的真实分辨率,虚拟网络摄像头的分辨率将为640 * 480