NVR的SKD二次开发接口文档_第1页
NVR的SKD二次开发接口文档_第2页
NVR的SKD二次开发接口文档_第3页
NVR的SKD二次开发接口文档_第4页
NVR的SKD二次开发接口文档_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、NVR 的SDK二次开发接口文档XXXID采购的海康 NVR及IPC的产品需支持 SDK版本在 上能够支持输出 RTSP协议流以下SDK的接口是必须的1 账号验证用户登录NVR :实现用户的认证功能,登录成功后,返回的用户 作为其他功能操作的唯一标识。1.1 SDK初始化1) 初始化SDK接口: NET_DVR_Init函数:BOOL NET_DVR_I nit()参数:无返回值:TRUE表示成功,FALSE表示失败。说明:调用设备网络SDK其他函数的前提。2) 释放SDK资源接口: NET_DVR_Cleanup参数:无返回值:TRUE表示成功,FALSE表示失败。说明: 在结束之前最后调用

2、。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。1.2 NVR用户的认证/登录1) 激活设备接口: NET_DVR_ActivateDevice函数:BOOL NET_DVR_ActivateDevice(char* sDVRIP , WORD wDVRPort, LPNET_DVR_ACTIVATECFGIpActivateCfg)参数:insDVRIP设备IP地址in wDVRPort 设备端口in lpActivateCfg激活参数,包括激活使用的初始密码返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_Get

3、LastError获取错误码,通过错误码判断出错 原因。说明:出厂设备需要先激活,然后再使用激活使用的初始密码登 录设备。2) IPServer或者DDNS 域名解析,获取动态IP地址和端口号 接口: NET_DVR_GetDVRIPByResolveSvr_EX函数:BOOL NET_DVR_GetDVRIPByResolveSvr_EX (char*sServerIP, WORD wServerPort, BYTE* sDVRName, WORDwDVRNameLe n,BY TE*sDVRSerialNumber,WORDwDVRSerialLe n, char* sGetIP , DW

4、ORD* dwPort)参数:in sServerlP解析服务器的IP地址in wServerPort解析服务器的端口号,IP Server解析服务器端口号为7071 , HiDDNS 服务器的端口号为80in sDVRName设备名称in wDVRNameLe n设备名称的长度in sDVRSerialNumber设备的序列号in wDVRSerialLe n 设备序列号的长度outsGetlP获取到的设备IP地址指针outdwPort获取到的设备端口号指针返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原

5、因。说 明:该接口中的设备名称和设备序列号不能同时为空。通过设备域名或者序列号解析出设备当前IP地址和端口,然后调用NET_DVR_Login_V40登录设备。支持的解析服务器有IPServer 禾口 hiDDNS。3)用户注册设备NET_DVR_Login_V40(LPNET_DVR_USER_LOGIN_INFOpLogi nln fo丄PNET_DVR_DEVICEINFO_V40 IpDevicel nfo)参数:in pLogi nInfo登录参数,包括设备地址、登录用户、密码等outlpDevicelnfo设备信息(同步登录即 pLoginlnfo中bUseAsynLogin为 0

6、 时有效返回值:异步登录的状态、用户ID和设备信息通过NET_DVR_USER_LOGIN_INFO 结构体中设置的回调函数 (fLogi nResultCallBack) 返回。对于同步登录,接口返回-1表示 登录失败,其他值表示返回的用户ID值。用户ID具有唯一性, 后续对设备的操作都需要通过此ID实现。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原 因。说 明:pLoginlnfo 中bUseAsynLogin为0时登录为同步模式,接口返回成功即表示登录成功;pLogi nlnfo中bUseAsy nLogin为1时登录为异步模式,登录是否成功

7、在输入参数设置的回调函数中返回。设备同时最多允许128个用户注册。SDK支持2048个注册,返回 UserID的取值范围为 02047 。4) 用户注销接口: NET_DVR_Logout参数:inlUserlD用户 ID 号,NET_DVR_Login_V40 的返回值返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原 因。说 明:建议使用此接口实现注销功能。2视频监控浏览1) 启动预览接口: NET_DVR_RealPlay_V40函 数: LONG NET_DVR_RealPlay_V40(LONG l

8、UserID,LPNET_DVR_PREVIEWINFO lpPreviewI nfo,REALDATACALLBACK fRealDataCallBack_V30, void *pUser)参数:in lUserID NET_DVR_Log in_V40 的返回值in lpPreviewI nfo预览参数,包括通道号、码流类型、取流协议in fRealDataCallBack_V30码流数据回调函数in pUser 用户数据返回值:-1表示失败,其他值作为NET_DVR_StopRealPlay 等函数的句柄参数。接口返回失败请调用说明:该接口预览参数结构中可以设置当前预览操作是否阻塞(通过

9、bBlocked 参数设置),若设为不阻塞,表示发起与设备的连 接就认为连接成功,如果发生码流接收失败、播放失败等情况 以预览异常的方式通知上层。在循环播放的时候可以减短停顿的时 间,与NET_DVR_RealPlay处理一致。若设为阻塞,表示直到播放 操作完成才返回成功与否。该接口中的回调函数可以置为空,这样该函数将不回调码流数据给用户,不过用户仍可以通过接口 NET_DVR_SetRealDataCallBack 或 NET_DVR_SetStandardDataCallBack注册捕获码流数据的回调函数以捕获码流数据。fRealDataCallBack_V30 回调函数中不能执行可能会占

