资源下载地址:http://download.youkuaiyun.com/detail/ghz_sd/9846887
我不记得哪位大神的文章指导了,把好多东西都弄的妥妥的,于是我就做了少量的修改,把它编译成库,可以通过mfc比较方便的调用。
具体的细节我不多讲了,网上多的是,我就稍微的说一下我程序的结构:
GSOnvifOperator 是封装的dll库,GSOnvifOperatorDemo是调用库的例子,GSOnvif是未封装库的调用例子。
GSOnvifOperatorDemo调用的接口文件GSOnvifOperator.h做下简要说明:
获取当前主机ip的接口为:GetAddrList
搜索得到onvif设备的接口为:GetOnvifDevUrlList
添加一个onvif设备的接口为:AppendOnvifDev,只有添加后才能进行控制
在控制预置位的时候需要先获取预置位接口:GetPresetList
详情可以在代码中看GSOnvifOperator.h 的接口定义。
执行目录:_build\bin
其中:OnvifLib.lib 和OnvifLibd.lib 分别对应onvif实现的release和debug版的静态库
GSOnvif.exe 直接调用onviflib.lib
GSOnvifOperator.dll和GSOnvifOperatord.dll对onviflib.lib做了一层封装,由GSOnvifOperatorDemo.exe调用
程序执行界面如下:
如果本机有多个ip地址,第一步先获取本机地址,选择与onvif设备一个局域网的ip,然后点击搜索onvif设备。这部分不影响控制。
搜索有10S的时间。
如果不搜索ipc设备,在下面的编辑框直接填写onvif的地址,然后点击添加,再控制区域选择哪个onvif设备就可以控制哪个onvif设备了。
预置位列表需要先获取再进行调用和设置
其中 PTZ的控制速度是1-100