- 博客(13)
- 收藏
- 关注
原创 2-3-Onvif协议:gSoap生成代码的使用方法
Envelope是SOAP消息中的根节点,是SOAP消息中必需的部分;中的第一个元素节点;Body是SOAP中必需部分,如果SOAP消息中没Header,那么Body必须是SOAP中第一个元素节点。参考内容:https://www.w3school.com.cn/soap/soap_example.asp(SOAP 教程)这种形式的循环,称为"do-while(0)",看似奇怪,但在宏定义中有其特定的作用。所以,虽然看起来奇怪,但这种模式是一种常见的技巧,用于确保宏的可预测性和灵活性。
2024-06-12 17:39:55
1015
原创 6-Onvif协议:IPC客户端之获取设备能力
DeviceMgmt(设备管理)使用GetDeviceInformation接口获取设备基本信息使用GetSystemDateAndTime接口和SetSystemDateAndTime接口对设备进行校时DeviceIO(设备IO服务)Event(事件处理)Analytics(视频分析)AnalyticsDevice(分析设备)Display(显示服务)Imaging(图像配置)Media(媒体配置)PTZ(PTZ控制)Receiver(接收端配置)
2024-06-07 17:24:23
717
原创 3-Onvif协议:发现设备
在onvif协议对接中,首先要明确服务器和客户端的身份服务器:通常是我们要对接的其他厂家的网络摄像头(IPC)客户端:通常是对接的ipc的设备程序,安防业内多称(NVR),当然其他软件工具也可称为客户端,如ONVIF Device Test Tool, vlc,ODM软件我们要对接的是IPC摄像头,扮演的是客户端的身份。两种方法:可以在onvif官网下载需要的wsdl文件到本地remotediscovery.wsdl :用于发现设备devicemgmt.wsdl :用于获取设备参数。
2024-06-07 16:17:47
752
原创 1-ONVIF Device Manager测试工具使用方法
在公司使用PTZ相机实现onvif客户端的相关功能PTZ相机我只认准🐶,先看看我们公司的。
2024-06-07 15:19:08
613
原创 8-Onvif协议:IPC客户端之获取实时预览的url地址
ONVIF规范中设备管理和控制部分所定义的接口均以Web Services的形式提供,而音视频流则通过RTP/RTSP进行。简单粗暴的理解:IPC的各种参数获取/配置都是通过ONVIF协议接口实现,而音视频流多媒体传输采用的是RTP/RTSP协议实现。要读取IPC的音视频流,概况起来是,先通过ONVIF接口获取IPC主/辅码流的RTSP地址,再利用FFmpeg接口(或其他开源方案)读取音视频流数据。
2024-06-07 14:59:57
814
原创 5-Onvif协议:IPC客户端之鉴权
onvif规定,有些接口需要鉴权,有些接口不需要鉴权。例如onvif规定GetDeviceInformation接口时需要鉴权的。(下图为main函数流程分析,标红的api都需要实现鉴权)市面上有些的IPC(网络摄像头),并没有严格的按照ONVIF规范执行,造成客户端不携带鉴权信息也能成功调用某些接口。
2024-06-07 14:07:55
1095
原创 7-Onvif协议:IPC客户端之PTZ控制
在安防摄像头中,不仅仅涉及到固定摄像头的枪击,同样还包含可以360°转动的球机。因此对球机的云台方向控制是Onvif协议开发过程中必不可少的过程。
2024-06-06 17:54:19
1438
原创 2-2-使用eSOAP工具遇到的问题
最近在公司实习研究一下通过Onvif协议的实现IPC客户端的开发,参考了大佬OceanStar的项目(跪拜开源大佬YYDS)。之前的文章已经成功通过gSOAP工具生成wsdl2h和soapcpp2生成两个工具。(参考我的上一篇文章或者大佬OceanStar的https://blog.csdn.net/zhizhengguan/article/details/109287574)wsdl2h工具根据WSDL文成C/C++头文件,而soapcpp2工具则是根据该头文件生成C/C++的框架源码。
2024-05-30 23:34:36
909
原创 2-1-Onvif协议:搭建Onvif协议开发环境之gSOAP
gSOAP 编译工具提供了一个SOAP关于C/C++ 语言的实现,从而让C/C++语言开发Web Services服务端或客户端程序的工作变得轻松了很多。甚至,即使你对Web Services不甚了解都没有关系,有了gSOAP这样的工具,你也能开发基于SOAP方式实现的Web Services客户端。gSOAP到底会自动生成哪些框架代码,下图中浅绿色框中的部分就是自动生成的代码。 gSOAP工具根据WSDL文档,自动生成C/C++语言的客户端/服务端框架代码。这其中有两个工具很重要,
2024-05-30 21:36:39
921
原创 Linux下用户空间控制GPIO
在用户空间中控制GPIO: /sys/class/gpio为通用输入输出(GPIO)设备类的子目录,用于与外部设备进行数字输入和输出的通信。知识点补充:/sys/class 该目录下包含所有注册在kernel里面的设备类型,这是按照设备功能分类的设备模型,每个设备类型表达具有一种功能的设备。每个设备类型子目录下都是这种设备类型的各种具体设备的符号链接,这些链接指向/sys/devices/name下的具体设备。设备类型和设备并没有一一对应的关系,一个物理设备可能具备多种设备类型;
2024-05-27 11:59:51
727
原创 静态库与动态库
库是写好的,现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。 本质上来说,库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。静态库和动态库。linux下的静态库为.a结尾的文件,动态库以.so结尾的文件;windows下的静态库为以.lib为结尾的文件,动态库为以.dll为结尾的文件。 所谓静态、动态是指链接。静态库、动态库区别来自链接阶段如何处理库,链接成可执行程序。
2024-05-26 12:16:02
973
1
PicGo-Setup-2.3.1.exe
2024-05-31
ONVIF Device Manager-ONVIF测试工具
2024-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人