二次开发接口文档.doc_第1页
二次开发接口文档.doc_第2页
二次开发接口文档.doc_第3页
二次开发接口文档.doc_第4页
二次开发接口文档.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

接口开发文档一、开发包目录结构1.1 demo 文件夹包含了 sdk 接口调用源代码,可供二次开发参考。使用 C+开发的 MFC 程序。1.2 dll 文件夹包含了二次开发所需的所有动态库,demo 编译好的 exe 文件需要放在该文件夹内才可 以运行。1.3 include 文件夹包含了二次开发所需要的头文件。1.4 lib 文件夹包含了二次开发所需要的 lib 静态库。1.5 DSS 二次开发指南(C+).pdf指导二次开发用户如何新建 VS2005 工程运行 demo 文件夹中的 demo。1.6 Version.xmldpsdk 开发包的程序版本信息。1.7 常见问题解答.pdf二次开发常见问题以及解决方式。1.8 大华平台 SDK 开发手册(C+版).chm二次开发接口使用说明。二、术语和缩略语1、 DPSDK:DSS 平台二次开发 SDK 包2、 CMS:中心管理服务3、 DMS: 设备管理模块4、 demo:程序示例(功能类似 DSS 平台客户端)5、 web 管理员端:在浏览器中输入 DSS 平台的 ip 即可打开管理员端6、 CameraID:通道 id,形如:10000010$1$0$0 7、 DeviceID:设备 id三、Demo 操作方法3.1 运行 demo把“demo/bin/” 目录下面的 3 个文件,如下图所示拷贝到“dll”文件夹下面,运行Test_DPSDK_Core.exe。3.2 登陆平台登陆界面如图 1 所示,其中: IP:DSS 平台 ip 地址; 端口:9000;图 1 登陆界面用户名:web 管理员端配置的用户;密码:web管理员端配置的用户对应的密码。 点击“登录”按钮,登陆平台。登陆成功的界面如图 2 所示:1235图 2 主界面上图选中的 5个模块分别是:1、组织树;2、实时视频;3、本地录像;4、云台操作;5、执行结果。3.3 主界面功能介绍3.3.1、组织树操作步骤:点击“加载所有组织结构”按钮 加载组织结构是其他操作的前提,是为了获取 DSS平台上所有的设备信息。3.3.2、实时视频模块操作步骤:1)确保已经成功加载组织结构。2)输入 CamID(通道 ID)。3)点击“打开 视频”按钮,即可打开视频。如果打开视频失败会在“模块5”的位置提示错误码。注释 1:CamID(通道 ID)的获取方式有 1)展开模块 1 组织树,寻找到对应的编码器通道,即可看到该通道对应的通道 ID;2)登陆 web 管理员端,选择基本配置-设备管理-编码器界 面,看到“编码”列给出的是“设备 ID”。使用设备 ID 组成通道 ID 即:设备 ID$1$0$0。$1 代表编码器,$0 代表单元序号,默认为 0,$0 代表通道号。具体信息参考“常见问题解答”。3.3.3、本地录像模块 操作步骤:1)确保已经成功加载组织结构。2)确保已经成功打开实时视频。3)点击“开始录像”按钮即可开始本地录像。在打开实时视频以后可以录像,并保存到本地磁盘。3.3.4、云台控制模块 操作步骤:1)确保已经成功加载组织结构。2)确保已经成功打开实时视频。 打开实时视频以后,针对球机设备可以操作八方向、调节球机镜头、设置预置点等。3.3.5、执行结果模块 将所有操作的结果输出。并输出对应的操作失败错误码。3.4 回放界面功能介绍3.4.1 录像查询操作步骤:1)确保已经成功加载组织结构。2)输入 CameraID(通道 ID)。3)选择查 询的开始和结束时间。4)选择录像来源。5)选择录像类型。点击“查询录像”按钮查询录像。3.4.2 录像回放操作步骤:1)确保已经成功加载组织结构。2)确保已经查询到录像文件。3)选中录 像文件,点击“按文件回放”按钮。3.4.2 录像下载操作步骤:1)确保已经成功加载组织结构。2)确保已经查询到录像文件。3)选中录 像文件,点击“按文件下载”按钮。3.5 报警功能3.5.1 查询报警操作步骤:1)确保已经成功加载组织结构。2)输入 CamID(通道 ID)。3)选择报警 类型,点击“查询”按钮。需 要 注 意 的 是 查 询 视 频 类 报 警 ( 即: 视频丢失 / 移动侦测 / 视频遮挡) 时 CamID 为1000001$1$0$0,查询其他报警(除上述 3 种报警类型)的时候 CamID 为 1000001$3$0$0。 因为视频类报警是由“视频通道”产生,其他报警是由“报警输入通道”产生。3.5.2 报警布控操作步骤:1)确保已经成功加载组织结构。2)输入设备 ID。3)输入通道号,(视频类报警使用“视频通道号”,其他报警使用“报警通道号”)。4)选择报警类型,点击“布控” 按钮即可。注释:视频类报警类型包含 1)视频丢失 2)移动侦测 3)视频遮挡。3.6 语音对讲3.6.1 打开语音对讲操作步骤:1)确保已经成功加载组织结构。2)输入 CamID(通道 ID),选择对讲参数, 3)点击“开始语音对讲”按钮。如果参数错误会弹窗提示正确参数信息。3.6.2 关闭语音对讲 操作步骤:1)确保已经成功打开语音对讲。2)点击“根据序列号停止语音对讲”或者“根据通道号停止语音对讲”按钮。3.7 电视墙目前Demo不能新建电视墙任务,只能获取平台配置好的电视墙信息。电视墙的任务需要在平台客户端添加。3.7.1 电视墙操作 操作步骤:1)确保已经成功加载组织树。2)点击“获取电视墙总数”按钮。3)点击“获取电视墙信息”按钮。4)选择电视墙ID。5)点击“获取电视墙布局”按钮。即可显示电视墙对应的屏幕分割信息。上图显示 ID 为 3 的电视墙的名字是 tt 状态是 1(代表启用)。电视墙有 4 块屏幕,屏 id、 屏名称、屏坐标、是否绑定解码器(1_1000943 代表绑定解码器,解码器 id 为 1000943)。3.7.2 屏幕分割和开窗操作 操作步骤:1)确保已经成功获取到电视墙屏幕信息。2)选择一个屏幕。3)执行分割和开窗操作。所有的融合屏都只做开窗。非融合和融合的 NVD 都只做分割。开窗操作(left,上)代表窗口左上角坐标,width 和 Height 代表宽和高的比例,范围是0-100。例如:(left,上)为(0,0);(width,Height)为(50,50)。3.7.3 设置视频源操作 操作步骤:1)确保已经成功获取到电视墙屏幕信息。2)输入编码器通道 ID。3)输入窗口号(分割和开窗操作的窗口号从0开始)。4)点击“设置”按钮。5)点击“关闭”按钮清除窗口视频源。6)点击“清屏”按钮清除所有屏幕上的窗口和视频源。四、常见问题1 概述本文档列出了使用大华 SDK 进行二次开发时出现的常见问题以及对应的解决方法。方 便第三方开发者快速定位问题,提高二次开发效率。2 问题列表2.1 WebDemo 问题汇总2.1.1 在 IE 浏览器中打开 webDemo 视频窗口显示因为没有注册 ocx。在 ocx 文件夹中双击 reg.bat 只有提示注册成功才可以。2.2 OCX 控件问题汇总2.2.1 OCX 无法注册1、OCX控件时微软推出已久的技术,其注册方法及出错原因可在微软官方文档上查询,或 者可以自行在网上查找解决方法。OCX 注册问题本不属于 DPSDK 支持范畴。 2、不过我们还是提供一些建议,以便您快速排除问题:(1)用“管理员权限”打开“开始”-“附件”-“命令提示符”,输入“regsvr32 ocx 的 全路径”即可。(2)我们提供的 OCX 控件是 32 位程序,请确保系统有 32 位兼容库,具体判断方法为 C:WindowsSysWOW64 这个文件夹下是否有“regsvr32.exe”这个文件,若没有,请重新安 装系统。若有,请按(1)中的方式打开命令提示符,输入“c:windowsSysWOW64regsvr32 ocx 全 路 径 ” 即 可 , 如 “ c:windowsSysWOW64regsvr32 Z:DPSDK_OCXocxDPSDK_OCX.ocx ”如以上 2 点仍然没有能够成功注册,请在网上,根据自己的系统信息自行搜索解决方案。 3、在注册 dll 或者 ocx 的时候,经常会遇到这么一个问题:模块已加载,但对 dllregisterServer 的调用失败,错误代码为 0x8004*解决方法:在批处理的第一行加入:cd /d %dp0 然后在批处理上右键选择使用管理员权限 运行4、Windows7 出现:应用程序无法启动,因为应用程序的并行配置不正确有关详细信息,请参 阅应用程序事件日志,或使用命令行 sxstrace.exe 工具。” 解决方法:出现这个问题是因为安装 windows7 后,或使用 ghost 版本安装后, windows7 没有安装 Visual C+ 库,而有些软件需要 Visual C+ 库所以到微软官方网站下载:Microsoft VisualC+2005SP1RedistributablePackage(x86)下载:13/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=zh-cn 安装2.2.2 64 位系统下 OCX 无法使用目前 OCX 控件只有 32 位的程序,所以在 64 位系统下,需要下载 32 位的 IE,用 32 位的 IE加载 OCX 控件即可。2.2.3 Ocx 注册成功但是在页面加载失败运行 IE,工具-Internet 选项-安全,确保 Internet 和本地 Intranet 和可信站点的自定义级别中 的 ActiveX 选项都不是禁止状态,将禁止状态改为提示状态。2.2.4 Ocx 开发包 demo 程序运行不起来DPSDK_OCX.ocx 未注册,可以采用一下两种方法注册: 运行-CMD,regsvr32DPSDK_OCX.ocx 绝对路径运行 ocx 开发包文件夹里面的 reg.bat 批处理,注意:DPSDK_OCX.ocx 必须要和 reg.bat 放 在同一个路径。如果仍旧注册失败需要安装 vs 发布包,vcredist_x86.exe,可以从微软官网上直接下载2.2.5 如何获通道 ID(CameraID)在浏览器输入 DSS 平台的 ip 打开 web 管理员端,用管理员身份登录平台,找到“基本 设置”-“设备管理”-“编码器”页面的“编码”列是所有的设备 ID。而 CameraID 的格式 为:设备 ID$1$0$通道号,如设备 ID 为“1000000”,且设备下有 3 个视频通道,那么这 3 个 CameraID 为1000000$1$0$0、1000000$1$0$1、1000000$1$0$2。2.2.6 是否可以不加载组织结构不调用 DPSDK_LoadDGroupInfo 也是可以的,但仅限于实时视频、录像回放,其他操作,如操作云台等功能无法使用。方法是 Get_RealStream_Info_t中的nRight设置为 DPSDK_CORE_NOT_CHECK_RIGHT 即可。2.2.7 OCX 无法保存抓图或创建文件夹失败win7 系统的安全控制导致 OCX 控件无法创建文件夹。需要使用administrator 账号登陆win7系统开发使用(有管理员权限的普通账户也不行)。2.2.8 OCX 控件收不到报警1)需要先调用布控报警DPSDK_EnableAlarm。 2)其次平台或者设备触发报警。2.2.9 OCX 请求视频没有声音需要打开音频(DPSDK_OpenAudioByWndNo,DPSDK_OpenAudioByHWND)2.2.10 加载监控视频成功时浏览器会死掉 浏览器兼容问题,目前 ocx 控件主要针对 IE8/IE9 环境。 2.2.11 IE 浏览器加载视频成功,其他浏览器无法加载浏览器兼容问题,其他基于 IE 内核或者多核模式的浏览器(遨游,360,搜狗浏览器等)需要选择兼容模式浏览。2.2.12 OCX 操作导致 IE 崩溃目前 OCX 中我们已经集成了在崩溃时生成 crash dump 的功能,OCX 崩溃时会弹出对话 框提示 dump 生成的位置,用户只需在此位置下找到.dmp 文件,然后将对应的 pdb 文件一同 发送给我们即可。2.2.13 目前 OCX 只支持 ie8 32 位浏览器在页面中加上, 让 IE 浏览器以兼容 IE8 方式运行。2.2.14 一路视频对应两路音频情况缺少音频通道标识DPSDK_OCX之前的开发包中已经提供了多音频通道的接口, DPSDK_GetAudioChannelsByWndNo / 获取音频通道数 DPSDK_GetAudioChannelStateByWndNo / 获取某个音频通道的状态 DPSDK_SetAudioChannelByWndNo / 打开某个音频通道 界面上的按钮只是单纯的音频开关,客户如需切换声道,需要手动调用以上几个接口。2.2.15 DPSDK_SeekPlaybackBySeqByWndNo 无法定位海康录像底层播放库不支持海康录像的定位操作,不过可以通过以下操作替代,以实现一个进度 条为例:拖动进度条时,直接先关闭回放,再以进度条的当前时间重新按时间请求回放。此时由 于 重 新 请 求 , DPSDK_GetPlaybackPosByWndNo 等接口获取的进度不准 确,改用DPSDK_GetFrameTimeByWndNo 直接获取帧时间,然后保存下最初的开始和结束时间,即可计 算正确的进度。2.2.16 DPSDK 断线重连,不能打开视频需要重新加载组织结构(即在 OnDevStatusEvent 中,当收到重连成功的事件后,调用 DPSDK_LoadDGroupInfo)。2.2.17 NVR 设备状态和通道状态不同NVR的通道状态需要通过订阅才能实时返回通道状态。设备在线,不一定通道在线。 OCX:ChannelStatusCallback。2.2.18 YUV 码流接口不支持海康设备Ext 层的 YUV 码流的相关接口,只支持大华设备。不支持海康设备。2.2.19 接口返回某个错误码的含义1)接口返回 1010 错误是因为超时时间太短可以尝试增加接口超时时间,特别是广域网上操作。 2)调用DPSDK_StartRealplayByWndNo 返回 3502,3600 错误 未选中窗口或者窗口失去焦点。3)返回其它错误码 我们开发文档里面有针对错误码的介绍。搜索一下错误码即可。2.3 DPSDK_DLL 版本问题汇总2.3.1 通道 ID(CameraID)介绍通道 ID(CameraID)形如:1000010$1$0$0,其中1)1000010 是设备 ID,该设备 ID 可以在平台 web 管理员端“基本配置-设备管理”页面的 “编码”列查询。2)$1 代表的是单元类型。1 是编码单元、2 是解码单元、3 是报警输入单元、4 是报警输出 单元。实时视频都是$1。3)$0 默认全写 0,代表的是单元类型的序号。4)$0 这个代表的是通道序号。从 0 开始计算。比如一个设备有 8 个通道,则通道序号是 0- 如何获通道 ID(CameraID)1)DPSDK_DLL 开发包中,有 demo 程序,demo 程序中登录后,选择“分级加载组织结构”, 即可看到组织和设备树。双击直到最后一层即为 CameraId。demo 我们提供了源码,你可以 根据源码进行开发,源码中涉及到的函数在开发文档中都有详细说明。2)在浏览器中,用管理员身份登录平台,可以看到所有的设备 ID。而编码器 CameraID 的 格式为:设备 ID$1$0$通道号,如设备 ID 为“1000000”,且设备下有 3 个通道,那么这 3 个 CameraID 为1000000$1$0$0、1000000$1$0$1、1000000$1$0$2。2.3.3 NVR 设备状态和通道状态不同NVR的通道状态需要通过订阅才能实时返回通道状态。设备在线,不一定通道在线。 dll:DPSDK_SetDPSDKNVRChnlStatusCallback。2.3.4 登录之后打开视频返回 rtsp 建立失败如果是内外网环境,可能网络环境不正确。2.4 Android SDK 问题汇总2.5 IOS SDK 问题汇总2.5.1 点击实时预览崩溃可能是播放库太老,需要更新播放库。2.6 其它2.6.1 设备通道 ID(CameraID)如何获取?获取方式:方法 1.打开 DPSDK 对应的 Demo,加载组织树,展开对应的组织节点,找到设备即可看 到通道 ID方法 2.通道 ID 格式为:“设备 ID $1$0$通道号”。比如设备 ID 为 1000001,对应第一 个视频通道 ID 为 1000001$1$0$0,对应第二个视频通道为 1000001$1$0$1,依次类推。设备 ID 可以从 DSS 管理员端“设备管理”页面获取。在管理员模式下,使用 system 用户登陆进入:基本设置-设备管理查看设备ID。通道号:对于 IPC 设备,只有一个通道,通道号只有 0;对于 DVR 设备,有多个通道, 具体的通道个数是在 web 管理员平台上配的,比如配了 4 个通道,通道号依次为 0,1,2,3。2.6.1 模拟器实时预览花屏播放库对模拟器支持不全,实时和回放需要在真机上运行。2.6.2 目前 DPSDK 不接受 UI 界面相关的定制开发,用户需要自己实现 UI界面2.6.3 目前提供的 DPSDK 相关 Demo 只有 C+版2.6.4 DPSDK 二次开发邮箱 dh_dss_ 暂不提供研发 手机号码2.6.5 现在只维护平台是 3.0 以后的 dpsdk2.X 平台的 dpsdk 已经不再维护。2.6.6 打开视频的接口有两种打开视频的接口:1)使用 ext 层,用户不需要关心码流,VaxPlayer 库解析之。2)不使用 ext层,设置码流回调函数,客户可以拿到码流。DPSDK_GetRealStream() pDlg-PostMessage(WM_MEDIADATA_CB, nSeq, 0)CWndPlayer:OnMediaDataCallback(WPARAM wParam, LPARAM lParam)2.6.7 按时间回放功能1)按时间回放平台录像,由于平台存在问题,相关功能会出现 bug。不建议用户使用 该功能。2)按时间回放设备录像没有问题。2.6.8 平台回调上来的码流平台回调上来的码流是 PS 流+大华头。直接使用 vaxPlayer 播放。如果前端是海康设备回调上来的码流是大华头+海康流。需要使用 mediaParser 库去掉大华头在用 vaxPlayer 播放或者使用海康的播放库播放。2.6.9 组织树 xml 中 status 字段不准确加载组织树以后可以拿到组织树 xml,设备信息中的 status 字段无法正确显示设备的状 态。需要注册设备状态回调函数来实时获取设备的状态。接口:DPSDK_SetDPSDKDeviceStatusCallback()初始化设置回调。在登陆平台的时 候会收到设备状态,任何设备状态改变后会再次回调上来。NVR 通道状态比较特殊,因为 NVR 设备在线的时候,通道状态可以是离线的。需要使 用接口:DPSDK_SetDPSDKNVRChnlStatusCallback()2.6.10 设备状态和通道状态1、设备在线状态需要设置回调函数:DPSDK_SetDPSDKDeviceStatusCallback()在

温馨提示

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

评论

0/150

提交评论