通过海康sdk获取NVR IP通道接入配置

编程入门 行业动态 更新时间:2024-10-28 21:23:06

通<a href=https://www.elefans.com/category/jswz/34/1598493.html style=过海康sdk获取NVR IP通道接入配置"/>

通过海康sdk获取NVR IP通道接入配置

最近在做这一块的内容,通过海康的sdk获取其NVR上面IP通道接入配置,简单来说就是获取如下信息:

于是查询海康官网的JAVA Demo,和chm文档,就找到了如下内容

到这一步都还挺顺利的,内容基本都有,当时当我把 NET_DVR_IPPARACFG_V40 这个结构体的名字去HCNetSDK.java 文件内查询,竟然没有查询到,难道要自己创建一个,于是我发邮件给海康技术,得到的回复是暂时没有样例,只能自己按照其他结构体的定义来来自己定义这个结构体了,这个结构体嵌套了三层,最后一层还是一个联合结构体,我就是在这里出了问题,之前没了解过jna,所以在定义的时候,随便模仿的去定义了,最终使用sdk跑数据的时候,发现如下的结构的联合结构体的内容始终为 0 

其他都获取正常,我第一次的定义如下:

找了很多原因没有找到,后面突然找到一个文章说是要 重写 write和read方法 ,抱着试一试的想法,改了之后竟然可以了,最后获取到的信息如下:

 

关键结构体的定义如下:

 

public static class NET_DVR_STREAM_MODE extends Structure
{public byte   byGetStreamType; //取流方式GET_STREAM_TYPE,0-直接从设备取流,1-从流媒体取流、2-通过IPServer获得ip地址后取流,3.通过IPServer找到设备,再通过流媒体去设备的流//4-通过流媒体由URL去取流,5-通过hkDDNS取流,6-直接从设备取流(扩展),使用NET_DVR_IPCHANINFO_V40结构, 7-通过RTSP协议方式进行取流public byte []    byRes = new byte[3];        //保留字节public NET_DVR_GET_STREAM_UNION uGetStream;    // 不同取流方式结构体public static class ByValue extends NET_DVR_STREAM_MODE implements Structure.ByValue{}public static class ByReference extends NET_DVR_STREAM_MODE implements Structure.ByReference{}@Overridepublic void read() {super.read();switch(byGetStreamType) {case 0:uGetStream.setType(NET_DVR_IPCHANINFO.class);break;case 1:uGetStream.setType(NET_DVR_IPSERVER_STREAM.class);break;case 2:uGetStream.setType(NET_DVR_PU_STREAM_CFG.class);break;case 3:uGetStream.setType(NET_DVR_DDNS_STREAM_CFG.class);break;case 4:uGetStream.setType(NET_DVR_PU_STREAM_URL.class);break;case 5:uGetStream.setType(NET_DVR_HKDDNS_STREAM.class);break;case 6:uGetStream.setType(NET_DVR_IPCHANINFO_V40.class);break;}uGetStream.read();}@Overridepublic void write() {super.write();switch(byGetStreamType) {case 0:uGetStream.setType(NET_DVR_IPCHANINFO.class);break;case 1:uGetStream.setType(NET_DVR_IPSERVER_STREAM.class);break;case 2:uGetStream.setType(NET_DVR_PU_STREAM_CFG.class);break;case 3:uGetStream.setType(NET_DVR_DDNS_STREAM_CFG.class);break;case 4:uGetStream.setType(NET_DVR_PU_STREAM_URL.class);break;case 5:uGetStream.setType(NET_DVR_HKDDNS_STREAM.class);break;case 6:uGetStream.setType(NET_DVR_IPCHANINFO_V40.class);break;}uGetStream.write();}}

 

更多推荐

通过海康sdk获取NVR IP通道接入配置

本文发布于:2024-03-08 03:08:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1719675.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:过海   通道   NVR   sdk   IP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!