大华网络SDK开发手册Word文件下载.docx

上传人:b****2 文档编号:942290 上传时间:2023-04-29 格式:DOCX 页数:39 大小:31.88KB
下载 相关 举报
大华网络SDK开发手册Word文件下载.docx_第1页
第1页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第2页
第2页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第3页
第3页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第4页
第4页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第5页
第5页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第6页
第6页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第7页
第7页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第8页
第8页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第9页
第9页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第10页
第10页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第11页
第11页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第12页
第12页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第13页
第13页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第14页
第14页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第15页
第15页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第16页
第16页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第17页
第17页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第18页
第18页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第19页
第19页 / 共39页
大华网络SDK开发手册Word文件下载.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

大华网络SDK开发手册Word文件下载.docx

《大华网络SDK开发手册Word文件下载.docx》由会员分享,可在线阅读,更多相关《大华网络SDK开发手册Word文件下载.docx(39页珍藏版)》请在冰点文库上搜索。

大华网络SDK开发手册Word文件下载.docx

2006-10-16

增加单独修改通道名称的接口

赵均树

2006-10-21

增加打开实时图像的扩展接口

2006-10-28

1、增加按时间回放和下载接口

2、增加设备配置的第三方接入和获取设备的序列号功能

2006-11-8

1、带数据回调的按时间回放扩展接口

2、带数据回调的按文件回放扩展接口

3、远程重启接口

4、录像回放能够播放音频

赵均树、陈琼施

2006-11-19

1、解决了反复修改第三方的IP地址时DVR比较容易死机的问题

2、增加485接口

3、通过网络修改IP配置时DVR重启

2006-11-27

1、增加DDNS查询IP的功能

2006-12-15

修正文档中接口描述的错误,并增加链接

赵均树、陈琼施、林坚彦

2006-12-25

增加并修改语音对讲的接口

叶浩、陈琼施

2006-12-29

增加用户管理接口

林坚彦、陈琼施

2007-1-17

修改了CLIENT_Login的功能描述

增加了CLIENT_FindFile、CLIENT_FindNextFile、CLIENT_FindClose

林坚彦、赵均树、陈琼施

2007-2-8

增加了设备参数配置的两个接口:

CLIENT_GetDevConfigCLIENT_SetDevConfig

林坚彦、陈琼施、

2007-3-7

修改了CLIENT_StopListen接口典型应用的笔误

2007-03-19

增加了个查询报警状态的接口。

2007-03-21

增加了语音对讲中的音频编码接口

增加了扩展报警侦听接口

叶浩、陈琼施、林坚彦

 

1简介

1.1概述

欢迎使用大华网络SDK编程手册,网络客户端软件开发包(DVR客户端SDK)是大华网络硬盘录像机、网络视频服务器的配套产品,本文档详细描述了开发包中各个函数实现的功能、接口及其函数之间的调用关系和示例实现。

网络客户端软件开发包主要包括业务操作和设备管理两大部分:

业务操作:

状态侦听、实时监视、实时预览、字符叠加、音频控制、录像回放和下载、数据保存、云台控制、语音对讲、透明串口、码流统计等功能。

设备管理:

远程升级、远程重启/关闭、设备参数配置(系统通用配置、报警布/撤防设置、录像配置、串口配置、图像配置、日志管理、用户管理、设备校时、动态检测配置、网络配置)等功能。

开发包所包括的文件有:

网络库:

、、

解码库:

、、、、、

辅助库:

、、、

1.2适用性

⏹支持所有大华网络硬盘录像机(DVR)、网络视频服务器(NVS)、网络报警服务器(NAS)

⏹只支持TCP网络传输模式

⏹客户端可以采用多种分辨率进行图像预览,支持的分辨率包括:

QCIF、CIF、2CIF、、HalfD1、D1,VGA(640×

480)等

⏹客户端支持多种图像编码,包括MPEG4和等

1.3特色功能

支持设备的以下特色功能:

⏹多路预览

在窄带条件下,同时多路实时监视对带宽的要求比较高,一般的处理情况有两种,其一,轮巡。

其二,多路预览。

所谓多路预览,就是在一个通道上把所有通道的数据组织在一起传输,等同于多路同时监视。

必要的时候,可以转单路监视。

大华DVR支持多路预览功能。

⏹支持标准的MP4数据

一般情况下,同一平台集成不同厂商的前端设备(如DVR),由于各厂商采用的视频压缩方法不同(包括算法、参数定义等),导致解码端回放必须采用厂商特定的工具,造成平台开发商无法自定义播放标准。

