乔安网络SDK开发手册.docx

上传人:b****1 文档编号:12478678 上传时间:2023-04-19 格式:DOCX 页数:143 大小:67.24KB
下载 相关 举报
乔安网络SDK开发手册.docx_第1页
第1页 / 共143页
乔安网络SDK开发手册.docx_第2页
第2页 / 共143页
乔安网络SDK开发手册.docx_第3页
第3页 / 共143页
乔安网络SDK开发手册.docx_第4页
第4页 / 共143页
乔安网络SDK开发手册.docx_第5页
第5页 / 共143页
点击查看更多>>
下载资源
资源描述

乔安网络SDK开发手册.docx

《乔安网络SDK开发手册.docx》由会员分享,可在线阅读,更多相关《乔安网络SDK开发手册.docx(143页珍藏版)》请在冰豆网上搜索。

乔安网络SDK开发手册.docx

乔安网络SDK开发手册

 

网络SDK开发手册

VERSION3.0.5.4(Build20120605)

2012-06-05

 

版权所有XX

 

前言

非常感谢您使用我们公司的设备,我们将为您提供最好的服务。

本手册可能包含技术上不准确的地方或印刷错误,欢迎指正。

我们将会定期更新手册的内容。

修订记录

日期

修订内容

2009.02.12

增加局域网内搜索设备接口H264_DVR_SearchDevice

2009.02.18

增加语音对讲相关接口H264_DVR_StartVoiceCom_MR,H264_DVR_VoiceComSendData,H264_DVR_StopVoiceCom,H264_DVR_SetTalkMode

2009.09.26

增加以下接口:

H264_DVR_StartDVRRecord,H264_DVR_StopDVRRecord,H264_DVR_SetSystemDateTime,H264_DVR_GetDVRWorkState,H264_DVR_ClickKey

2010.08.7

增加以下接口:

H264_DVR_StorageManage,H264_DVR_SendNetAlarmMsg,H264_DVR_StartAlarmCenterListen,

H264_DVR_StopAlarmCenterListen,H264_DVR_APIboolH264_DVR_DelRealDataCallBack,H264_DVR_APIlongH264_DVR_PlayBackByTime,H264_DVR_APIlongH264_DVR_GetFileByTime,H264_DVR_APIboolH264_DVR_PTZControlEx,H264_DVR_APIlongH264_DVR_GetDevConfig,H264_DVR_APIlongH264_DVR_SetDevCon,H264_DVR_APIlongH264_DVR_SetConfigOverNet

2011.06.27

增加以下接口:

H264_DVR_SetConnectTime,H264_DVR_APIlongCALL_METHODH264_DVR_SetConfigOverNet,H264_DVR_APIlongCALL_METHODH264_DVR_PauseRealPlay,H264_DVR_SetRealDataCallBack_V2,H264_DVR_FindFileByTime,H264_DVR_PlayBackByName_V2,H264_DVR_PlayBackByTime,H264_DVR_PlayBackByTimeEx,CALL_METHODH264_DVR_GetFileByTime,H264_DVR_CatchPic,H264_DVR_CatchPicInBuffer,H264_DVR_SerialWrite,H264_DVR_SerialRead,H264_DVR_GetDDNSInfo,H264_DVR_MakeKeyFrame

2011.09.03

增加以下接口:

H264_DVR_OpenTransComChannel,H264_DVR_CloseTransComChannel,H264_DVR_GetDeviceState

2011.09.27

增加数据结构:

SDK_CameraAbility,SDK_AllCameraParam

2011.10.10

增加以下接口:

H264_DVR_CatchPicUI

2011.11.21

增加已下接口:

(只用于网络与解码合并情况)

H264_DVR_OpenSound

H264_DVR_CloseSound

H264_DVR_LocalCatchPic

H264_DVR_StartLocalVoiceCom

H264_DVR_StartLocalRecord

H264_DVR_StopLocalRecord

H264_DVR_StartLocalPlay

H264_DVR_StopLocalPlay

H264_DVR_GetPlayPos

H264_DVR_SetPlayPos

H264_DVR_LocalPlayCtrl

H264_DVR_SetFileEndCallBack

H264_DVR_SetInfoFrameCallBack

H264_DVR_LocalGetColor

H264_DVR_LocalSetColor

增加结构体:

SDK_LoalPlayAction

改变结构体:

H264_DVR_FILE_DATA,H264_DVR_FINDINFO,H264_DVR_FINDINFO(加hWnd变量)

2012.5.18

增加以下接口

H264_DVR_SetLocalBindAddress

H264_DVR_StartUploadData

