我的公司为其客户提供安全和监控服务,我被要求就如何使用onvif API进行研发。我访问了他们的操作页面和某些操作的相关 wsdl 定义。到目前为止,我的探索表明,onvif已经为安全设备创建了一套标准,并且一致性设备实现了onvif api和规范页面上列出的服务。我认为解决这个问题的方法是我使用 onvif 站点中的 wsdl 定义创建 Web 服务客户端存根,并使用设备的 ip 作为端点来获取其功能。我的假设正确吗?此外,如果有人能向我推荐一些初步阅读来开始这项工作,我将不胜感激。
对于ONVIF客户端(NVC - 网络视频客户端(,您可以参考onvifdm。OnvifDM是NVC的一个。
它具有许多基于ONVIF规范的功能:
- 网络设备发现(WS 发现(
- 实时视频显示
- 视频捕获配置(数字传感器或模拟输入(
- 编码器配置
- 视频分析配置
- 事件和元数据配置
- 警报规则管理
- 固件更新
- 本地存储/网络存储记录
目前,ONVIF最新版本是2.2。
但在市场上,大多数ONVIF兼容设备都支持v1.02和v2.0(v2.1?
如onvifdm(需要NVT(网络视频发射器(进行互操作。
NVT将是IP摄像机或NVR(传统或混合(,它具有各种功能和功能。
ONVIF标准由许多强制性项目和一些可选项目组成。
因此,对于互操作,您必须检查ONVIF版本和NVC/NVT功能。
如果您注册成为ONVIF会员,则可以获得ONVIF一致性工具(最新版本1.02(。
一致性工具用于NVT兼容性检查,您可以将其作为客户端引用。
如果任何NVT通过ONVIF一致性工具的测试过程,则它可以是符合标准的产品。
您可以在ONVIF的网站上找到任何符合ONVIF的产品。
您可以在 onvifdm 中找到基于 .NET 的代码的开源库。
有关更多详细信息,请查看 http://en.synesis.ru/en/surveillance/onvifdm/。
我开发了一个开放式C++解决方案ONVIF NVC(网络视频客户端(和PVR(个人视频录像机(。
它可以与监控摄像头一起使用。但是您需要在此解决方案上设置相机的 rtsp 地址。
可在 GitHub 上找到:https://github.com/derzu/ONVIF-PVR