我正在创建一个程序来与这个型号的IP摄像机对话:
这有一个简单的网络界面,我已经成功地与它交谈以控制它,并从中获取视频和快照。
但是,我找不到任何关于如何检测此摄像机在网络上的良好文档,以及它所具有的特定IP地址。
到目前为止,我发现它的唯一工具是捆绑的Windows软件。
我假设(希望!)有一种更好的方法,就是迭代范围内的所有IP地址,并查看是否有类似于相机界面的东西。
有谁知道怎么做?
这种事情是否有已知的API?
请注意,由于它是 IP 摄像头,因此它不会直接连接到我的计算机,因此我无法在本地安装任何内容。
以下是一些更多细节:
答案 0 :(得分:6)
根据您提供的链接,此相机可以使用UPnP。
UPnP是一种协议,它有多种设备发现/搜索方法:
您的代码必须将UDP数据包作为搜索请求进行多播。您的UPnP设备将使用作为UDP单播数据包的UPnP搜索响应来应答(取决于配置)。
UPnP搜索响应包含一个HTTP URL,允许检索设备的XML描述。 HTTP URL中的主机通常是设备IP /主机名。
查看UPnP spec。
您没有说明您使用的是哪种操作系统/语言 - 所以只需要一小部分API和库:
答案 1 :(得分:0)
您想要的是阅读此网络摄像机应传递的DHCP选项。通常,任何消费者设备将在DHCP分组的选项43中输出其供应商标识符字符串。与DHCP服务器连接,您可以让DHCP服务器在摄像机连接到网络时向您发送通知。
此过程因每个dhcp供应商而异。你知道DHCP将在网络中运行什么吗?
否则我建议安装一个简单的DHCPd。应该可以轻松配置它以对正确的选项43值做出反应并回复您的应用程序。
答案 2 :(得分:0)
听起来它使用的是DHCP(否则它将无法在您的网络上播放)。
我一直使用这个工具:
当摄像机尝试连接到网络时,“Discovery API”将侦听DHCP端口68。我只需要使用Wireshark跟踪,或使用上面提到的ip-scan工具。