H264_DVR_StopUploadData

H264_DVR_StartActiveRigister

H264_DVR_StopActiveRigister

H264_DVR_SetSubDisconnectCallBack

增加登录类型枚举SocketStyle

主动注册数据结构H264_DVR_ACTIVEREG_INFO

2012.8.2

增加以下接口

H264_DVR_SetKeepLifeTim

2013.2.25

增加搜索设备协议枚举

SDK_TransferProtocol_V2

增加一下接口

H264_DVR_SearchDeviceEX

目录

1.简介8

1.1概述8

1.2适用性8

设计原则9

1.3编程说明9

1.4典型调用顺序10

2数据结构定义12

2.1客户端数据结构12

2.1.1常量定义15

2.1.2设备信息结构23

2.1.3时间信息24

2.1.4录像文件信息25

2.1.5配置信息结构31

2.1.6网络键盘键值定义53

2.1.7网络报警信息55

2.1.8存储设备控制信息56

2.1.9RTSP信息57

2.1.10互信互通57

2.1.11新望平台57

2.1.12视搜平台58

2.1.13VVEYE平台58

2.1.14媒体包以及包信息58

2.1.15本地播放控制61

2.1.16主动服务61

2.1.17子连接类型61

2.1.18连接类型62

2.1.19搜索协议类型62

3接口定义63

3.1SDK初始化63

3.2报警状态获取64

3.3设备注册65

3.4实时监视66

3.5回放和下载69

3.6回放控制75

3.7云台控制75

3.8系统配置77

3.9日志管理78

3.10远程控制79

3.11语音对讲81

3.12录像模式设置83

3.13设置系统时间84

3.14获取设置运行状态信息84

3.15网络键盘85

3.16网络报警85

3.17报警中心86

3.18磁盘管理86

3.19抓图87

3.20透明232,48588

3.21获取DDNS信息89

3.22支持强迫I帧89

3.23设置连接设备超时时间和尝试次数90

3.24透明串口90

3.25DVR本地用户操作界面截图91

3.26客户端录像92

3.27打开语言对讲

(2)93

3.28客户端音频93

3.29客户端抓图93

3.30播放定位94

3.31设置信息帧回调94

3.32客户端视频颜色95

3.33播放客户端本地文件96

3.34绑定本地ip98

3.35设置上报数据回调98

3.36支持设备主动注册99

3.37设置子连接断开回调100

3.38设置心跳包时间以及断线时间100

4示例功能实现101

1.简介

概述

欢迎使用我公司网络SDK编程手册,网络SDK是软件开发商在开发我司网络硬盘录像机监控联网应用时的开发套件。

本文档详细描述了开发包中各个函数实现的功能、接口及其函数之间的调用关系和示例实现。

开发包所包括的文件有:

网络库

NetSDK

头文件

NetSDK.lib

Lib文件

NetSDK.dll

接口库

辅助库

DllDeinterlace.dll

解码辅助库

H264Play.dll

解码辅助库

hi_h264dec_w.dll

解码辅助库

适用性

支持网络硬盘录像机的监视、回放、报警、远程配置、日志查询等功能。

支持TCP传输模式,设备端同时支持10个TCP连接。

可通过SDK回调接口开发流媒体转发、回放、报警等服务器程序。

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

QCIF、CIF、2CIF、、HalfD1、D1,VGA(640×480)等

SDK在录像回放/下载时,同一登陆ID对于同一通道在同一时间回放和下载不可同时进行操作。

SDK性能与设备的运行情况和运行客户端的计算机CPU能力密切相关,理论上能同时支持2000个用户注册;同时支持2000路网络预览和网络回放;同时支持2000路报警上传;在图象显示方面同时支持300路。

 

设计原则

编程说明

初始化和清除

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

2、大多数函数调用均应该在H264_DVR_Init()之后,H264_DVR_Cleanup()之前,而H264_DVR_GetLastError可以在任何时候调用等等。

用户登录和注销

用户在访问前端设备之前必须通过调用H264_DVR_Login()登录到前端设备上,

如果登陆的软件是特殊的(不是web)可以调用H264_DVR_LoginEx()指定登陆的软件类型,登录成功后返回一个全局唯一的句柄。

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

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

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

心跳功能

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

同步与异步

异步通过设置回调函数的方式实现,网络数据通过回调函数传达到应用程序,有些异步在设置后返回请求句柄,结束请求时将请求句柄提供给SDK以注销相关资源。

回调函数

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

典型调用顺序

A.初始化

SDK初始化H264_DVR_Init()

B.SDK功能信息获取

