具体实施方式
如图1所示,是本发明监控视频播放控件整合系统较佳实施例的架构图。所述监控视频播放控件整合系统10运行于服务器1中。所述服务器1连接于多个管理设备2(图中示出两个作为代表),每个管理设备2管理一个或多个摄像机3(图中示出一个作为代表)。所述摄像机3包括数字摄像机、模拟摄像机等。所述服务器1中还包括数据库20。
所述监控视频播放控件整合系统10用于当用户点击摄像机节点时,加载对应的播放控件,并调用对应的播放方法,在播放页面中将服务器1从对应管理设备2接收到的监控视频实时画面播放给用户查看。
如图2所示,是本发明监控视频播放控件整合系统较佳实施例的功能模块图。
所述监控视频播放控件整合系统10包括设置模块100、上传模块200、生成模块300、判断模块400、加载模块500、调用模块600及播放模块700。
所述设置模块100用于预先设置管理设备2及摄像机3的分类代码、规格代码和编号及管理设备2与摄像机3的对应关系,保存于数据库20中,并将各种播放控件对应的播放方法保存在JS(JavaScript)文件中。
在本实施例中,设置管理设备2及摄像机3的分类代码为字母D+三位数字(000-999),例如:
模拟摄像机:D001,数字摄像机:D002,管理设备:D003。
设置不同厂商提供的不同规格的管理设备2及摄像机3的规格代码为分类代码+四位数字(0000-9999),例如:
厂商A规格a的模拟摄像机:D0010001,厂商B规格b的模拟摄像机:D0010002,厂商C规格c的数字摄像机:D0020001,厂商D规格d的数字摄像机:D0020002,厂商E规格e的管理设备:D0030001。
设置具体每个管理设备2及摄像机3的编号为规格代码+“-”+四位数字(0000-9999),例如:
厂商A规格a的1号模拟摄像机:D0010001-0001,厂商D规格d的2号数字摄像机:D0020002-0002,厂商E规格e的1号管理设备:D0030001-0001。
所述管理设备2与摄像机3的对应关系是指二者的连接关系,例如编号为D0010001-0001摄像机3连接于编号为D0030001-0001的管理设备2。
所述播放方法的播放、停止等函数根据播放控件对应的管理设备2的规格代码命名,例如Play_D0030001、Stop_D0030001等。
所述上传模块200用于保存各播放控件的信息(包括控件ID及存放路径)至数据库20,并将各播放控件上传至所述存放路径的指定目录。在本实施例中,所述控件ID命名规则为OCX+规格代码,所述规格代码为此种播放控件所对应的管理设备2的规格代码。
所述生成模块300用于采用TreeView控件显示摄像机3信息的分级视图,生成各个摄像机节点。在本实施例中,采用C#语言编写TreeView动态创建方法从数据库20中绑定出各个摄像机节点的摄像机3信息。所述摄像机节点的ID即为对应摄像机3的编号,例如编号为D0010001-0001的摄像机3对应的摄像机节点ID为D0010001-0001。
所述判断模块400用于判断用户是否点击摄像机节点。当没有点击时,继续重复判断。
所述加载模块500用于当用户点击摄像机节点时,根据该摄像机节点ID获取对应的控件ID,然后根据该获取的控件ID从数据库20中获取对应播放控件的存放路径,从该路径下加载该播放控件至播放页面。
在本实施例中,当用户点击的摄像机节点ID为D0010001-0001时,对应的摄像机3的编号为D0010001-0001,该摄像机3所连接的管理设备2的编号为D0030001-0001,得到该管理设备2的规格代码为D0030001,则对应的控件ID为OCXD0030001,从而从数据库20中获取该播放控件的存放路径,将其加载至播放页面。
所述调用模块600用于从预先保存的JS文件中调用该播放控件的播放方法。在本实施例中,可以根据播放控件对应的管理设备2的规格代码,找到以该规格代码命名的播放方法函数,然后进行调用。
所述播放模块700用于根据调用的播放方法,控制播放页面中监控视频实时画面的播放。
如图3所示,是本发明监控视频播放控件整合方法较佳实施例的流程图。
步骤S10,所述设置模块100预先设置管理设备2及摄像机3的分类代码、规格代码和编号及管理设备2与摄像机3的对应关系,保存于数据库20中,并将各种播放控件对应的播放方法保存在JS文件中。
在本实施例中,设置管理设备2及摄像机3的分类代码为字母D+三位数字(000-999),例如:
模拟摄像机:D001,数字摄像机:D002,管理设备:D003。
设置不同厂商提供的不同规格的管理设备2及摄像机3的规格代码为分类代码+四位数字(0000-9999),例如:
厂商A规格a的模拟摄像机:D0010001,厂商B规格b的模拟摄像机:D0010002,厂商C规格c的数字摄像机:D0020001,厂商D规格d的数字摄像机:D0020002,厂商E规格e的管理设备:D0030001。
设置具体每个管理设备2及摄像机3的编号为规格代码+“-”+四位数字(0000-9999),例如:
厂商A规格a的1号模拟摄像机:D0010001-0001,厂商D规格d的2号数字摄像机:D0020002-0002,厂商E规格e的1号管理设备:D0030001-0001。
所述管理设备2与摄像机3的对应关系是指二者的连接关系,例如编号为D0010001-0001摄像机3连接于编号为D0030001-0001的管理设备2。
所述播放方法的播放、停止等函数根据播放控件对应的管理设备2的规格代码命名,例如Play_D0030001、Stop_D0030001等。
步骤S12,所述上传模块200保存各播放控件的信息(包括控件ID及存放路径)至数据库20,并将各播放控件上传至所述存放路径的指定目录。在本实施例中,所述控件ID命名规则为OCX+规格代码,所述规格代码为此种播放控件所对应的管理设备2的规格代码。
步骤S14,所述生成模块300采用TreeView控件显示摄像机3信息的分级视图,生成各个摄像机节点。在本实施例中,采用C#语言编写TreeView动态创建方法从数据库20中绑定出各个摄像机节点的摄像机3信息。所述摄像机节点的ID即为对应摄像机3的编号,例如编号为D0010001-0001的摄像机3对应的摄像机节点ID为D0010001-0001。
步骤S16,所述判断模块400判断用户是否点击摄像机节点。若用户点击摄像机节点,则执行步骤S18,若用户未点击摄像机节点,则重复步骤S16。
步骤S18,所述加载模块500根据该摄像机节点ID获取对应的控件ID,然后根据该获取的控件ID从数据库20中获取对应播放控件的存放路径,从该路径下加载该播放控件至播放页面。
在本实施例中,当用户点击的摄像机节点ID为D0010001-0001时,对应的摄像机3的编号为D0010001-0001,该摄像机3所连接的管理设备2的编号为D0030001-0001,得到该管理设备2的规格代码为D0030001,则对应的控件ID为OCXD0030001,从而从数据库20中获取该播放控件的存放路径,将其加载至播放页面。
步骤S20,所述调用模块600从预先保存的JS文件中调用该播放控件的播放方法。在本实施例中,可以根据播放控件对应的管理设备2的规格代码,找到以该规格代码命名的播放方法函数,然后进行调用。
步骤S22,所述播放模块700根据调用的播放方法,控制播放页面中监控视频实时画面的播放。
综上所述,该监控视频播放控件整合方法及系统能够预先设置摄像机、管理设备及播放控件之间的关系,当用户点击摄像机节点时,在播放页面中加载对应的播放控件,并调用对应的播放方法。因此不论用户点击的是哪家厂商的摄像机,都可以在同一个播放页面中直观快捷地查看其提供的监控视频实时画面,实现各厂商监控设备的信息共享,从而更加有效地管控监控现场。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。