本SDK能够解决这个问题。

通过特定接口,应用层可以通过本SDK获取标准媒体数据(FOURCC(‘D’、‘I’、‘V’、‘X’)视频数据),要支持用各种通用播放器播放,有了提供标准数据,应用层只须打包标准数据到播放器支持的容器类型(也就是文件格式,如AVI标准)就可以了。

2

设计原则

2.1编程说明

⏹初始化和清除

1、使用网络客户端软件包首先调用对系统进行初始化,应用程序退出时调用释放所有占用的资源。

2、大多数函数调用均应该在之后,之前,除了少数函数,譬如CLIENT_SetConnectTime()在之前调用,而可以在任何时候调用等等。

⏹操作句柄

系统设计上多处使用了句柄概念,很多操作均针对句柄,如回放、下载以及语音对讲等。

⏹用户登录和注销

用户在访问前端设备之前必须通过调用登录到前端设备上,登录成功后返回一个全局唯一的句柄。

此句柄就像一个会话通道,之后该用户可通过此句柄访问前端设备。

退出该会话时则通过函数在前端设备上注销此句柄以终止该会话通道的使用。

建立连接与登录是同步的。

⏹心跳功能

在本开发包中提供自动心跳功能(20秒一次心跳)当设备断开能及时回调给客户端。

⏹同步与异步

异步以设置回调函数来响应网络数据,有些异步在设置后返回请求句柄,结束请求时将请求句柄提供给SDK以注销相关资源。

⏹SDK提供协议探测和转换

⏹回调函数

一般都有dwUser参数,由用户自定义需要的数据,一般用来传入类对象指针,方便回调处理在类中实现,回调应用都可以采取这种方式。

2.2典型调用顺序

A.初始化

SDK初始化CLIENT_Init()

B.SDK功能设置或信息获取

设置连接等待时间CLIENT_SetConnectTime()

获取SDK版本CLIENT_GetSDKVersion()

设置消息回调CLIENT_SetDVRMessCallBack()

设置自定义叠加画板CLIENT_RigisterDrawFun()

C.登录连接设备

登录设备CLIENT_Login()

开始侦听CLIENT_StartListen()

D.设备功能操作与信息获取

系统配置CLIENT_QueryConfig()

CLIENT_SetupConfig()

获取设备状态CLIENT_GetDEVWorkState()

获取协议信息CLIENT_QueryComProtocol()

查询获取系统信息CLIENT_QuerySystemInfo()

查询通道名称CLIENT_QueryChannelName()

查询日志CLIENT_QueryLogCallback()

CLIENT_QueryLog()

用户管理CLIENT_QueryUserInfo()

CLIENT_OperateUserInfo()

云台控制CLIENT_PTZControl()

CLIENT_DHPTZControl()

语音对讲CLIENT_StartTalk()

CLIENT_SendTalkData_Custom()

CLIENT_StopTalk()

设置限流CLIENT_SetMaxFlux()

透明串口CLIENT_CreateTransComChannel()

CLIENT_SendTransComData()

CLIENT_DestroyTransComChanne()

E.实时监视通道

打开监视通道CLIENT_RealPlay()

CLIENT_RealPlayEx()

保存监视图像数据CLIENT_SaveRealData()

监视数据回调保存CLIENT_SetRealDataCallBack()

CLIENT_SetRealDataCallBackEx()

获取视频参数信息CLIENT_ClientGetVideoEffect()

设置修改视频参数CLIENT_ClientSetVideoEffect()

强制I帧CLIENT_MakeKeyFrame()

F.多画面预览通道

打开多画面预览CLIENT_MultiPlay()

停止多画面预览CLIENT_StopMultiPlay()

G.回放/下载通道

查询录像CLIENT_QueryRecordFile()

回放及控制CLIENT_PlayBackByRecordFile()

CLIENT_PlayBackByRecordFileEx()

CLIENT_PlayBackByTime()

CLIENT_PlayBackByTimeEx()

CLIENT_GetPlayBackOsdTime()

CLIENT_PausePlayBack()

CLIENT_SeekPlayBack()

CLIENT_StopPlayBack()

CLIENT_StepPlayBack()

CLIENT_FastPlayBack()

CLIENT_SlowPlayBack()

CLIENT_GetFramePlayBack()

CLIENT_SetFramePlayBack()

下载CLIENT_DownloadByRecordFile()

CLIENT_DownloadByRecordFileEx()

CLIENT_DownloadByTime()