设置报警消息回调H264_DVR_SetDVRMessCallBack()

C.登录连接设备

登入设备H264_DVR_Login()

H264_DVR_LoginEx()

报警消息订阅H264_DVR_SetupAlarmChan()

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

系统参数配置H264_DVR_GetDevConfig()

H264_DVR_SetDevConfig()

查询日志H264_DVR_FindDVRLog()

云台控制H264_DVR_PTZControl()

H264_DVR_PTZControlEx()

透明串口控制H264_DVR_OpenTransComChannel()

H264_DVR_CloseTransComChannel()

E.实时监视通道

打开监视通道H264_DVR_RealPlay()

H264_DVR_StopRealPlay()

监视数据回调保存H264_DVR_SetRealDataCallBack()

F.回放/下载通道

查询录像H264_DVR_FindFile()

H264_DVR_FindFileByTime()

回放及控制H264_DVR_PlayBackByName

H264_DVR_PlayBackByName_V2()

H264_DVR_PlayBackByTime()

H264_DVR_PlayBackByTimeEx()

H264_DVR_PlayBackControl()

H264_DVR_StopPlayBack()

下载H264_DVR_GetFileByName()

H264_DVR_GetFileByTime()

H264_DVR_GetDownloadPos()

H264_DVR_StopGetFile()

G.远程控制

远程升级H264_DVR_Upgrade()

H264_DVR_GetUpgradeState()

H264_DVR_CloseUpgradeHandle()

重启/清除日志H264_DVR_ControlDVR()

H.注销断开设备

停止报警消息订阅H264_DVR_CloseAlarmChan()

断开连接H264_DVR_Logout()

I.释放SDK资源

SDK退出H264_DVR_Cleanup()

数据结构定义

客户端数据结构

//云台操作类型

typedefenumPTZ_ControlType

{

TILT_UP=0,//上

TILT_DOWN,//下

PAN_LEFT,//左

PAN_RIGHT,//右

PAN_LEFTTOP,//左上

PAN_LEFTDOWN,//左下

PAN_RIGTHTOP,//右上

PAN_RIGTHDOWN,//右下

ZOOM_IN,//变倍大

ZOOM_OUT,//变倍小

FOCUS_FAR,//焦点后调

FOCUS_NEAR,//焦点前调

IRIS_OPEN,//光圈扩大

IRIS_CLOSE,//光圈缩小

EXTPTZ_OPERATION_ALARM,///<报警功能

EXTPTZ_LAMP_ON,///<灯光开

EXTPTZ_LAMP_OFF,//灯光关

EXTPTZ_POINT_SET_CONTROL,//设置预置点

EXTPTZ_POINT_DEL_CONTROL,//清除预置点

EXTPTZ_POINT_MOVE_CONTROL,//转预置点

EXTPTZ_STARTPANCRUISE,//开始水平旋转

EXTPTZ_STOPPANCRUISE,//停止水平旋转

EXTPTZ_SETLEFTBORDER,//设置左边界

EXTPTZ_SETRIGHTBORDER,//设置右边界

EXTPTZ_STARTLINESCAN,//自动扫描开始

EXTPTZ_CLOSELINESCAN,//自动扫描开停止

EXTPTZ_ADDTOLOOP,//加入预置点到巡航p1巡航线路p2预置点值

EXTPTZ_DELFROMLOOP,//删除巡航中预置点p1巡航线路p2预置点值

EXTPTZ_POINT_LOOP_CONTROL,//开始巡航

EXTPTZ_POINT_STOP_LOOP_CONTROL,//停止巡航

EXTPTZ_CLOSELOOP,//清除巡航p1巡航线路

EXTPTZ_FASTGOTO,//快速定位

EXTPTZ_AUXIOPEN,//辅助开关,关闭在子命令中

EXTPTZ_OPERATION_MENU,//球机菜单操作,其中包括开,关,确定等等

EXTPTZ_REVERSECOMM,//镜头翻转

EXTPTZ_OPERATION_RESET,///<云台复位

EXTPTZ_TOTAL,

};

错误类型代号,用于GetLastError函数的返回

typedefenumSDK_RET_CODE

