CN105491337A - 基于sdk抽象层的网络视频监控设备通用接入方法及装置 - Google Patents
基于sdk抽象层的网络视频监控设备通用接入方法及装置 Download PDFInfo
- Publication number
- CN105491337A CN105491337A CN201510906481.7A CN201510906481A CN105491337A CN 105491337 A CN105491337 A CN 105491337A CN 201510906481 A CN201510906481 A CN 201510906481A CN 105491337 A CN105491337 A CN 105491337A
- Authority
- CN
- China
- Prior art keywords
- sdk
- functions
- abstract
- abstraction
- equipments
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Abstract
本发明涉及一种基于SDK抽象层的网络视频监控设备通用接入方法及装置,其采用抽象工厂设计模式进行设备类抽象与封装,并利用得到的设备抽象类进行设备功能抽象与封装以及解码播放抽象与封装,以得到设备功能SDK以及解码播放SDK,将设备功能SDK封装成统一接口的设备功能SDK插件,并将解码播放SDK封装成统一接口的解码播放SDK插件;从而设备客户端能利用的设备功能SDK插件、解码播放SDK插件对网络视频监控设备进行开发,以在进行所需的开发后实现网络视频监控设备的接入,能够满足网络视频监控设备联网时统一调用SDK的封装与调用,便于网络视频监控设备的联网和SDK二次开发,适应范围广。
Description
技术领域
本发明涉及一种调用接入方法及装置,尤其是一种基于SDK抽象层的网络视频监控设备通用接入方法及装置,属于网络视频监控设备联网应用的技术领域。
背景技术
随着视频监控应用的深入和视频监控的网络化应用,产业链的分工将越来越细。有些厂商专门做摄像头,有些厂商专门做DVS,有些厂商则可能专门做平台等,然后通过集成商进行集成,提供给最终客户。这种产业合作模式,已经迫切的需要行业提供越来越标准化的接口平台。
当前,视频监控标准层出不穷,从公安部的标委会到电信运行商,从城市到不同行业都有各自独立的标准,而实现这些标准既费时又费力,使得设备厂商无所适从。为此,陆续有多家致力于标准化建设工作的组织成立,如ONVIF、PISA和HDcctv等。这些标准化工作包括标准化的控制协议,标准化的流媒体传输协议,统一的编码格式,可靠的存储技术等。但在应用解决方案层,没有统一的SDK(SoftwareDevelopmentKit,软件开发包)开发工具。
网络视频监控设备SDK是基于设备的私有网络通信协议开发的,是软件开发者在开发网络硬盘录像机、网络视频服务器、网络摄像机、网络球机、智能设备等网络视频监控设备监控联网应用时的开发套件,用于远程访问和控制设备软件的二次开发。
在现有的文献中,已有一些视频监控设备联网的方法,大部分方法是从底层的通信协议(如ONVIF、SIP、GB/T28181、私有协议等)出发,未对SDK统一接入和被调用的角度分析理解,现有的通信协议只能用于视频监控设备厂商之间做集成,软件系统开发商并不需要了解底层通信协议,因此软件系统开发商在集成视频监控设备联网二次开发应用时面对的难度会加大,特别是在调用不同厂商的私有SDK协议。
公告号为CN201928306U的文件公开一种视频联网管理系统,包括:至少一个客户端、IP网络及DVR设备,还包括视频联网管理服务器,用于管理员用户添加、修改、删除及DVR设备,对用户进行授权,赋予用户视频浏览、录像回放、云台控制、远程设置权限,所述客户端、DVR设备及视频联网管理服务器通过IP网络通信连接。所述公开文件主要用于视频设备的联网,虽有联网需求,但并未涉及视频设备联网的通信协议。
公告号为CN102905165B的文件公开了一种视频管理平台互联互通的视频联网服务前置机,包括有:视频前置机、配置客户端和视频管理平台:其中视频前置机由模拟视频采集、转换模块、通用消息模块、数字视频接收、转换模块、视频诊断模块、控制协议网关、H.264编码模块和通信控制协议接口模块构成;配置客户端通过视频管理平台实现与视频前置机信息交互,完成对前置机的配置和操作维护。该视频联网服务前置机能够输出支持ONVIF和GB/T28181标准协议,输入支持各种异构系统私有的协议,为异构视频系统的互联互通提供了广泛的媒体资源的支持;同时配置灵活、方便,网络适应性强,视频数据安全可靠。所述公开文件的主要目的是解决异构视频系统的联网,并提供输出支持ONVIF和GB/T28181标准协议,对异构视频的SDK的统一封装和调用并未涉及。
公开号为CN103179387A的文件公开了一种公路数字化视频联网监控管理控制方法,路段分中心与应急中心间的视频互联,应急中心采用支持SIP协议的系统,采用SIP和非SIP两种方式进行信令和数据传输。所述公开文件与公告号为CN102905165B的文件基本类似,主要是基于SIP协议的视频接入,并未涉及在SDK应用层的视频接入。
以上三项文件都涉及视频监控设备的联网。目前,国内外对视频监控设备联网的研究均为视频监控设备在底层传输协议提供了思路,统一的SDK视频监控设备接入和调用的研究还有待进步。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种基于SDK抽象层的网络视频监控设备通用接入方法及装置,其能够满足网络视频监控设备联网时统一调用SDK的封装与调用,便于网络视频监控设备的联网和SDK二次开发,适应范围广,安全可靠。
按照本发明提供的技术方案,一种基于SDK抽象层的网络视频监控设备通用接入方法,所述网络视频监控设备通用接入方法包括如下步骤:
步骤S1、提供待接入的网络视频监控设备以及与所述网络视频监控设备二次开发相适配的监控设备SDK,并对所述监控设备SDK以抽象工厂设计模式进行设备类抽象与封装,以得到与所述监控设备SDK相对应的设备抽象类;
步骤S2、根据上述的设备抽象类获取网络视频监控设备的设备信息以及对应的厂家信息,并根据获取的设备信息以及厂家信息查询SDK库中已存储的SDK,若SDK库中的SDK与获取的设备信息或厂家信息不匹配支持,则将步骤S1中的监控设备SDK加入SDK库中;
步骤S3、对SDK库中匹配支持上述设备信息以及厂家信息的SDK利用上述的设备抽象类进行设备功能抽象与封装以及解码播放抽象与封装,以得到设备功能SDK以及解码播放SDK;
步骤S4、将上述的设备功能SDK封装成统一接口的设备功能SDK插件,并将解码播放SDK封装成统一接口的解码播放SDK插件;
步骤S5、应用解决方案层内的设备客户端利用上述的设备功能SDK插件、解码播放SDK插件对网络视频监控设备进行开发,以在进行所需的开发后实现网络视频监控设备的接入。
所述步骤S2中,将监控设备SDK加入SDK库中后,并将获取的网络视频监控设备的设备信息以及对应的厂家信息以XML标签的形式关联存储在SDK库中。
所述步骤S3中,利用设备抽象类对SDK进行设备功能抽象与封装时,所述设备功能SDK具有的能力包括设备系统配置功能、设备管理配置功能、设备存储配置及控制功能、音视频码流配置及控制功能、IO配置及控制功能、串口配置及控制功能、云台配置及控制功能,事件配置及控制功能、设备搜索功能或用户自定义功能接口。
所述步骤S3中,利用设备抽象类对SDK进行解码播放抽象与封装时,所解码播放SDK具有的能力包括抽象层管理功能、基本解码功能、解码属性配置功能或解码控制功能。
一种基于SDK抽象层的网络视频监控设备通用接入装置,包括SDK抽象层以及与所述SDK抽象层连接的SDK插件层;
所述SDK抽象层接收与待接入网络视频监控设备二次开发相适配的监控设备SDK,并对所述监控设备SDK以抽象工厂设计模式进行设备类抽象与封装,以得到与所述监控设备SDK相对应的设备抽象类;
SDK抽象层根据设备抽象类获取网络视频监控设备的设备信息以及对应的厂家信息,并根据获取的设备信息以及厂家信息查询SDK库中已存储的SDK,若SDK库中的SDK与获取的设备信息或厂家信息不匹配支持,则接收的监控设备SDK加入SDK库中;
SDK抽象层对SDK库中匹配支持上述设备信息以及厂家信息的SDK利用上述的设备抽象类进行设备功能抽象与封装以及解码播放抽象与封装,以得到设备功能SDK以及解码播放SDK;
所述SDK插件层将设备功能SDK封装成统一接口的设备功能SDK插件,并将解码播放SDK封装成统一接口的解码播放SDK插件;
设备客户端利用的设备功能SDK插件、解码播放SDK插件对网络视频监控设备进行开发,以在进行所需的开发后实现网络视频监控设备的接入。
所述SDK抽象层包括设备类别抽象层、SDK属性获取层、设备功能SDK抽象层以及解码播放SDK抽象层;
设备类别抽象层监控设备SDK以抽象工厂设计模式进行设备类抽象与封装,以得到与所述监控设备SDK相对应的设备抽象类;SDK属性获取层根据设备抽象类获取网络视频监控设备的设备信息以及对应的厂家信息,并根据获取的设备信息以及厂家信息查询SDK库中已存储的SDK,若SDK库中的SDK与获取的设备信息或厂家信息不匹配支持,则接收的监控设备SDK加入SDK库中;设备功能SDK抽象层利用设备抽象类对监控设备SDK进行设备功能抽象与封装,以得到设备功能SDK;解码播放SDK抽象层利用设备抽象类对监控设备SDK进行抽象与封装,以得到解码播放SDK。
所述SDK插件层包括设备功能SDK插件层以及解码播放SDK插件层,所述设备功能SDK插件层将设备功能SDK封装成统一接口的设备功能SDK插件,所述解码播放SDK插件层将解码播放SDK封装成统一接口的解码播放SDK插件。
利用设备抽象类对SDK进行设备功能抽象与封装时,所述设备功能SDK具有的能力包括设备系统配置功能、设备管理配置功能、设备存储配置及控制功能、音视频码流配置及控制功能、IO配置及控制功能、串口配置及控制功能、云台配置及控制功能,事件配置及控制功能、设备搜索功能或用户自定义功能接口。
利用设备抽象类对SDK进行解码播放抽象与封装时,所解码播放SDK具有的能力包括抽象层管理功能、基本解码功能、解码属性配置功能或解码控制功能。
将监控设备SDK加入SDK库中后,并将获取的网络视频监控设备的设备信息以及对应的厂家信息以XML标签的形式关联存储在SDK库中。
本发明的优点:对于待接入的网络视频监控设备相适配的监控设备SDK,采用抽象工厂设计模式进行设备类抽象与封装,以得到与所述监控设备SDK相对应的设备抽象类,利用设备抽象类进行设备功能抽象与封装以及解码播放抽象与封装,以得到设备功能SDK以及解码播放SDK,将设备功能SDK封装成统一接口的设备功能SDK插件,并将解码播放SDK封装成统一接口的解码播放SDK插件;从而设备客户端能利用的设备功能SDK插件、解码播放SDK插件对网络视频监控设备进行开发,以在进行所需的开发后实现网络视频监控设备的接入,能够满足网络视频监控设备联网时统一调用SDK的封装与调用,便于网络视频监控设备的联网和SDK二次开发,适应范围广,安全可靠。
附图说明
图1为本发明的使用状态框图。
图2为本发明设备抽象类的静态结构图。
图3为本发明SDK属性获取流程图。
图4为本发明设备功能SDK抽象层的工作示意图。
图5为本发明调用设备功能SDK插件以及解码播放SDK插件的示意图。
图6为本发明调用解码播放SDK插件的示意图。
附图标记说明:1-监控设备层、2-SDK抽象层、3-SDK插件层、4-应解决方案层、5-网络视频监控设备、6-设备类别抽象层、7-SDK属性获取层、8-设备功能SDK抽象层、9-解码播放SDK抽象层、10-设备功能SDK插件层、11-解码播放SDK插件层以及12-设备客户端。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
如图1所示:为了能够满足网络视频监控设备5联网时统一调用SDK的封装与调用,便于网络视频监控设备5的联网和SDK二次开发,本发明的网络视频监控设备通用接入方法包括如下步骤:
步骤S1、提供待接入的网络视频监控设备5以及与所述网络视频监控设备5二次开发相适配的监控设备SDK,并对所述监控设备SDK以抽象工厂设计模式进行设备类抽象与封装,以得到与所述监控设备SDK相对应的设备抽象类;
本发明实施例中,监控设备SDK与待接入的网络视频监控设备5相适配,能实现对网络视频监控设备5的二次开发,一般地,监控设备SDK的抽象层可以分为设备功能SDK抽象层以及解码播放SDK抽象层,监控设备SDK的抽象层采用插件方式接入不同厂家的网络视频监控设备5。一个或多个网络视频监控设备5能形成所需的监控设备层1,网络视频监控设备5的具体类型可以根据需要进行选择,具体为本技术领域人员所熟知,此处不再赘述。
具体实施时,如图2所示,抽象工厂模式解决了一系列相互依赖的对象或者有组合关系的对象的创建过程,为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。具体是,一个设备抽象类,可以派生出多个具体设备工厂类,每个设备功能SDK抽象产品类可以派生出多个具体设备功能SDK抽象产品类,每个解码播放SDK抽象产品类可以派生出多个具体解码播放SDK抽象产品类;每个具体设备工厂类可以创建多个具体设备功能SDK抽象和解码播放SDK产品类的实例。对监控设备SDK采用抽象工厂设计模式进行设备类抽象与封装以及得到相应的设备抽象类的过程为本技术领域人员所熟知,此处不再赘述。
步骤S2、根据上述的设备抽象类获取网络视频监控设备5的设备信息以及对应的厂家信息,并根据获取的设备信息以及厂家信息查询SDK库中已存储的SDK,若SDK库中的SDK与获取的设备信息或厂家信息不匹配支持,则将步骤S1中的监控设备SDK加入SDK库中;
本发明实施例中,根据设备抽象类能获取待接入网络视频监控设备5的设备信息,具体包括获取监控设备SDK开发包版本信息、获取监控设备SDK开发包的最后一次错误值、初始化、销毁开发包、加载、卸载插件、枚举开发包支持的所有插件类型以及枚举插件中支持的所有设备类型。
如图3所示,为获取监控设备SDK属性的流程图,监控设备SDK属性获取类根据获取到的厂家信息和设备信息,查询SDK库中是否存在支持该厂家,如果支持该厂家,是否支持该型号的设备,如果支持则调用相应设备功能SDK和解码播放SDK,,如果不支持该型号的网络视频监控设备5,则要将监控设备SDK加入到SDK库中。进一步地,将监控设备SDK加入SDK库中后,并将获取的网络视频监控设备5的设备信息以及对应的厂家信息以XML标签的形式关联存储在SDK库中,以能增加调用过程的通用性。
步骤S3、对SDK库中匹配支持上述设备信息以及厂家信息的SDK利用上述的设备抽象类进行设备功能抽象与封装以及解码播放抽象与封装,以得到设备功能SDK以及解码播放SDK;
所述设备功能SDK具有的能力包括设备系统配置功能、设备管理配置功能、设备存储配置及控制功能、音视频码流配置及控制功能、IO配置及控制功能、串口配置及控制功能、云台配置及控制功能,事件配置及控制功能、设备搜索功能或用户自定义功能接口。
利用设备抽象类对SDK进行解码播放抽象与封装时,所解码播放SDK具有的能力包括抽象层管理功能、基本解码功能、解码属性配置功能或解码控制功能。
具体实施时,利用设备抽象类对设备功能进行抽象与封装是指抽象网络视频监控设备5的功能,即将不同网络视频监控设备5的功能进行二次抽象,以提供一套统一简洁的SDK接口,实现基本的视频监控功能。具体抽象的功能包括(括号中的发送与接收信息采用XML标签的形式存储):
设备系统配置功能:提供以下主要功能,连接、断开设备(用户名、密码、IP地址;获取、设置设备基本信息,信息包括设备名称、设备ID、设备序列号、MAC地址、FW版本、FWbuild日期、DSP版本、DSPbuild日期、硬件版本、语言、区域、设备描述等);获取设备状态信息(CPU、内存、设备当前时间、设备开机时间、温度、压力等信息等);获取设备的支持能力(硬件支持能力和软件支持能力,硬件支持能力包括IOin\out个数、232\485个数、网口个数、USB个数等,软件支持能力包括WIFI、智能、存储等)。
设备管理配置功能:提供以下主要功能,重启设备;升级设备;关闭设备;恢复出厂默认值;获取、设置设备时间(当前时间、时区、夏时制、SNTP等);获取、设置网络配置(网络地址、WIFI等配置);设备日志信息(字符串)获取等。
设备存储配置和控制功能:提供以下主要功能,获取存储介质状态(硬盘信息:名称、描述、类型、容量等);格式化设备存储介质;获取、设置录像配置(是否录像、录像计划等信息);远程启动、停止设备录像;获取录像状态(每个通道的录像状态);锁定、解锁录像文件;启动查找、获取、停止查找录像文件;启动、停止按文件、按时间取流;暂停、恢复取流。
音视频码流配置及控制功能:提供以下主要功能,音、视频Input\Output配置(语音输入控制、视频输出字符、图像叠加等);获取、设置流配置;网传协议配置(传输协议、RTSPport、多播地址设置、包大小、码流类型(主子码流)等);音、视频编码、压缩参数配置;获取设备取流状态(每个通道几路取流,每个客户端的IP、用户名等信息);启动、停止设备取流(码流数据回调);强制关键帧;获取、配置视频参数(亮度、对比度、饱和度、色度等);远程JPEG抓图;启动、停止语音转发、发送语音数据等。
IO配置及控制功能:提供以下主要功能,IO输入输出配置、获取(名称、常开常闭状态等);获取IO报警输入、输出口状态,配置IO报警输出口状态等。
串口配置及控制功能:提供以下主要功能,获取、配置串口信息(232\485,波特率、数据位、停止位、校验、流控等);启动、停止串口透明传输;发送透明传输数据等。
云台(PTZ)配置及控制功能:提供以下主要功能,获取、设置PTZ信息(解码器类型、解码器地址、最大速度、默认预置点等);PTZ控制(上、下、左、右、左上、右上、左下、右下带速度控制);预置点(添加、删除、GOTO);巡航(添加、删除、启动、停止);轨迹(启动和停止)等。
事件配置及控制功能:提供以下主要功能,移动帧测(区域、灵敏度等);遮挡(区域);设置、获取事件配置(事件类型(信号量、移动帧测、遮挡、信号丢失)、布防时间、事件处理方式)等。
设备搜索功能:提供以下主要功能,启动、停止刷新搜索服务,搜索到的设备信息以函数回调方式给应用层,信息包括设备IP地址、设备域名等。
用户自定义功能接口:提供以下主要功能,发送、接收用户自定义数据等。
利用设备抽象类对监控设备SDK进行解码播放抽象与封装具体是指抽象解码播放的基本功能,即将不同网络视频监控设备5厂家提供的解码播放软件进行二次抽象,以提供一套实现解码播放功能的SDK接口。具体抽象的解码播放功能包括:
抽象层管理功能:提供以下主要功能,初始化、销毁解码抽象层模块;解码库插件检测、加载和管理;输出最近一次错误值、格式化错误信息文本;输出当前加载的解码库插件信息;输出当前解码抽象层版本信息等。
基本解码功能:提供以下主要功能,解码通道索引管理;码流识别;建立、关闭实时流解码通道;建立、关闭文件流解码通道;开始、停止解码;推送数据;解码后的数据帧回调等。
解码属性配置功能:提供以下主要功能,流畅性设置;OVERLAY显示设置;打开码流类型设置;其他解码属性设置等。
解码控制功能:提供以下主要功能,暂停、恢复;单帧、恢复;快进、慢进;进度设置、获取;音量设置、获取;抓图;播放帧数、总帧数获取;播放时间、总时间获取;播放剩余字节数获取等。
本发明实施例中,利用设备抽象类进行设备功能抽象与封装以及解码播放抽象与封装,得到设备功能SDK以及解码播放SDK的过程为本技术领域人员所熟知;同时,上述抽象的设备功能以及解码播放功能均为监控设备SDK具备能力,抽象设备功能以及抽象解码播放功能的过程也为本技术领域人员所熟知,此处不再赘述。
步骤S4、将上述的设备功能SDK封装成统一接口的设备功能SDK插件,并将解码播放SDK封装成统一接口的解码播放SDK插件;
本发明实施例中,将设备功能SDK封装成统一接口的设备功能SDK插件的目的是能够将不同网络视频监控设备5的设备功能SDK封装成统一接口的设备功能SDK,以便后续的调用。每个设备功能SDK插件具有不同的识别字符串,设备功能SDK插件的接口可以根据需要进行选择确定,具体的接口类型为本技术领域人员所熟知,此处不再赘述。
同理,将解码播放SDK封装成统一接口的解码播放SDK插件的目的能够将不同网络视频监控设备5的解码播放SDK封装成统一接口的解码播放SDK,以便后续的调用。每个解码播放SDK插件具有不同的识别字符串,解码播放SDK插件的接口可以根据需要进行选择确定,具体的接口类型为本技术领域人员所熟知,此处不再赘述。
步骤S5、应用解决方案层4内的设备客户端12利用上述的设备功能SDK插件、解码播放SDK插件对网络视频监控设备5进行开发,以在进行所需的开发后实现网络视频监控设备5的接入。
如图4所示,给出了设备功能SDK插件的调用顺序,设备客户端12在调用设备功能SDK插件时先发出控制请求,设备功能SDK插件收到请求后,调用对应监控设备SDK,再收到调用请求后返回操作结果并且进行控制操作相应。
如图5所示,为设备客户端12调用设备功能SDK插件、解码播放SDK插件的示意图,其中虚线框的流程是可选部分,不会影响其他流程以及相应功能使用。按实现功能的不同可以分成十三个模块,实现每个模块的功能时初始化SDK、用户注册设备、注销设备和释放SDK资源等4个流程是必不可少的。初始化SDK,对整个网络SDK系统的初始化,内存预分配等操作;注册用户到设备,实现用户的注册功能,注册成功后,返回的登陆ID作为其他功能操作的唯一标识;注销设备和释放SDK资源是在完成功能调用或功能调用失败后完成内存分配分配资源回收。
设置异常回调,用来得到设备当前报警和事件信息,用户可以在初始化SDK后就设置该回调函数,SDK中大部分模块的功能都是由异步模式实现,此接口用于接收调用功能模块时发生的异常信息,在应用层对各个模块异常消息的接收和处理;设置网络环境,这部分为可选,用于设置登陆网络环境,如果不调用此接口设置,将采用SDK中的默认值;设置连接超时时间,这部分为可选,用于设置SDK中的网络连接超时时间,如果不调用此接口设置超时时间,将采用SDK中的默认值。
图6示出了解码播放SDK插件的调用流程,在完成初始化SDK和注册设备两步骤后,直接调用启动预览实现预览功能,开启预览后,可对监控设备进行实时流数据捕获和录像、语音控制、云台控制、手动抓图等功能,在退出预览时,需完成停止预览,注销设备和释放SDK资源等操作。
如图1所示,为了能实现上述过程,本发明基于SDK抽象层的网络视频监控设备通用接入装置,包括SDK抽象层2以及与所述SDK抽象层2连接的SDK插件层3;
所述SDK抽象层2接收与待接入网络视频监控设备5二次开发相适配的监控设备SDK,并对所述监控设备SDK以抽象工厂设计模式进行设备类抽象与封装,以得到与所述监控设备SDK相对应的设备抽象类;
SDK抽象层2根据设备抽象类获取网络视频监控设备5的设备信息以及对应的厂家信息,并根据获取的设备信息以及厂家信息查询SDK库中已存储的SDK,若SDK库中的SDK与获取的设备信息或厂家信息不匹配支持,则接收的监控设备SDK加入SDK库中;
SDK抽象层2对SDK库中匹配支持上述设备信息以及厂家信息的SDK利用上述的设备抽象类进行设备功能抽象与封装以及解码播放抽象与封装,以得到设备功能SDK以及解码播放SDK;
所述SDK插件层3将设备功能SDK封装成统一接口的设备功能SDK插件,并将解码播放SDK封装成统一接口的解码播放SDK插件;
设备客户端12利用的设备功能SDK插件、解码播放SDK插件对网络视频监控设备5进行开发,以在进行所需的开发后实现网络视频监控设备5的接入。
具体地,所述SDK抽象层2包括设备类别抽象层6、SDK属性获取层7、设备功能SDK抽象层8以及解码播放SDK抽象层9;
设备类别抽象层6监控设备SDK以抽象工厂设计模式进行设备类抽象与封装,以得到与所述监控设备SDK相对应的设备抽象类;SDK属性获取层7根据设备抽象类获取网络视频监控设备5的设备信息以及对应的厂家信息,并根据获取的设备信息以及厂家信息查询SDK库中已存储的SDK,若SDK库中的SDK与获取的设备信息或厂家信息不匹配支持,则接收的监控设备SDK加入SDK库中;设备功能SDK抽象层8利用设备抽象类对监控设备SDK进行设备功能抽象与封装,以得到设备功能SDK;解码播放SDK抽象层9利用设备抽象类对监控设备SDK进行抽象与封装,以得到解码播放SDK。
所述SDK插件层3包括设备功能SDK插件层10以及解码播放SDK插件层11,所述设备功能SDK插件层10将设备功能SDK封装成统一接口的设备功能SDK插件,所述解码播放SDK插件层11将解码播放SDK封装成统一接口的解码播放SDK插件。
本发明对于待接入的网络视频监控设备5相适配的监控设备SDK,采用抽象工厂设计模式进行设备类抽象与封装,以得到与所述监控设备SDK相对应的设备抽象类,利用设备抽象类进行设备功能抽象与封装以及解码播放抽象与封装,以得到设备功能SDK以及解码播放SDK,将设备功能SDK封装成统一接口的设备功能SDK插件,并将解码播放SDK封装成统一接口的解码播放SDK插件;从而设备客户端12能利用的设备功能SDK插件、解码播放SDK插件对网络视频监控设备5进行开发,以在进行所需的开发后实现网络视频监控设备5的接入,能够满足网络视频监控设备联网时统一调用SDK的封装与调用,便于网络视频监控设备的联网和SDK二次开发,适应范围广,安全可靠。
Claims (10)
1.一种基于SDK抽象层的网络视频监控设备通用接入方法,其特征是,所述网络视频监控设备通用接入方法包括如下步骤:
步骤S1、提供待接入的网络视频监控设备(5)以及与所述网络视频监控设备(5)二次开发相适配的监控设备SDK,并对所述监控设备SDK以抽象工厂设计模式进行设备类抽象与封装,以得到与所述监控设备SDK相对应的设备抽象类;
步骤S2、根据上述的设备抽象类获取网络视频监控设备(5)的设备信息以及对应的厂家信息,并根据获取的设备信息以及厂家信息查询SDK库中已存储的SDK,若SDK库中的SDK与获取的设备信息或厂家信息不匹配支持,则将步骤S1中的监控设备SDK加入SDK库中;
步骤S3、对SDK库中匹配支持上述设备信息以及厂家信息的SDK利用上述的设备抽象类进行设备功能抽象与封装以及解码播放抽象与封装,以得到设备功能SDK以及解码播放SDK;
步骤S4、将上述的设备功能SDK封装成统一接口的设备功能SDK插件,并将解码播放SDK封装成统一接口的解码播放SDK插件;
步骤S5、应用解决方案层(4)内的设备客户端(12)利用上述的设备功能SDK插件、解码播放SDK插件对网络视频监控设备(5)进行开发,以在进行所需的开发后实现网络视频监控设备(5)的接入。
2.根据权利要求1所述的基于SDK抽象层的网络视频监控设备通用接入方法,其特征是:所述步骤S2中,将监控设备SDK加入SDK库中后,并将获取的网络视频监控设备(5)的设备信息以及对应的厂家信息以XML标签的形式关联存储在SDK库中。
3.根据权利要求1所述的基于SDK抽象层的网络视频监控设备通用接入方法,其特征是:所述步骤S3中,利用设备抽象类对SDK进行设备功能抽象与封装时,所述设备功能SDK具有的能力包括设备系统配置功能、设备管理配置功能、设备存储配置及控制功能、音视频码流配置及控制功能、IO配置及控制功能、串口配置及控制功能、云台配置及控制功能,事件配置及控制功能、设备搜索功能或用户自定义功能接口。
4.根据权利要求1所述的基于SDK抽象层的网络视频监控设备通用接入方法,其特征是:所述步骤S3中,利用设备抽象类对SDK进行解码播放抽象与封装时,所解码播放SDK具有的能力包括抽象层管理功能、基本解码功能、解码属性配置功能或解码控制功能。
5.一种基于SDK抽象层的网络视频监控设备通用接入装置,其特征是:包括SDK抽象层(2)以及与所述SDK抽象层(2)连接的SDK插件层(3);
所述SDK抽象层(2)接收与待接入网络视频监控设备(5)二次开发相适配的监控设备SDK,并对所述监控设备SDK以抽象工厂设计模式进行设备类抽象与封装,以得到与所述监控设备SDK相对应的设备抽象类;
SDK抽象层(2)根据设备抽象类获取网络视频监控设备(5)的设备信息以及对应的厂家信息,并根据获取的设备信息以及厂家信息查询SDK库中已存储的SDK,若SDK库中的SDK与获取的设备信息或厂家信息不匹配支持,则接收的监控设备SDK加入SDK库中;
SDK抽象层(2)对SDK库中匹配支持上述设备信息以及厂家信息的SDK利用上述的设备抽象类进行设备功能抽象与封装以及解码播放抽象与封装,以得到设备功能SDK以及解码播放SDK;
所述SDK插件层(3)将设备功能SDK封装成统一接口的设备功能SDK插件,并将解码播放SDK封装成统一接口的解码播放SDK插件;
设备客户端(12)利用的设备功能SDK插件、解码播放SDK插件对网络视频监控设备(5)进行开发,以在进行所需的开发后实现网络视频监控设备(5)的接入。
6.根据权利要求5所述基于SDK抽象层的网络视频监控设备通用接入装置,其特征是:所述SDK抽象层(2)包括设备类别抽象层(6)、SDK属性获取层(7)、设备功能SDK抽象层(8)以及解码播放SDK抽象层(9);
设备类别抽象层(6)监控设备SDK以抽象工厂设计模式进行设备类抽象与封装,以得到与所述监控设备SDK相对应的设备抽象类;SDK属性获取层(7)根据设备抽象类获取网络视频监控设备(5)的设备信息以及对应的厂家信息,并根据获取的设备信息以及厂家信息查询SDK库中已存储的SDK,若SDK库中的SDK与获取的设备信息或厂家信息不匹配支持,则接收的监控设备SDK加入SDK库中;设备功能SDK抽象层(8)利用设备抽象类对监控设备SDK进行设备功能抽象与封装,以得到设备功能SDK;解码播放SDK抽象层(9)利用设备抽象类对监控设备SDK进行抽象与封装,以得到解码播放SDK。
7.根据权利要求5所述基于SDK抽象层的网络视频监控设备通用接入装置,其特征是:所述SDK插件层(3)包括设备功能SDK插件层(10)以及解码播放SDK插件层(11),所述设备功能SDK插件层(10)将设备功能SDK封装成统一接口的设备功能SDK插件,所述解码播放SDK插件层(11)将解码播放SDK封装成统一接口的解码播放SDK插件。
8.根据权利要求5所述基于SDK抽象层的网络视频监控设备通用接入装置,其特征是:利用设备抽象类对SDK进行设备功能抽象与封装时,所述设备功能SDK具有的能力包括设备系统配置功能、设备管理配置功能、设备存储配置及控制功能、音视频码流配置及控制功能、IO配置及控制功能、串口配置及控制功能、云台配置及控制功能,事件配置及控制功能、设备搜索功能或用户自定义功能接口。
9.根据权利要求5所述基于SDK抽象层的网络视频监控设备通用接入装置,其特征是:利用设备抽象类对SDK进行解码播放抽象与封装时,所解码播放SDK具有的能力包括抽象层管理功能、基本解码功能、解码属性配置功能或解码控制功能。
10.根据权利要求5所述基于SDK抽象层的网络视频监控设备通用接入装置,其特征是:将监控设备SDK加入SDK库中后,并将获取的网络视频监控设备(5)的设备信息以及对应的厂家信息以XML标签的形式关联存储在SDK库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510906481.7A CN105491337B (zh) | 2015-12-10 | 2015-12-10 | 基于sdk抽象层的网络视频监控设备通用接入方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510906481.7A CN105491337B (zh) | 2015-12-10 | 2015-12-10 | 基于sdk抽象层的网络视频监控设备通用接入方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105491337A true CN105491337A (zh) | 2016-04-13 |
CN105491337B CN105491337B (zh) | 2019-03-08 |
Family
ID=55678014
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510906481.7A Active CN105491337B (zh) | 2015-12-10 | 2015-12-10 | 基于sdk抽象层的网络视频监控设备通用接入方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105491337B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222716A (zh) * | 2017-06-16 | 2017-09-29 | 广州高清视信数码科技股份有限公司 | 远程监控方法与装置 |
CN107800694A (zh) * | 2017-10-16 | 2018-03-13 | 浙江大华技术股份有限公司 | 一种前端设备接入方法、装置、服务器及存储介质 |
CN109743691A (zh) * | 2018-12-20 | 2019-05-10 | 杭州当虹科技股份有限公司 | 一种基于onvif协议多设备搜索接入优化方法 |
CN110022307A (zh) * | 2019-03-08 | 2019-07-16 | 视联动力信息技术股份有限公司 | 一种监控设备的控制方法和监控接入服务器 |
CN111142978A (zh) * | 2019-12-27 | 2020-05-12 | 杭州涂鸦信息技术有限公司 | 一种基于智能语音设备上打电话的方法及系统 |
CN111294556A (zh) * | 2020-02-07 | 2020-06-16 | 山东浪潮通软信息科技有限公司 | 一种基于gb/t28181的视频前端处理方法 |
CN111541875A (zh) * | 2020-05-14 | 2020-08-14 | 深圳市康拓普信息技术有限公司 | 一种电力视频监控视联网平台 |
CN111611025A (zh) * | 2020-05-20 | 2020-09-01 | 浩云科技股份有限公司 | 设备接入方法和装置 |
CN112235536A (zh) * | 2020-09-24 | 2021-01-15 | 苏州科达科技股份有限公司 | 目标显示的方法、系统、设备及可读存储介质 |
CN112714161A (zh) * | 2020-12-22 | 2021-04-27 | 北京金山云网络技术有限公司 | 视频接入方法、装置及视频接入系统 |
CN112764995A (zh) * | 2021-01-26 | 2021-05-07 | 山东云海国创云计算装备产业创新中心有限公司 | 一种服务器硬件资源监控方法、装置和介质 |
CN114900719A (zh) * | 2022-04-29 | 2022-08-12 | 广东博思信息技术股份有限公司 | 一种基于html5播放监控设备实时视频的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272481A (zh) * | 2008-04-02 | 2008-09-24 | 武汉大学 | 一种视频监控前端设备接入方法 |
CN104660997A (zh) * | 2015-02-12 | 2015-05-27 | 江苏物联网研究发展中心 | 面向服务的多源异构视频监控适配方法和系统 |
KR20150102536A (ko) * | 2014-02-28 | 2015-09-07 | 주식회사 월드멀티넷 | 융복합 솔루션을 통한 보안 시스템 |
-
2015
- 2015-12-10 CN CN201510906481.7A patent/CN105491337B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272481A (zh) * | 2008-04-02 | 2008-09-24 | 武汉大学 | 一种视频监控前端设备接入方法 |
KR20150102536A (ko) * | 2014-02-28 | 2015-09-07 | 주식회사 월드멀티넷 | 융복합 솔루션을 통한 보안 시스템 |
CN104660997A (zh) * | 2015-02-12 | 2015-05-27 | 江苏物联网研究发展中心 | 面向服务的多源异构视频监控适配方法和系统 |
Non-Patent Citations (1)
Title |
---|
陈俊良等: "基于海康威视SDK的视频监控软件的开发", 《工业控制计算机》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107222716A (zh) * | 2017-06-16 | 2017-09-29 | 广州高清视信数码科技股份有限公司 | 远程监控方法与装置 |
CN107800694A (zh) * | 2017-10-16 | 2018-03-13 | 浙江大华技术股份有限公司 | 一种前端设备接入方法、装置、服务器及存储介质 |
CN109743691B (zh) * | 2018-12-20 | 2021-04-06 | 杭州当虹科技股份有限公司 | 一种基于onvif协议多设备搜索接入优化方法 |
CN109743691A (zh) * | 2018-12-20 | 2019-05-10 | 杭州当虹科技股份有限公司 | 一种基于onvif协议多设备搜索接入优化方法 |
CN110022307A (zh) * | 2019-03-08 | 2019-07-16 | 视联动力信息技术股份有限公司 | 一种监控设备的控制方法和监控接入服务器 |
CN110022307B (zh) * | 2019-03-08 | 2021-09-10 | 视联动力信息技术股份有限公司 | 一种监控设备的控制方法和监控接入服务器 |
CN111142978A (zh) * | 2019-12-27 | 2020-05-12 | 杭州涂鸦信息技术有限公司 | 一种基于智能语音设备上打电话的方法及系统 |
CN111142978B (zh) * | 2019-12-27 | 2024-01-30 | 杭州涂鸦信息技术有限公司 | 一种基于智能语音设备上打电话的方法及系统 |
CN111294556A (zh) * | 2020-02-07 | 2020-06-16 | 山东浪潮通软信息科技有限公司 | 一种基于gb/t28181的视频前端处理方法 |
CN111541875A (zh) * | 2020-05-14 | 2020-08-14 | 深圳市康拓普信息技术有限公司 | 一种电力视频监控视联网平台 |
CN111541875B (zh) * | 2020-05-14 | 2021-10-15 | 南方电网深圳数字电网研究院有限公司 | 一种电力视频监控视联网平台 |
CN111611025A (zh) * | 2020-05-20 | 2020-09-01 | 浩云科技股份有限公司 | 设备接入方法和装置 |
CN112235536A (zh) * | 2020-09-24 | 2021-01-15 | 苏州科达科技股份有限公司 | 目标显示的方法、系统、设备及可读存储介质 |
CN112714161A (zh) * | 2020-12-22 | 2021-04-27 | 北京金山云网络技术有限公司 | 视频接入方法、装置及视频接入系统 |
CN112764995A (zh) * | 2021-01-26 | 2021-05-07 | 山东云海国创云计算装备产业创新中心有限公司 | 一种服务器硬件资源监控方法、装置和介质 |
CN112764995B (zh) * | 2021-01-26 | 2023-04-07 | 山东云海国创云计算装备产业创新中心有限公司 | 一种服务器硬件资源监控方法、装置和介质 |
CN114900719A (zh) * | 2022-04-29 | 2022-08-12 | 广东博思信息技术股份有限公司 | 一种基于html5播放监控设备实时视频的方法及系统 |
CN114900719B (zh) * | 2022-04-29 | 2024-01-30 | 广东博思信息技术股份有限公司 | 一种基于html5播放监控设备实时视频的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105491337B (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105491337A (zh) | 基于sdk抽象层的网络视频监控设备通用接入方法及装置 | |
CN101753963B (zh) | 视频监控系统的权限控制方法和系统 | |
CN101778264B (zh) | 视频监控方法和系统 | |
US20150215337A1 (en) | Anti-takeover systems and methods for network attached peripherals | |
CN103312715A (zh) | 一种面向Web 服务的家庭网络系统架构 | |
CN103517034A (zh) | 基于sip协议的多级平台的网络视频监控系统及其方法 | |
CN104461635B (zh) | 一种系统文件的安装方法和设备 | |
CN110855680B (zh) | 一种物联网设备对接方法及装置 | |
CN113014885B (zh) | 一种铁路视频资源互联汇聚系统及方法 | |
CN107222326A (zh) | 用于设备间服务的访问方法、配置方法及装置 | |
CN108173803A (zh) | 一种通过视联网访问互联网的方法及视联猫服务端 | |
CN102333207A (zh) | 一种电力系统的协议转换控制系统和协议转换方法 | |
CN107959602B (zh) | 一种入网方法和装置 | |
CN103096038B (zh) | 多协议视频监控设备接入的融合视频监控系统的监控方法 | |
CN109788247A (zh) | 一种监控指令识别的方法和装置 | |
CN111147789B (zh) | 一种音视频流录制的方法、装置、设备以及存储介质 | |
CN101945086A (zh) | 视频型安防网关接入安防系统业务平台及信息传送方法 | |
CN109151519B (zh) | 一种基于视联网的配置分发方法和系统 | |
CN111556346A (zh) | 远程控制视联网终端的方法、装置及计算机可读存储介质 | |
CN110839142B (zh) | 监控目录的共享方法和装置 | |
CN104144162A (zh) | 一种智能语音联动喊话实现方法及系统 | |
CN114885012B (zh) | 物联网平台的系统接入方法及系统 | |
CN108965219B (zh) | 一种基于视联网的数据处理方法及装置 | |
CN101916199B (zh) | 一种在数字法庭系统中一键开庭的控制方法 | |
CN109756488A (zh) | 一种数据流获取方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |