ONVIF开发教程:从probe消息到安全验证
4星 · 超过85%的资源 需积分: 32 151 浏览量
更新于2024-09-21
2
收藏 103KB DOC 举报
"ONVIF开发步骤"
ONVIF(Open Network Video Interface Forum)是一个开放标准,定义了网络视频产品之间的通信协议,主要用于视频监控领域。开发ONVIF涉及多个步骤,下面将详细解释这些步骤。
1) 设备匹配与Probe消息
在ONVIF开发中,设备匹配是通过发送Probe消息来实现的。`soap_serve___dndl__Probe`函数是处理服务端响应Probe请求的部分。原始代码中,`soap_put_d__ProbeMatchesType`的命名空间前缀是"dn",但在修改后,前缀更改为"d",这表明在处理ONVIF消息时,需要正确设置命名空间以符合ONVIF规范。
2) 生成头文件
ONVIF涉及到多个服务,如Analytics、PTZ、Device Management、Media和Event,每个服务都有对应的WSDL(Web Services Description Language)文件。开发者使用这些WSDL文件生成头文件,例如`analytics.wsdl`、`ptz.wsdl`等。同时,为了支持安全接口,需要引入`wsse.h`,这是用于Web服务安全的库,提供数字签名和加密等功能。
3) 安全验证用户
在SOAP消息中,`SOAP_ENV__Header`结构体包含了消息的安全信息,如`wsse__Security`。这里的代码更改了`mustUnderstand`标志,从1变为0,这意味着服务器不再强制理解安全元素,而是允许其通过。这可能是为了简化测试环境或特定场景下的配置。
4) 生成C源文件
使用`soapcpp2`工具生成C语言的源代码。在这个例子中,使用了`-2`参数指定ONVIF 1.2版本。注意,如果选择`-1`,可能会导致消息通知接口不被ONVIF测试工具识别。`-L-pws`指定了链接库路径,`-I`指定了包含文件的目录。
5) 更改文件扩展名
生成的源文件通常为`.c`,但在这个案例中,它们被改为了`.cpp`,这表明项目可能基于C++进行,因此需要相应的编译器支持。
6) 创建客户端和服务端
ONVIF开发包括创建客户端和服务端。客户端主要负责发送Hello消息,以及调用消息通知接口,以建立连接和进行通信。服务端则提供这些接口供客户端调用,实现设备功能的暴露。
7) 生成头文件
`wsdl2h`工具用于从WSDL文件生成头文件,这些头文件包含了服务接口的定义,使得开发者能够更容易地在代码中调用这些服务。
在实际开发中,除了以上步骤,还需要理解ONVIF的XML Schema定义,熟悉SOAP消息的构建和解析,以及正确处理设备发现、身份验证、媒体流传输、事件订阅等核心功能。此外,还要考虑网络通信的稳定性和安全性,例如使用TLS/SSL进行数据加密。对于大型项目,可能还需要实现错误处理、日志记录和性能优化等功能。
2012-11-14 上传
2014-10-13 上传
240 浏览量
2014-05-07 上传
2013-12-24 上传
176 浏览量
2015-05-16 上传
herichcq
- 粉丝: 3
- 资源: 8
最新资源
- ***+SQL三层架构体育赛事网站毕设源码
- 深入探索AzerothCore的WoTLK版本开发
- Jupyter中实现机器学习基础算法的教程
- 单变量LSTM时序预测Matlab程序及参数调优指南
- 俄G大神修改版inet下载管理器6.36.7功能详解
- 深入探索Scratch编程世界及其应用
- Aria2下载器1.37.0版本发布,支持aarch64架构
- 打造互动性洗车业务网站-HTML5源码深度解析
- 基于zxing的二维码扫描与生成树形结构示例
- 掌握TensorFlow实现CNN图像识别技术
- 苏黎世理工自主无人机系统开源项目解析
- Linux Elasticsearch 8.3.1 正式发布
- 高效销售采购库管统计软件全新发布
- 响应式网页设计:膳食营养指南HTML源码
- 心心相印婚礼主题响应式网页源码 - 构建专业前端体验
- 期末复习指南:数据结构关键操作详解