{

H264_DVR_NOERROR=0,//没有错误

H264_DVR_SUCCESS=1,//返回成功

H264_DVR_SDK_NOTVALID=-10000,//非法请求

H264_DVR_NO_INIT=-10001,//SDK未经初始化

H264_DVR_ILLEGAL_PARAM=-10002,//用户参数不合法

H264_DVR_INVALID_HANDLE=-10003,//句柄无效

H264_DVR_SDK_UNINIT_ERROR=-10004,//SDK清理出错

H264_DVR_SDK_TIMEOUT=-10005,//等待超时

H264_DVR_SDK_MEMORY_ERROR=-10006,//内存错误,创建内存失败

H264_DVR_SDK_NET_ERROR=-10007,//网络错误

H264_DVR_SDK_OPEN_FILE_ERROR=-10008,//打开文件失败

H264_DVR_SDK_UNKNOWNERROR=-10009,//未知错误

H264_DVR_DEV_VER_NOMATCH=-11000,//收到数据不正确,可能版本不匹配

H264_DVR_SDK_NOTSUPPORT=-11001,//版本不支持

H264_DVR_OPEN_CHANNEL_ERROR=-11200,//打开通道失败

H264_DVR_CLOSE_CHANNEL_ERROR=-11201,//关闭通道失败

H264_DVR_SUB_CONNECT_ERROR=-11202,//建立媒体子连接失败

H264_DVR_SUB_CONNECT_SEND_ERROR=-11203,//媒体子连接通讯失败

///用户管理部分错误码

H264_DVR_NOPOWER=-11300,//无权限

H264_DVR_PASSWORD_NOT_VALID=-11301,//账号密码不对

H264_DVR_LOGIN_USER_NOEXIST=-11302,//用户不存在

H264_DVR_USER_LOCKED=-11303,//该用户被锁定

H264_DVR_USER_IN_BLACKLIST=-11304,//该用户不允许访问(在黑名单中)

H264_DVR_USER_HAS_USED=-11305,//该用户以登陆

H264_DVR_USER_NOT_LOGIN=-11306,//该用户没有登陆

H264_DVR_CONNECT_DEVICE_ERROR=-11307,//可能设备不存在

H264_DVR_ACCOUNT_INPUT_NOT_VALID=-11308,//用户管理输入不合法

H264_DVR_ACCOUNT_OVERLAP=-11309,//索引重复

H264_DVR_ACCOUNT_OBJECT_NONE=-11310,//不存在对象,用于查询时

H264_DVR_ACCOUNT_OBJECT_NOT_VALID=-11311,//不存在对象

H264_DVR_ACCOUNT_OBJECT_IN_USE=-11312,//对象正在使用

H264_DVR_ACCOUNT_SUBSET_OVERLAP=-11313,//子集超范围(如组的权限超过权限表,用户权限超出组的权限范围等等)

H264_DVR_ACCOUNT_PWD_NOT_VALID=-11314,//密码不正确

H264_DVR_ACCOUNT_PWD_NOT_MATCH=-11315,//密码不匹配

H264_DVR_ACCOUNT_RESERVED=-11316,//保留帐号

///配置管理相关错误码

H264_DVR_OPT_RESTART=-11400,//保存配置后需要重启应用程序

H264_DVR_OPT_REBOOT=-11401,//需要重启系统

H264_DVR_OPT_FILE_ERROR=-11402,//写文件出错

H264_DVR_OPT_CAPS_ERROR=-11403,//配置特性不支持

H264_DVR_OPT_VALIDATE_ERROR=-11404,//配置校验失败

H264_DVR_OPT_CONFIG_NOT_EXIST=-11405,//请求或者设置的配置不存在

///

H264_DVR_CTRL_PAUSE_ERROR=-11500,//暂停失败

H264_DVR_SDK_NOTFOUND=-11501,//查找失败,没有找到对应文件

H264_DVR_CFG_NOT_ENABLE=-11502,//配置未启用

H264_DVR_DECORD_FAIL=-11503,//配置未启用

//DNS协议解析返回错误码

H264_DVR_SOCKET_ERROR=-11600,//创建套节字失败

H264_DVR_SOCKET_CONNECT=-11601,//连接套节字失败

H264_DVR_SOCKET_DOMAIN=-11602,//域名解析失败

H264_DVR_SOCKET_SEND=-11603,//发送数据失败

};

☞报警事件类型

enumSDK_EventCodeTypes

{

SDK_EVENT_CODE_INIT=0,

SDK_EVENT_CODE_LOCAL_ALARM=1,//本地报警

SDK_EVENT_CODE_NET_ALARM,//网络报警

SDK_EVENT_CODE_MANUAL_ALARM,//手动报警

SDK_EVENT_CODE_VIDEO_MOTION,//动态检测

SDK_EVENT_CODE_VIDEO_LOSS,//视频丢失

SDK_EVENT_CODE_VIDEO_BLIN

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

当前位置:首页 > 医药卫生 > 基础医学

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

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