对接宇视网络摄像机SDK

您所在的位置:网站首页 宇视摄像机管理服务器配置失败 对接宇视网络摄像机SDK

对接宇视网络摄像机SDK

2024-07-11 08:18| 来源: 网络整理| 查看: 265

1 SDK交互说明

1)通过抓包分析SDK跟服务器之间的交互,采用的是ONVIF协议

2)连接采用的是短链接,一般查询结束,下一次查询采用的端口是不一样的

3)SDK没有主动关闭短链接,如果频繁查询连接,会产生大量的TIME_WAIT,耗尽系统的端口资源,可以通过设置TIME_WAIT的存活时间优化一下,但是不能根本解决问题

4)取流端口是554,非常类似于通过ONVIF进行设备信息交互,RTSP取流方式

2 NETDEV_Login解析

/**

* 用户登录  User login

* @param [IN]  pszDevIP         设备IP Device IP

* @param [IN]  wDevPort         设备服务器端口 Device server port

* @param [IN]  pszUserName      用户名 Username

* @param [IN]  pszPassword      密码 Password

* @param [OUT] pstDevInfo       设备信息结构体指针 Pointer to device information structure

* @return 返回的用户登录句柄,返回 0 表示失败,其他值表示返回的用户登录句柄值. Returned user login ID. 0 indicates failure, and other values indicate the user ID.

* @note

*/

NETDEV_API NEWINTERFACE LPVOID STDCALL NETDEV_Login(IN char *pszDevIP,

                                                   IN INT16 wDevPort,

                                                   IN char *pszUserName,

                                                   IN char *pszPassword,

                                                   OUT LPNETDEV_DEVICE_INFO_S pstDevInfo);

1)设备服务器端口一般情况下是80,也有81的情况,因此最好不要硬编码

2)登陆的接口耗时比较久,大概1秒,这个过程中会进行用户名和密码校验,然后进行设备信息查询

3)登陆离线状态的摄像机,耗时30秒才能返回,因此流媒体对接过程中,需要针对这个函数进行异步处理,避免阻塞下一个点播请求

4)调用登陆接口,提示出错65543,原因升级SDK,DLL只是替换了部分,导致加载DLL出错

3 NETDEV_SetExceptionCallBack

可以设置NETDEV_SetExceptionCallBack的回调函数,该接口在设备断线的情况下,会进行函数的回调,测试结果表明,断线之后,可以不需要调用NETDEV_Login重新登陆

void STDCALL myNETDEV_ExceptionCallBack_PF(IN LPVOID lpUserID, IN INT32 dwType, IN LPVOID lpExpHandle, IN LPVOID lpUserData, OUT LPNETDEV_EXCEPTION_OUTPUT_INFO_S pstExceptionOutputInfo) { std::cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3