10、用时间 较长的接口或操作,不建议调用该 SDK(HCNetSDK.dll )本身的接 口。Linux 64位系统不支持软解码功能,因此需要将窗口句柄传NULL,设置回调函数,只取流不解码显示。客户端异常离线时,设备端对取流连接的保持时间为10秒。2) 停止预览接口: NET_DVR_StopRealPlay函 数:LONG NET_DVR_StopRealPlay (LONG lRealHandle)参 数:inIRealHandle 预览句柄,NET_DVR_RealPlay_V40 的 返回值返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用说明:3) 获取预览时用来解码和显

11、示的播放库句柄接口: NET_DVR_GetRealPlayerlndex函数:int NET_DVR_GetRealPlayerl ndex(LONG lRealHa ndle)参数:in IRealHa ndle 预览句柄,NET_DVR_RealPlay_V40 的返回值返回值:-1表示失败,其他值表示播放句柄。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因 丿 / 说明:用户可以通过返回的句柄自行实现播放库 SDK提供的其他功能,详见本公司提供的软解码库函数说明播放器SDK编程指南3 IPC录像3.1 IPC信息操作1) 获取IPC信息列表

12、接口: NET_DVR_GetSadplnfoList函 数: BOOL NET_DVR_GetSadplnfoList(LONGlUserID,LPNET_DVR_SADPINFO_LIST lpSadp In foList)参数:in lUserIDNET_DVR_Logi n_V40 的返回值outlpSadpInfoList IPC 信息列表结构返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用说明:2) 修改IPC信息接口: NET_DVR_UpdateSadplnfo函数: BOOL NET_DVR_UpdateSadpInfo(LONGlUserlD,LPNET_D

13、VR_SADP_VERIF Y IpSadpVerify,LPNET_DVR_SADPINFO lpSadpI nfo)参 数:inlUserlD NET_DVR_Login_V40 的返回值in lpSadpVerify 校验信息inlpSadpInfo修改的IPC信息列表结构返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。说明:3.2声音控制功能1) 设置声音播放模式接口: NET_DVR_SetAudioMode函 数:BOOL NET_DVR_SetAudioMode(DWORD dwMode)

14、参 数:indwMode声音播放模式:1-独占声卡,单路音频模式;2-共享声卡,多路音频模式返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。说 明:不调用该接口设置声音播放模式,默认为独占播放。2) 独占声卡模式下开启声音接口: NET_DVR_OpenSound函 数:BOOL NET_DVR_OpenSound(LONG IRealHandle)参数:inlRealHandle NET_DVR_RealPlay_V40的返回值返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用 NET_

15、DVR_GetLastError获取错误码,通过错误码判断出错原因。说 明:如果当前是共享模式播放,调用该接口将返回失败。以独占 方式只能打开一路通道播放,即依次打开多个通道时仅打开最后一 路。3) 独占声卡模式下关闭声音接口: NET_DVR_CloseSound函数:BOOL NET_DVR_CloseSound()参数:无返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用 NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。说明:4) 共享声卡模式下开启声音接口: NET_DVR_OpenSoundShare函 数:BOOL NET_DVR_Open

16、SoundShare(LONG lRealHandle) 参数:inlRealHandle NET_DVR_RealPlay_V40的返回值返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用 NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。说明:5) 共享声卡模式下关闭声音接口: NET_DVR_CloseSoundShare函 数:BOOL NET_DVR_CloseSoundShare (LONG IRealHandle) 参数:inlRealHandle NET_DVR_RealPlay_V40的返回值返回值:TRUE表示成功,FALSE表示失败

