NVRSKD二次开发接口文档文档格式.docx

上传人:b****5 文档编号:18058598 上传时间:2022-12-13 格式:DOCX 页数:13 大小:19.06KB
下载 相关 举报
NVRSKD二次开发接口文档文档格式.docx_第1页
第1页 / 共13页
NVRSKD二次开发接口文档文档格式.docx_第2页
第2页 / 共13页
NVRSKD二次开发接口文档文档格式.docx_第3页
第3页 / 共13页
NVRSKD二次开发接口文档文档格式.docx_第4页
第4页 / 共13页
NVRSKD二次开发接口文档文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

NVRSKD二次开发接口文档文档格式.docx

《NVRSKD二次开发接口文档文档格式.docx》由会员分享,可在线阅读,更多相关《NVRSKD二次开发接口文档文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

NVRSKD二次开发接口文档文档格式.docx

说明:

在结束之前最后调用。

接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。

1.2RNVR用户的认证//登录

1)激活设备

NET_DVR_ActivateDevice函数:

BOOLNET_DVR_ActivateDevice(char*sDVRIP,WORDwDVRPort,LPNET_DVR_ACTIVATECFGlpActivateCfg)参数:

[in]sDVRIP

设备IP地址[in]wDVRPort设备端口[in]lpActivateCfg激活参数,包括激活使用的初始密码返回值:

接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。

出厂设备需要先激活,然后再使用激活使用的初始密码登录设备。

2)IPServer或者DDNS域名解析,获取动态IP地址和端口号

NET_DVR_GetDVRIPByResolveSvr_EX函数:

BOOLNET_DVR_GetDVRIPByResolveSvr_EX(char*sServerIP,WORDwServerPort,BYTE*sDVRName,WORDwDVRNameLen,BYTE*sDVRSerialNumber,WORDwDVRSerialLen,

char*sGetIP,DWORD*

dwPort)参数:

[in]sServerIP

解析服务器的IP地址[in]wServerPort

解析服务器的端口号,IPServer解析服务器端口号为7071,HiDDNS服务器的端口号为80[in]sDVRName

设备名称[in]wDVRNameLen

设备名称的长度[in]sDVRSerialNumber设备的序列号[in]wDVRSerialLen设备序列号的长度[out]sGetIP

获取到的设备IP地址指针[out]dwPort

获取到的设备端口号指针返回值:

说明:

该接口中的设备名称和设备序列号不能同时为空。

通过设备域名或者序列号解析出设备当前IP地址和端口,然后调用NET_DVR_Login_V40登录设备。

支持的解析服务器有IPServer和hiDDNS。

3)用户注册设备

NET_DVR_Login_V40函数:

LONGNET_DVR_Login_V40(LPNET_DVR_USER_LOGIN_INFOpLoginInfo,LPNET_DVR_DEVICEINFO_V40lpDeviceInfo)

参数:

[in]pLoginInfo登录参数,包括设备地址、登录用户、密码等[out]lpDeviceInfo设备信息(同步登录即pLoginInfo中bUseAsynLogin为0时有效返回值:

异步登录的状态、用户ID和设备信息通过NET_DVR_USER_LOGIN_INFO结构体中设置的回调函数(fLoginResultCallBack)返回。

对于同步登录,接口返回-1表示登录失败,其他值表示返回的用户ID值。

用户ID具有唯一性,后续对设备的操作都需要通过此ID实现。

接口返回失败请调用NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。

pLoginInfo中bUseAsynLogin为0时登录为同步模式,接口返回成功即表示登录成功;

pLoginInfo中bUseAsynLogin为1时登录为异步模式,登录是否成功在输入参数设置的回调函数中返回。

设备同时最多允许128个用户注册。

SDK支持2048个注册,返回UserID的取值范围为0~2047。

4)用户注销

NET_DVR_Logout函数:

BOOLNET_DVR_Logout(LONGlUserID)参数:

[in]lUserID

用户ID号,NET_DVR_Login_V40的返回值返回值:

建议使用此接口实现注销功能。

22视频监控浏览

1)启动预览

NET_DVR_RealPlay_V40函

数:

LONGNET_DVR_RealPlay_V40(LONGlUserID,LPNET_DVR_PREVIEWINFOlpPreviewInfo,REALDATACALLBACKfRealDataCallBack_V30,void*pUser)参数:

[in]lUserID

NET_DVR_Login_V40的返回值[in]lpPreviewInfo

预览参数,包括通道号、码流类型、取流协议[in]fRealDataCallBack_V30码流数据回调函数[in]pUser用户数据返回值:

-1表示失败,其他值作为NET_DVR_StopRealPlay等函数的句柄参数。

该接口预览参数结构中可以设置当前预览操作是否阻塞(通过bBlocked参数设置),若设为不阻塞,表示发起与设备的连接就认为连接成功,如果发生码流接收失败、播放失败等情况以预览异常的方式通知上层。

在循环播放的时候可以减短停顿的时间,与NET_DVR_RealPlay处理一致。

若设为阻塞,表示直到播放操作完成才返回成功与否。