CLIENT_StopDownload()

CLIENT_GetDownloadPos()

H.针对显示图像的操作(监视/回放/多画面预览)

抓图CLIENT_CapturePicture()

码流统计CLIENT_GetStatiscFlux()

打开音频CLIENT_OpenSound()

设置音量CLIENT_SetVolume()

I.远程控制

远程升级CLIENT_StartUpgrade

CLIENT_SendUpgrade

CLIENT_StopUpgrade

录像控制CLIENT_QueryRecordState

CLIENT_SetupRecordState

系统校时CLIENT_QueryDeviceTime

CLIENT_SetupDeviceTime

IO控制CLIENT_QueryIOControlState

CLIENT_IOControl

J.注销断开设备

停止侦听CLIENT_StopListen()

断开连接CLIENT_Logout()

K.释放SDK资源

SDK退出CLIENT_Cleanup()

对D、E、F、G、H、I中的功能大部分之间没有调用先后顺序,当然对同一个功能还是应该按先打开再操作最后关闭的顺序。

3数据结构定义

3.1客户端数据结构

☞通用云台控制命令

typedefenum_PTZ_ControlType

{

PTZ_UP_CONTROL=0,1100110111021103日志的结构形式

日志的类型

enumdh_log_t{

LOG_REBOOT=0x0000,数据组织

向客户端传递所有日志信息,长度为N*日志结构长度,N为日志的条数。

☞查询硬盘信息的返回数据结构

typedefstruct{

DWORDdwDiskNum;

码不正确

2.帐号不存在

3.等待登录返回超时

4.帐号已登录

5.帐号已被锁定

6.帐号又被列为黑名单

7.资源不足,系统忙

9.找不到网络主机

0.其他网络错误

⏹返回值:

失败返回0,成功返回设备ID,登录成功之后对设备的操作都可以通过此值(设备句柄)对应到相应的设备

⏹相关函数:

⏹典型应用:

在初始化后就可以调用本接口注册到指定的设备,成功后将返回设备句柄,给相关的函数调用

1.CLIENT_APILONGCLIENT_LoginEx(char*pchDVRIP,WORDwDVRPort,char*pchUserName,char*pchPassword,intnSpecCap,void*pCapParam,LPNET_DEVICEINFOlpDeviceInfo,int*error=0)

⏹函数说明:

注册用户到设备的扩展接口,支持一个用户指定设备支持的能力

⏹参数说明:

增加扩展参数

nSpecCap

设备支持的能力,值为1表示同一用户名可以多次登录,其他暂时不支持

pCapParam

对nSpecCap的补充参数,目前为0

⏹返回值:

失败返回0,成功返回设备ID,登录成功之后对设备的操作都可以通过此值(设备句柄)对应到相应的设备

⏹相关函数:

一个用户同时多次登录同一台设备

2.CLIENT_APIBOOLCLIENT_Logout(LONGlLoginID);

注销设备用户

lLoginID

的返回值

成功返回TRUE,失败返回FALSE

当需要设备主动断开时调用;

3.2实时监视

3.CLIENT_APILONGCLIENT_RealPlay(LONGlLoginID,intnChannelID,HWNDhWnd);

启动实时监视

lLoginID

的返回值

nChannelID

实时监视通道号(通道号从0开始)

hWnd

窗口句柄,值为0对数据不解码、不显示图像

失败返回0,成功返回实时监视ID(实时监视句柄),将作为相关函数的参数

、、、、、、、、、、、、

根据登录时获取到的设备信息,调用本接口,就可以打开任何有效的一路实时监视,显示到指定的hWnd窗口,正常返回的监视ID,用于以下对本监视通道的控制和操作;

4.CLIENT_APIBOOLCLIENT_StopRealPlay(LONGlRealHandle);

停止实时监视

lRealHandle

关闭失实监视

5.CLIENT_APILONGCALL_METHODCLIENT_RealPlayEx(LONGlLoginID,intnChannelID,HWNDhWnd,RealPlayTyperType)

启动实时监视或多画面预览,当打开多画面预览时不能打开语音对讲

实时监视通道号,如果rType为RType_Multiplay该参数保留。

rType

数据类型

RType_Realplay=0,1f1f.

⏹BYTEformat;

110251200

以下29、30、31为一组录像查询接口,和上面的录像查询接口独立

6.CLIENT_APILONGCALL_METHODCLIENT_FindFile(LONGlLoginID,intnChannelId,intnRecordFileType,char*cardid,LPNET_TIMEtime_start,LPNET_TIMEtime_end,boolbTime,intwaittime);

打开录像查询句柄

nChannelId

通道号,从0开始

nRecordFileType

录像文件类型

0所有录像文件

1外部报警

2动态检测报警

3所有报警

4卡号查询

5组合条件查询

Cardid

卡号,只针对卡号查询有效

Time_start

查询录像开始时间

Time_end

查询录像结束时间

bTime

是否按时间查询(目前无效)

waittime

查询超时时间

成功返回查询句柄,失败返回0

,,

可以在回放之前先调用本接口查询录像记录,再调用函数挨条返回录象记录用于播放,查询完毕可以调用关闭查询句柄。

7.CLIENT_APIintCALL_METHODCLIENT_FindNextFile(LONGlFindHandle,LPNET_RECORDFILE_INFOlpFindData);

查询下一条录像文件记录

lFindHandle

lpFindData

录象文件记录缓冲,用于输出查询到的录象文件记录

1:

成功取回一条录象记录,0:

录象记录已取完,-1:

参数出错

调用本接口之前应先调用以打开查询句柄。

8.CLIENT_APIBOOLCALL_METHODCLIENT_FindClose(LONGlFindHandle);

关闭录象查询句柄

lFindHandle

调用打开查询句柄,查询完毕后应调用本函数以关闭查询句柄。

9.CLIENT_APILONGCALL_METHODCLIENT_PlayBackByRecordFileEx(LONGlLoginID,LPNET_RECORDFILE_INFOlpRecordFile,HWNDhWnd,fDownLoadPosCallBackcbDownLoadPos,DWORDdwPosUser,fDataCallBackfDownLoadDataCallBack,DWORDdwDataUser);

带数据回调的按录象文件回放扩展接口,每通道同一时间只能播放一则录像,不能同时播放同一通道的多条记录。

窗口参数(hWnd)有效时不回调数据,如果需要数据回调则窗口参数.(hWnd)必须传0。

lpRecordFile

录像文件信息

hWnd

回放窗口

cbDownLoadPos

进度回调函数

dwPosUser

进度回调用户参数

›进度回调函数参数说明:

参见

dwDataUser

数据回调用户

›数据回调函数参数说明:

lRealHandle

CLIENT_PlayBackByRecordFileEx的返回值

dwDataType

这里为0(原始数据)

pBuffer

数据缓冲

dwBufSize

缓冲长度

fDownLoadDataCallBack

数据回调函数,原形参见典型应用

dwUser

用户数据,就是上面输入的用户数据dwDataUser

【注意】本回调函数的返回值会影响SDK的内部操作:

返回1代表回调成功,没什么特殊情况都应该返回这个值

返回0代表回调函数堵塞,这个会导致同一数据重复发送,即回放画面会出现重复

返回-1代表系统出错,将直接结束回放线程,慎用!

成功返回网络回放ID,失败返回0

、,、、、、、、、

如果窗口参数hWnd不为零,则数据回调参数(fDownLoadDataCallBack,dwDataUser)无效,如果窗口参数hWnd为零,则回调原形为:

typedefint(CALLBACK*fDataCallBack)(LONGlRealHandle,DWORDdwDataType,BYTE*pBuffer,DWORDdwBufSize,DWORDdwUser);

10.CLIENT_APILONGCALL_METHODCLIENT_PlayBackByTime(LONGlLoginID,intnChannelID,LPNET_TIMElpStartTime,LPNET_TIMElpStopTime,HWNDhWnd,fDownLoadPosCallBackcbDownLoadPos,DWORDdwUserData);

网络回放,需要说明的是对同一设备的同一通道当前只能同时播放一个时间段录像

nChannelID

图像通道号,从0开始,必须指定

lpStartTime

开始时间

lpStopTime

结束时间

dwUserData

用户自定义数据

参见demo

11.CLIENT_APILONGCALL_METHODCLIENT_PlayBackByTimeEx(LONGlLoginID,intnChannelID,LPNET_TIMElpStartTime,LPNET_TIMElpStopTime,HWNDhWnd,fDownLoadPosCallBackcbDownLoadPos,DWORDdwPosUser,fDataCallBackfDownLoadDataCallBack,DWORDdwDataUser);

带数据回调的按时间回放扩展接口,每通道同一时间只能播放一则录像,不能同时播放同一通道的多条记录。

图像通道号,必须指定

lpStartTime

lpStopTime

dwPosUser

fDownLoadDataCallBack

数据回调函数

dwData

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2