17、。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。说明:6) 调节播放音量接口: NET_DVR_Volume函数:BOOL NET_DVR_Volume(LONG lRealHandle,WORD wVolume)参数:inIRealHandleNET_DVR_RealPlay_V40 的返回值inwVolume音量,取值范围0,0xffff返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。说明:3.3实时预览数据捕获1) 注册回调函数,捕获实时码流数据接口

18、: NET_DVR_SetRealDataCallBackIRealHa ndle, fRealDataCallBackcbRealDataCallBackQWORDdwUser)参数:in lRealHa ndle 预览句柄,NET_DVR_RealPlay_V40 的返回值in cbRealDataCallBack码流数据回调函数in dwUser用户数据返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。说明:此函数包括开始和停止用户处理 SDK捕获的数据,当回调 函数cbRealDataCallBa

19、ck 设为非NULL值时,表示回调和处理数 据;当设为NULL时表示停止回调和处理数据。回调的第一个包是 40个字节的文件头,供后续解码使用,之后回调的是压缩的码流。回调数据最大为256K字节。cbRealDataCallBack 回调函数中不能执行可能会占用时间较长的接口或操作,不建议调用该 SDK(HCNetSDK.dll )本身的接口。2) 注册回调函数,捕获实时码流数据(标准码流)接口: NET_DVR_SetStandardDataCallBack函 数: BOOL NET_DVR_SetStandardDataCallBack(LONG lRealHa ndle, fStdData

20、CallBack cbStdDataCallBack,DWORD dwUser)参数:in lRealHa ndle 预览句柄,NET_DVR_RealPlay_V40 的返回值in cbStdDataCallBack 标准码流回调函数in dwUser用户数据返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用 NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。说明:此函数包括开始和停止用户处理 SDK捕获的数据,当回调 函数cbStdDataCallBack 设为非NULL值时,表示回调和处理数据; 当设为NULL时表示停止回调和处理数据。回调的第一个

21、包是40个 字节的文件头,供后续解码使用,之后回调的是标准码流(含12字节的RTP头)。cbStdDataCallBack回调函数中不能执行可能会占用时间较长的接口或操作,不建议调用该 SDK(HCNetSDK.dll )本身的接口。此函数仅支持对于支持 RTSP协议取流的设备的标准码流回调。3) 捕获数据并保存到指定的文件中接口: NET_DVR_SaveRealData函 数:BOOL NET_DVR_SaveRealData(LONG lRealHandle,char *sFileName)参数:in IRealHa ndle NET_DVR_RealPlay_V40的返回值in sFi

22、leName文件路径指针返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。说 明:V5.0.3.2或以后版本,通过该接口保存录像,文件最大限 制为1024MB,大于1024M 时,SDK自动新建文件进行保存,文 件开始将40字节头自动写入,文件名命名规则为“在接口传入的文 件名基础上增加数字标识(例如:*_1.mp4、*_2.mp4) ”。4) 停止数据捕获接口: NET_DVR_StopSaveRealData函 数: BOOL NET_DVR_StopSaveRealData(LONG IRealHa

23、ndle)参数:inlRealHandle NET_DVR_RealPlay_V40的返回值返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。 说明:3.4预览抓图1) 设置抓图模式接口: NET_DVR_SetCapturePictureMode函数:BOOL NET_DVR_SetCapturePictureMode(DWORD dwCaptureMode)参 数:indwCaptureMode抓图模式:enum tagPDC_PARAM_KE YBMP_MODE = 0, / BMP 模式JPEG_

24、MODE = 1 / JPEG 模式CAPTURE_MODE返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。说 明:调用该接口设置抓图模式后,NET_DVR_CapturePicture 可 抓取相应的图片。2)预览时,单帧数据捕获并保存成图片接口: NET_DVR_CapturePicture函 数:BOOL NET_DVR_CapturePicture(LONG IRealHandle,char *sPicFileName)参数:in IRealHa ndle NET_DVR_RealPlay_V4

25、0 的返回值in sPicFileName保存图象的文件路径。路径长度和操作系统有关,sdk不做限制,windows 默认路径长度小于等于256字节(包 括文件名在内)。返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用 NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。说 明: 在调用该接口之前可以调用NET_DVR_SetCapturePictureMode设置抓图模式,默认为 BMP模式。如果抓图模式为BMP模式,抓取的是BMP图片,保存路径后 缀应为.bmp ;如果抓图模式为JPEG模式,抓取的是JPEG图片, 保存路径后缀应为.jpg。若设备的