该接口中的回调函数可以置为空,这样该函数将不回调码流数据给用户,不过用户仍可以通过接口NET_DVR_SetRealDataCallBack或NET_DVR_SetStandardDataCallBack注册捕获码流数据的回调函数以捕获码流数据。

fRealDataCallBack_V30回调函数中不能执行可能会占用时间较长的接口或操作,不建议调用该SDK(HCNetSDK.dll)本身的接口。

位系统不支持软解码功能,因此需要将窗口句柄传NULL,设置回调函数,只取流不解码显示。

客户端异常离线时,设备端对取流连接的保持时间为10秒。

2)停止预览

NET_DVR_StopRealPlay函数:

LONGNET_DVR_StopRealPlay(LONGlRealHandle)参数:

[in]lRealHandle预览句柄,NET_DVR_RealPlay_V40的返回值返回值:

3)获取预览时用来解码和显示的播放库句柄

NET_DVR_GetRealPlayerIndex函数:

intNET_DVR_GetRealPlayerIndex(LONGlRealHandle)参数:

[in]lRealHandle预览句柄,NET_DVR_RealPlay_V40的返回值

返回值:

-1表示失败,其他值表示播放句柄。

用户可以通过返回的句柄自行实现播放库SDK提供的其他功能,详见本公司提供的软解码库函数说明《播放器SDK编程指南》。

33CIPC录像

3.1IPC信息操作1)获取CIPC信息列表

NET_DVR_GetSadpInfoList函数:

BOOLNET_DVR_GetSadpInfoList(LONGlUserID,LPNET_DVR_SADPINFO_LISTlpSadpInfoList)参数:

[in]lUserIDNET_DVR_Login_V40的返回值[out]lpSadpInfoListIPC信息列表结构返回值:

2)修改CIPC信息

NET_DVR_UpdateSadpInfo函数:

BOOLNET_DVR_UpdateSadpInfo(LONGlUserID,LPNET_DVR_SADP_VERIFYlpSadpVerify,LPNET_DVR_SADPINFOlpSadpInfo)

[in]lUserIDNET_DVR_Login_V40的返回值[in]lpSadpVerify校验信息[in]lpSadpInfo

修改的IPC信息列表结构返回值:

3.2声音控制功能

1)设置声音播放模式

NET_DVR_SetAudioMode函数:

BOOLNET_DVR_SetAudioMode(DWORDdwMode)参数:

[in]dwMode声音播放模式:

1-独占声卡,单路音频模式;

2-共享声卡,多路音频模式返回值:

不调用该接口设置声音播放模式,默认为独占播放。

2)独占声卡模式下开启声音

NET_DVR_OpenSound函数:

BOOLNET_DVR_OpenSound(LONGlRealHandle)参数:

[in]lRealHandleNET_DVR_RealPlay_V40的返回值返回值:

如果当前是共享模式播放,调用该接口将返回失败。

以独占方式只能打开一路通道播放,即依次打开多个通道时仅打开最后一路。

3)独占声卡模式下关闭声音

NET_DVR_CloseSound函数:

BOOLNET_DVR_CloseSound()参数:

4)共享声卡模式下开启声音

NET_DVR_OpenSoundShare函数:

BOOLNET_DVR_OpenSoundShare(LONGlRealHandle)参数:

5)共享声卡模式下关闭声音

NET_DVR_CloseSoundShare函数:

BOOLNET_DVR_CloseSoundShare(LONGlRealHandle)参数:

接口返回失败请调用

NET_DVR_GetLastError获取错误码,通过错误码判断出错原因。

6)调节播放音量

NET_DVR_Volume函数:

BOOLNET_DVR_Volume(LONGlRealHandle,WORDwVolume)参数:

[in]lRealHandle

NET_DVR_RealPlay_V40的返回值[in]wVolume

音量,取值范围[0,0xffff]返回值:

3.3实时预览数据捕获

1)注册回调函数,捕获实时码流数据

NET_DVR_SetRealDataCallBack函数:

BOOLNET_DVR_SetRealDataCallBack(LONGlRealHandle,fRealDataCallBack

cbRealDataCallBack,DWORDdwUser)参数:

[in]lRealHandle预览句柄,NET_DVR_RealPlay_V40的返回值[in]cbRealDataCallBack码流数据回调函数[in]dwUser

用户数据返回值:

此函数包括开始和停止用户处理SDK捕获的数据,当回调函数cbRealDataCallBack设为非NULL值时,表示回调和处理数据;

当设为NULL时表示停止回调和处理数据。

回调的第一个包是40个字节的文件头,供后续解码使用,之后回调的是压缩的码流。

回调数据最大为256K字节。

回调函数中不能执行可能会占用时间较长的接口或操作,不建议调用该SDK(HCNetSDK.dll)本身的接口。

2)注册回调函数,捕获实时码流数据(标准码流)

NET_DVR_SetStandardDataCallBack函数:

BOOLNET_DVR_SetStandardDataCallBack(LONGlRealHandle,fStdDataCallBackcbStdDataCallBack,DWORDdwUser)参数:

[in]lRealHandle预览句柄,NET_DVR_RealPlay_V40的返回值[in]cbStdDataCallBack标准码流回调函数[in]dwUser

此函数包括开始和停止用户处理SDK捕获的数据,当回调函数cbStdDataCallBack设为非NULL值时,表示回调和处理数据;

回调的第一个包是40个字节的文件头,供后续解码使用,之后回调的是标准码流(含12字节的RTP头)。

此函数仅支持对于支持RTSP协议取流的设备的标准码流回调。

3)捕获数据并保存到指定的文件中

NET_DVR_SaveRealData函数:

BOOLNET_DVR_SaveRealData(LONGlRealHandle,char*sFileName)参数:

[in]lRealHandleNET_DVR_RealPlay_V40的返回值[in]sFileName

文件路径指针返回值:

V5.0.3.2或以后版本,通过该接口保存录像,文件最大限制为1024MB,大于1024M时,SDK自动新建文件进行保存,文件开始将40字节头自动写入,文件名命名规则为“在接口传入的文件名基础上增加数字标识(例如:

*_1.mp4、*_2.mp4)”。

4)停止数据捕获

NET_DVR_StopSaveRealData函数:

BOOLNET_DVR_StopSaveRealData(LONGlRealHandle)参数:

3.4预览抓图

1)设置抓图模式

NET_DVR_SetCapturePictureMode函数:

BOOLNET_DVR_SetCapturePictureMode(DWORDdwCaptureMode)参数:

[in]dwCaptureMode抓图模式:

enumtagPDC_PARAM_KEY{BMP_MODE=0,//BMP模式JPEG_MODE=1//JPEG模式}CAPTURE_MODE返回值:

调用该接口设置抓图模式后,NET_DVR_CapturePicture可抓取相应的图片。

2)预览时,单帧数据捕获并保存成图片

NET_DVR_CapturePicture函数:

BOOLNET_DVR_CapturePicture(LONGlRealHandle,char*sPicFileName)参数:

[in]lRealHandleNET_DVR_RealPlay_V40的返回值

[in]sPicFileName保存图象的文件路径。

路径长度和操作系统有关,sdk不做限制,windows默认路径长度小于等于256字节(包括文件名在内)。

明:

在调用该接口之前可以调用NET_DVR_SetCapturePictureMode设置抓图模式,默认为BMP模式。

如果抓图模式为BMP模式,抓取的是BMP图片,保存路径后缀应为.bmp;

如果抓图模式为JPEG模式,抓取的是JPEG图片,保存路径后缀应为.jpg。

若设备的当前分辨率为2CIF,播放库做了相关处理,抓取的图像为4CIF。

调用NET_DVR_CapturePicture进行抓图,实际是播放库解码抓图,要求在调用NET_DVR_RealPlay_V40等接口时传入非空的播放句柄(播放库解码显示),否则时接口会返回失败(调用次序错误)。

3)单帧数据捕获并保存成JPEG图片

NET_DVR_CaptureJPEGPicture函数:

BOOLNET_DVR_CaptureJPEGPicture(LONGlUserID,

LONGlChannel,LPNET_DVR_JPEGPARAlpJpegPara,

char*sPicFileName)参数:

[in]lUserIDNET_DVR_Login_V40的返回值[in]lChannel通道号

[in]lpJpegParaJPEG图像参数[in]sPicFileName保存JPEG图的文件路径返回值:

该接口用于设备的单帧数据捕获:

SDK发送命令给设备,设备抓图之后返回客户端,然后SDK将接收到的JPEG图片数据保存成文件。

抓图功能和抓图分辨率需要设备支持,IPC设备一般只支持当前视频分辨率的抓取。

4)单帧数据捕获并保存成JPEG存放在指定的内存空间中

NET_DVR_CaptureJPEGPicture_NEW函数:

BOOLNET_DVR_CaptureJPEGPicture_NEW(LONGlUserID,LONGlChannel,LPNET_DVR_JPEGPARAlpJpegPara,

char*sJpegPicBuffer,DWORDdwPicSize,

LPDWORDlpSizeReturned)参数:

[in]lUserIDNET_DVR_Login_V40的返回值[in]lChannel

通道号[in]lpJpegPara

JPEG图像参数[in]sJpegPicBuffer保存JPEG数据的缓冲区[in]dwPicSize

输入缓冲区大小[out]lpSizeReturned返回图片数据的大小返回值:

接口返回失败请调用NET_DVR_GetLastError获取错误码,通、过错误码判断出错原因。

SDK发送命令给设备,设备抓图之后返回客户端,然后SDK将接收到的JPEG图片数据保存在sJpegPicBuffer缓冲区里。

抓图功能和抓图分辨率需要设备支持,IPC设备一般只支持当前视频分辨率的抓取。

44云台控制操作

对IPC的操作,包括左、右、上、下移动等。

1)云台控制操作(需先启动图像预览)

NET_DVR_PTZControl函数:

BOOLNET_DVR_PTZControl(LONGlRealHandle,DWORDdwPTZCommand,DWORDdwStop)参数:

N

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 销售营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1