26、当前分辨率为2CIF,播放库做了相关处理,抓取的图像 为 4CIF。调用NET_DVR_CapturePicture 进行抓图,实际是播放库解码 抓图,要求在调用NET_DVR_RealPlay_V40等接口时传入非空的播 放句柄(播放库解码显示),否则时接口会返回失败(调用次序错误)3)单帧数据捕获并保存成JPEG图片接口: NET_DVR_CaptureJPEGPicture函 数:BOOL NET_DVR_CaptureJPEGPicture(LONG lUserlD, LONG lCha nn el, LPNET_DVR_JPEGPARA lpJpegPara, char *sPicF

27、ileName)参 数:inlUserlDNET_DVR_Login_V40 的返回值in ICha nnel 通道号in lpJpegPara JPEG 图像参数insPicFileName 保存JPEG图的文件路径返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。说 明:该接口用于设备的单帧数据捕获:SDK发送命令给设备,设备抓图之后返回客户端,然后 SDK将接收到的JPEG图片数据保 存成文件。抓图功能和抓图分辨率需要设备支持,IPC设备一般只支 持当前视频分辨率的抓取。4)单帧数据捕获并保存成JP

28、EG存放在指定的内存空间中接口: NET_DVR_CaptureJPEGPicture_NEW函 数: BOOL NET_DVR_CaptureJPEGPicture_NEW(LONG lUserlD, LONG ICha nn el, LPNET_DVR_JPEGPARA IpJpegPara, char *sJpegPicBuffer, DWORD dwPicSize,LPDWORD IpSizeReturned)参 数:inlUserlDNET_DVR_Login_V40 的返回值in ICha nnel通道号in lpJpegParaJPEG图像参数in sJpegPicBuffer保

29、存JPEG数据的缓冲区in dwPicSize输入缓冲区大小outlpSizeReturned返回图片数据的大小返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用NET_DVR_GetLastError获取错误码,通、过错误码判断出错原因。说 明:该接口用于设备的单帧数据捕获:SDK发送命令给设备,设备抓图之后返回客户端,然后 SDK将接收到的JPEG图片数据保存在sJpegPicBuffer缓冲区里。抓图功能和抓图分辨率需要设备支 持,IPC设备一般只支持当前视频分辨率的抓取。4云台控制操作对IPC的操作,包括左、右、上、下移动等。1)云台控制操作(需先启动图像预览)接口: N

30、ET DVR PTZControl函 数:BOOL NET_DVR_PTZControl(LONG IRealHandle,DWORD dwPTZComma nd,DWORD dwStop)参数:in lRealHa ndleNET_DVR_RealPlay_V40 的返回值in dwPTZComma nd云台控制命令indwStop云台停止动作或开始动作:0-开始,1-停止返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用 NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。说 明:对云台实施的每一个动作都需要调用该接口两次,分别是开始和停止控制,由接口

31、中的最后一个参数(dwStop )决定。在调用 此接口之前需要先开启预览。与设备之间的云台各项操作的命令都对 应于设备与云台之间的控制码,设备会根据目前设置的解码器种类和 解码器地址向云台发送控制码。如果目前设备上设置的解码器与云台 设备的不匹配,需要重新配置设备的解码器。如果云台设备所需的解码器设备不支持,则无法用该接口控制。云台默认以最大速度动作。2)云台控制操作(不用启动图像预览)接口: NET_DVR_PTZControl_Other函 数: BOOL NET_DVR_PTZControl_Other(LONG lUserID,LONG lCha nnel, DWORD dwPTZCo

32、mma nd,DWORD dwStop)参数:in IUserlDNET_DVR_Login_V40 的返回值in ICha nnel通道号in dwPTZComma nd云台控制命令indwStop云台停止动作或开始动作:0-开始;1-停止返回值:TRUE表示成功,FALSE表示失败。接口返回失败请调用 NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。说 明:对云台实施的每一个动作都需要调用该接口两次,分别是开始和停止控制,由接口中的最后一个参数(dwStop )决定。在调用 此接口之前需要先注册设备。与设备之间的云台各项操作的命令都对 应于设备与云台之间的控制码,设备会根据目前设置的解码器种类和 解码器地址向云台发送控制码。如果目前设备上设置的解码器与云台 设备的不匹配,需要重新配置设备的解码器。如果云台设备所需的解码器设备不支持,则无法用该接口控制。云台默认以最大速度动作。3)带速度的云台控制操作(需先启动图像预览)接口: NET_DVR_PTZControlWithSpeed函 数: BOOL NET_DVR_PTZControlWi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论