一种信号源的接入方法和系统的制作方法

文档序号:7853051阅读:244来源:国知局
专利名称:一种信号源的接入方法和系统的制作方法
技术领域
本发明涉及通信技术领域,特别涉及ー种信号源的接入方法和系统。
背景技术
在互联网协议(Internet Protocol,IP)信号源种类很多,它是为网络其它设备提供信号的装置,例如IP摄像头,网络视频服务器(Digital Video Server, DVS)、硬盘录像机(Digital Video Recorder, DVR)、各种监控平台、编解码器等。信号源的接入一般都包含以下几个阶段连接信号源,获取信号源的数据(例如视频数据),对视频数据进行解码,然后显示。 要接入IP信号源,目前面临着信号源生产厂家众多、生产厂家所提供的二次开发包质量良莠不齐等问题。二次开发包是指商业软件为了便于用户的二次开发,而提供的开发包,一般为库程序,例如软件开发工具包(Software Development Kit Windows, SDK)。这些问题会进一歩造成信号源接入的不稳定导致信号接收设备不稳定甚至崩溃。怎样提供一个稳定可靠的快速接入第三方信号源的方案成为ー个迫切需要解决的问题。

发明内容
本发明实施例提供了ー种信号源的接入方法和系统,用于实现稳定地接入第三方信号源。ー种信号源的接入方法,包括预览管理服务程序为解码插件服务程序的解码插件注册,并为连接插件服务程序的连接插件注册·;预览管理服务程序接收到客户端发送的启动信号预览的指令后,将连接插件參数发送给解码插件服务程序;预览管理服务程序接收解码插件服务程序依据所述连接插件參数返回的接收目标数据的地址和端口号;预览管理服务程序根据连接插件类型,选择连接插件;预览管理服务程序将信号源參数发送给连接插件服务程序,使连接插件服务程序依据所述信号源參数连接信号源,并接收信号源返回的源数据。可选地,所述方法,还包括连接插件服务程序向解码插件服务程序中与所述源数据的类型对应的解码插件发送所述源数据;解码插件服务程序调用与所述源数据的类型对应的解码插件对源数据解码,并将解码后的目标数据发送给预览客户端。优选地,所述预览管理服务程序为解码插件服务程序的解码插件注册包括预览管理服务程序接收并存储解码插件服务程序发送的解码插件的类型、互联网协议IP地址以及端ロ号;预览管理服务程序为连接插件服务程序的连接插件注册包括预览管理服务程序接收并存储连接插件服务程序发送的连接插件的类型、IP地址以及端口号;所述启动信号预览的指令携帯有信号源的连接插件类型、解码插件类型,IP地址以及端口号;所述将连接插件參数发送给解码插件服务程序包括将连接插件的类型、IP地址以及端口号发送给解码插件服务程序;所述预览管理服务程序将信号源參数发送给连接插件服务程序包括预览管理服务程序将信号源的IP地址以及端口号发送给连接插件服务程序。 可选地,所述信号源參数包括信号源的软件开发工具包SDK、协议类型、硬件板卡类型中的任意ー项;所述连接插件服务程序依据所述信号源參数连接信号源包括所述连接插件服务程序调用所述SDK连接信号源,或者,所述连接插件服务程序依据所述协议类型连接信号源,或者,所述连接插件服务程序调用所述硬件板卡类型对应的SDK连接信号源。可选地,所述将解码后的目标数据发送给预览客户端包括通过内存映射将解码后的目标数据发送给预览客户端;或者通过套接字Socket将解码后的目标数据发送给预览客户端。可选地,所述预览管理服务程序根据连接插件类型,选择连接插件包括预览管理服务程序选择负载最轻的连接插件,并将所选择的连接插件负载增加设定值。ー种信号源的接入系统,包括预览管理服务单元,用于为解码插件服务单元的解码插件注册,并为连接插件服务单元的连接插件注册;接收到客户端发送的启动信号预览的指令后,将连接插件參数发送给解码插件服务单元;接收解码插件服务单元依据所述连接插件參数返回的接收目标数据的地址和端口号;根据连接插件类型,选择连接插件;将信号源參数发送给连接插件服务单元,使连接插件服务单元依据所述信号源參数连接信号源,并接收信号源返回的源数据;解码插件服务单元,用于接收预览管理服务单元发送的连接插件參数;依据接收到的连接插件參数向预览管理服务单元返回的接收目标数据的地址和端ロ号;接插件服务单元,用于接收预览管理服务单元发送的信号源參数,并依据所述信号源參数连接信号源,并接收信号源返回的源数据。可选地,所述连接插件服务单元,还用于向解码插件服务单元中与所述源数据的类型对应的解码插件发送所述源数据;所述解码插件服务单元,还用于调用与所述源数据的类型对应的解码插件对源数据解码,并将解码后的目标数据发送给预览客户端。可选地,所述信号源參数包括信号源的SDK、协议类型、硬件板卡类型中的任意ー项;所述接插件服务单元,具体用于依据所述信号源參数连接信号源包括调用所述SDK连接信号源,或者,依据所述协议类型连接信号源,或者,调用所述硬件板卡类型对应的SDK连接信号源。可选地,所述解码插件服务单元,具体用于将解码后的目标数据发送给预览客户端包括用于通过内存映射将解码后的目标数据发送给预览客户端;或者通过套接字Socket将解码后的目标数据发送给预览客户端。从以上技术方案可以看出,本发明实施例具有以下优点通过使用插件,有效地隔离了系统的稳定和不稳定部分,使得第三方厂家提供的不稳定的SDK,其影响只是导致该厂家的摄像头无法接入,而不会影响其他任何已经稳定接入的厂家的信号源的接入。各个模块的逻辑简单,效率高,系统稳定;能够快速接入任意ー种第三方摄像头,无论是提供SDK还是不提供二次开发SDK。从而实现了稳定地接入第三方信号源。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例方法流程示意图;图2为本发明实施例系统结构示意图;图3为本发明实施例系统组成结构示意图;图4为本发明实施例另一系统组成结构示意图;图5为本发明实施例另一方法流程示意图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。在实现本发明实施例的过程中,发明人综合分析了当前信号源的类型并进行归纳如下接入信号源具有通用的过程,可以进行固化,该过程即连接信号源,获取视频数据,对视频数据进行解码,然后显示。接入信号源的另一部分会经常变化,对于经常变化的部分有连接信号源所需提供的參数、连接信号源的软件开发工具包(Software Development Kit Windows, SDK)、协议以及硬件板卡、所获取的视频数据的编码格式等。基于上述分析归纳结果,本发明实施例提出了采用插件化设计,对于规定不变的处理流程,在插件宿主程序中实现,而在插件中实现经常变化的部分。为了能保证系统的稳定可靠,则必须将不稳定因素限定在最小的范围内即哪个厂家的SDK不稳定,则只能影响该厂家的信号源接入,而不能让其他的厂家的信号源工作不正常。基于以上思想,本发明实施例提供了ー种信号源的接入方法,如图I所示,包括101 :预览管理服务程序为解码插件服务程序的解码插件注册,并为连接插件服务程序的连接插件注册;可选地,上述预览管理服务程序为解码插件服务程序的解码插件注册包括预览管理服务程序接收并存储解码插件服务程序发送的解码插件的类型、互联网协议IP地址以及端口号;可选地,预览管理服务程序为连接插件服务程序的连接插件注册包括预览管理服务程序接收并存储连接插件服务程序发送的连接插件的类型、IP地址以及端口号;需要说明的是上述IP地址以及端口号以外还可以有其他參数,本发明实施例对此不予限定。关于注册如何实现以及在程序中的功能结构划分,在后续实施例中将会给出进ー步的说明。102:预览管理服务程序接收到客户端发送的启动信号预览的指令后,将连接插件參数发送给解码插件服务程序;
上述启动信号预览的指令携帯有信号源的连接插件类型、解码插件类型,IP地址以及端口号;上述将连接插件參数发送给解码插件服务程序包括将连接插件的类型、IP地址以及端口号发送给解码插件服务程序;103:预览管理服务程序接收解码插件服务程序依据上述连接插件參数返回的接收目标数据的地址和端口号;104 :预览管理服务程序根据连接插件类型,选择连接插件;可选地,上述预览管理服务程序根据连接插件类型,选择连接插件包括预览管理服务程序选择负载最轻的连接插件,并将所选择的连接插件负载增加设定值。需要说明的是,连接插件的选择规则可以有很多种,具体采用何种规则并不影响本发明实施例的实现,以上关于依据负载轻重来选择的举例不应理解为对本发明实施例的唯一限定。105 :预览管理服务程序将信号源參数发送给连接插件服务程序,使连接插件服务程序依据上述信号源參数连接信号源,并接收信号源返回的源数据。采用以上实施例,采用插件化设计,对于规定不变的处理流程,在插件宿主程序中实现,而在插件中实现经常变化的部分。为了能保证系统的稳定可靠,则必须将不稳定因素限定在最小的范围内即哪个厂家的SDK不稳定,则只能影响该厂家的信号源接入,而不能让其他的厂家的信号源工作不正常。通过使用插件,有效地隔离了系统的稳定和不稳定部分,使得第三方厂家提供的不稳定的SDK,其影响只是导致该厂家的摄像头无法接入,而不会影响其他任何已经稳定接入的厂家的信号源的接入。各个模块的逻辑简单,效率高,系统稳定;能够快速接入任意ー种第三方摄像头,无论是提供SDK还是不提供二次开发SDK。从而实现了稳定地接入第三方信号源。可选地,上述预览管理服务程序将信号源參数发送给连接插件服务程序包括预览管理服务程序将信号源的IP地址以及端口号发送给连接插件服务程序。可选地,上述信号源參数包括信号源的SDK、协议类型、硬件板卡类型中的任意ー项;上述连接插件服务程序依据上述信号源參数连接信号源包括上述连接插件服务程序调用上述SDK连接信号源,或者,上述连接插件服务程序依据上述协议类型连接信号源,或者,上述连接插件服务程序调用上述硬件板卡类型对应的SDK连接信号源。需要说明的是,信号源的类型可能有很多种,因此对应地信号源參数也可能有很多种,以上举例不应理解为对本发明实施例的限定。
以上方法已经实现了信号源的接入过程,本发明实施例还进一歩提供了解码方法的方案,上述方法还包括连接插件服务程序向解码插件服务程序中与上述源数据的类型对应的解码插件发送上述源数据;解码插件服务程序调用与上述源数据的类型对应的解码插件对源数据解码,并将解码后的目标数据发送给预览客户端。由于各程序所在的设备可能并不相同也可能位于同一设备上,基于此,本发明实施例提供了发送目标数据的方案如下上述将解码后的目标数据发送给预览客户端包括通过内存映射将解码后的目标数据发送给预览客户端;或者通过套接字Socket将解码后的目标数据发送给预览客户端。
基于以上方法实施例的思想本发明实施例还提供了ー种信号源的接入系统,需要说明的是本系统中提供的各単元可以通过软件程序来实现,各软件程序或者各単元可以在同一实体设备也可以设置于不同的实体设备中,本发明实施例对此不予限定,如图2所示,包括预览管理服务单元201,用于为解码插件服务单元202的解码插件注册,并为连接插件服务单元203的连接插件注册;接收到客户端发送的启动信号预览的指令后,将连接插件參数发送给解码插件服务单元202 ;接收解码插件服务单元202依据上述连接插件參数返回的接收目标数据的地址和端口号;根据连接插件类型,选择连接插件;将信号源參数发送给连接插件服务单元203,使连接插件服务单元203依据上述信号源參数连接信号源,并接收信号源返回的源数据;解码插件服务单元202,用于接收预览管理服务单元201发送的连接插件參数;依据接收到的连接插件參数向预览管理服务单元201返回的接收目标数据的地址和端口号;接插件服务单元203,用于接收预览管理服务单元201发送的信号源參数,并依据上述信号源參数连接信号源,并接收信号源返回的源数据。该系统实施例,采用插件化设计,对于规定不变的处理流程,在插件宿主程序中实现,而在插件中实现经常变化的部分。为了能保证系统的稳定可靠,则必须将不稳定因素限定在最小的范围内即哪个厂家的SDK不稳定,则只能影响该厂家的信号源接入,而不能让其他的厂家的信号源工作不正常。通过使用插件,有效地隔离了系统的稳定和不稳定部分,使得第三方厂家提供的不稳定的SDK,其影响只是导致该厂家的摄像头无法接入,而不会影响其他任何已经稳定接入的厂家的信号源的接入。各个模块的逻辑简单,效率高,系统稳定;能够快速接入任意ー种第三方摄像头,无论是提供SDK还是不提供二次开发SDK。从而实现了稳定地接入第三方信号源。进ー步地,上述连接插件服务单元203,还用于向解码插件服务单元202中与上述源数据的类型对应的解码插件发送上述源数据; 上述解码插件服务单元202,还用于调用与上述源数据的类型对应的解码插件对源数据解码,并将解码后的目标数据发送给预览客户端。可选地,上述信号源參数包括信号源的SDK、协议类型、硬件板卡类型中的任意ー项;上连接插件服务单元203,具体用于依据上述信号源參数连接信号源包括调用上述SDK连接信号源,或者,依据上述协议类型连接信号源,或者,调用上述硬件板卡类型对应的SDK连接信号源。
可选地,上述解码插件服务单元202,具体用于将解码后的目标数据发送给预览客户端包括用于通过内存映射将解码后的目标数据发送给预览客户端;或者通过套接字Socket将解码后的目标数据发送给预览客户端。以下实施例将就以上实施例中各服务程序中的内部结构以及数据处理流程进行更详细的说明,其中内部结构请參阅图3和图4 ;其中图4中的信号源可以是ー个也可以是ー个以上,本是实施例不予限定;数据传递流程请參阅图5 ;特别说明,服务程序在图3、图4中分为三个连接插件解码插件服务器、预览管解码插件服务器、解码插件解码插件服务器,可以为三种不同功能的服务程序也可以是三个实体设备,三个服务程序或者实体设备可以根据信号源的规模灵活地选择是否三者合一或者任意二者合一部署。在这里为了描述方便而把他们单独分开,后面的模块介绍中,会一一描述他们的功能及其部署的灵活性。信号源图3,图4中所指的信号源可以是摄像头、DVS (网络视频服务程序)、DVR(硬盘录象机)、第三方监控平台等能够提供二次开发接ロ的IP信号源,还可以是可提供ニ次开发接ロ的硬件板卡+硬件连接线+摄像头/RGB信号源等;或者,能够提供协议接ロ的 网络摄像机或者第三方监控平台等。信号源的个数以及具体是什么信号源本发明实施例不予限定,在本实施例中以视频数据信号数据为例进行说明,其中在图3,图4中标注了 Video数据通道为视频数据的传输通道,TCP (Transmission Control Protocol,传输控制协议)命令通道则是控制信令的传送通道。以下就各服务器的组成及功能进行详细说明如下连接插件服务器连接插件服务程序,根据连接信号类型的不同而有所不同。如果是纯粹连接IP信号源的服务器,那么需要部署连接插件服务程序、连接插件、以及IP信号源二次开发接ロ,如图4所示。如果是采用安装硬件板卡然后再通过硬件链路连接到信号源,则还需要部署硬件板卡、硬件板卡的驱动程序以及硬件板卡二次开发包以及针对二次板卡的连接插件,如图3所示。连接插件服务程序根据命令行參数(预览管理服务程序的IP地址和端口号、カロ载的连接插件的文件名称)加载连接插件,并且注册到预览管理服务程序上去,建立TCP命令通道。然后等待信号预览管理服务程序的启动预览和停止预览的命令,并执行相应的动作。这里的启动预览是指预览管理服务程序如果接收到了启动预览的命令,则将信号源的參数传递给连接插件,由连接插件调用信号源的二次开发接ロ中的连接接ロ去连接信号源,或者使用信号源所提供的协议,通知信号源启动预览。连接插件其形态是可以ー个DLL (Data Link Layer,数据链路层)或者SO(Source,源)文件等类似文件,自身不能运行,由连接插件服务程序加载后,才能运行。连接插件对于连接插件服务程序来说,不管哪ー种形态的连接插件,它的接ロ都是统ー的,接ロ有提供连接插件类型、启动预览、停止预览、视频数据回调函数等。IP连接插件专门用来连接IP信号源的连接插件。它仅需依赖第三方厂家提供的 SDK。板卡信号源插件专门用来处理编解码卡的连接插件。它还需要依赖板卡SDK,板卡驱动,以及硬件板卡插入到服务程序上。协议接入连接插件专门用来处理公开协议的连接插件。它需要依赖对本系统公开的通信协议,例如监控系统平台、某些IP摄像头、DVS和DVR等等。
预览管理服务程序部署了预览管理服务程序的服务程序称之为预览管理服务程序。可以任意与其他服务程序或者客户端部署在一台服务程序/电脑上。预览管理服务程序预览管理服务程序的功能是等待各个连接插件服务程序的注册(将预览管理服务程序的IP地址、端口号以及所能支持的信号源类型等參数发送给预览管理服务程序),每当预览客户端有新的IP信号源接入的请求发送至预览管理服务程序,预览管理服务程序都从注册的连接插件服务程序中,选择ー个型号相同且负载最轻的,然后将启动预览的请求转发给连接插件服务程序,由它真正地去连接信号源并且取回视频数据。上述注册分为两个方面连接插件服务程序和解码插件服务程序注册到预览管理服务程序。具体就是由预览管理服务程序在指定的端ロ侦听,然后解码插件服务程序和连接插件服务程序连接该端ロ,并且把自身的IP地址、端ロ号以及支持的信号源类型,解码类型上告给预览管理服务器的过程。在后续实施例中将给出更详细的说明。
解码插件服务器部署了解码插件服务程序的服务器称之为解码插件服务器。可以任意与其他服务程序或者客户端部署在一台服务器或者电脑上。解码插件服务程序根据命令行參数(解码插件服务程序启动的时候,根据配置文件中的配置生成命令行參数,包括预览管理服务程序的IP地址和端口号、加载的解码插件的文件名称)加载解码插件,并且注册到预览管理服务程序,建立TCP命令通道。然后等待预览服务程序的启动预览和停止预览的命令,并执行相应的动作。这里的启动预览解码插件服务程序接收到启动预览的命令后,将解码类型參数以及所选择的解码插件服务器的參数传递给解码插件,解码插件在接收到连接插件服务程序转发的视频数据后,调用信号源的二次开发接ロ中的解码接ロ进行解码,此时,如果客户端与解码插件服务程序部署在一台电脑上,则通过内存映射交换数据;如果客户端与解码插件服务程序不在同一台电脑上,贝1J采用UDP (User Datagram Protocol,用户数据报文协议)通道来交换视频数据。一般建议客户端与解码插件服务程序部署在同一台电脑上。解码插件其形态是ー个DLL或者SO文件等类似文件,自身不能运行,必须由解码插件服务程序加载后,才能运行。解码插件对于解码插件服务程序来说,不管哪ー种形态的连接插件,它的接ロ都是统ー的,接ロ有提供连接插件类型、启动预览、停止预览、视频数据回调函数等。解码插件可以有很多种,例如通用标准编码格式解码插件支持标准的H264、MJPEG2、H263、TS流等标准编码格式的解码。第三方插件专有的解码插件专门用来对某些厂家的某些型号的自定义码流格式的解码插件,例如海康的私有编码格式。预览客户端预览客户端是指部署了预览接ロ的客户端程序,它负责接收用户的启动预览、停止预览、浏览错误信息,设置信号源參数以及系统參数等操作,然后将參数转换成XML (Extensible Markup Language,可扩展标记语言)文档,提交给预览管理服务程序。此处的启动预览是指接收到了启动预览的命令,则将信号源的參数以及所选择的连接插件服务程序的參数传递给解码插件,解码插件在接收到连接插件服务程序转发的视频数据后,调用信号源的二次开发接口中的解码接ロ进行解码,此时,如果客户端与解码插件服务程序部署在一台电脑上,则通过内存映射交换数据;如果客户端与解码插件服务程序不在同一台电脑上,则采用UDP通道来交换视频数据。一般建议客户端与解码插件服务程序部署在同一台电脑上。
插件注册工具将所有的插件按照指定的參数格式自动注册,并每次开机即启动。由于每个插件都需要配置一系列的參数,该工具可以实现自动配置和注册等操作。插件看护程序只要在插件列表中的插件服务程序的退出码为-I (即注册失败设置成-1),则自动重新启动该插件服务程序。例如插件服务程序要注册到预览管理服务程序,如果没有注册成功,则置退出码为-1,并且退出程序。此时看护程序监控到该程序的退出码为ー 1,则立即重新启动该程序,直到预览管理服务程序启动成功(连接到了服务程序,并且注册成功,那么该程序就保持运行状态),然后连接插件服务程序注册成功后,整个系统才正常工作。这个插件看护程序,保证了需要按时序启动的ー些进程,在实际应用过程中不必按照时序启动进程。例如在没有插件看护程序时必须先启动信号预览服务程序,后启动连接插件服务程序才能注册到信号预览服务程序。在有了插件看护程序后,如果先启动信号预览服务程序,后启动连接插件服务程序,那么插件服务程序一定能注册到信号预览服务程序。如果先启动连接插件服务程序而后启动信号预览服务程序,这时候连接插件服务程序就会连接失败,最終退出程序,并且返回退出码-I,插件看护程序检测到她的退出码是-I后,立即重新启动连接插件服务程序,直到信号预览服务程序启动后,插件注册成 功为止。这样就可以不必按时序启动程序,尽管程序的启动是要求有序的。以上实现方式,采用插件化设计,对于规定不变的处理流程,在插件宿主程序中实现,而在插件中实现经常变化的部分。为了能保证系统的稳定可靠,则必须将不稳定因素限定在最小的范围内即哪个厂家的SDK不稳定,则只能影响该厂家的信号源接入,而不能让其他的厂家的信号源工作不正常。通过使用插件,有效地隔离了系统的稳定和不稳定部分,使得第三方厂家提供的不稳定的SDK,其影响只是导致该厂家的摄像头无法接入,而不会影响其他任何已经稳定接入的厂家的信号源的接入。各个模块的逻辑简单,效率高,系统稳定;能够快速接入任意ー种第三方摄像头,无论是提供SDK还是不提供二次开发SDK。从而实现了稳定地接入第三方信号源。视频预览处理流程,參见图5所示流程如下501 :解码插件服务程序注册到预览管理服务程序,提供如下參数解码插件类型,解码插件IP地址以及端口号;然后进入502 ;需要说明的为解码插件注册是将解码插件在预览管理服务程序进行注册,可以将其地址、类型等信息传送给预览管理服务程序,这些信息可以有很多种类,以上举例不应理解为对本发明实施例的限定。502 :连接插件服务程序注册预览管理服务程序,提供如下參数连接插件类型,连接插件IP地址以及端口号;进入503 ;需要说明的为连接插件注册是将连接插件在预览管理服务程序进行注册,可以将其地址、类型等信息传送给预览管理服务程序,这些信息可以有很多种类,以上举例不应理解为对本发明实施例的限定。以上步骤501和步骤502的执行顺序并没有逻辑现有顺序,可以并行处理也可以
任意变换次序。以上步骤501和步骤502的可以有插件注册工具来协助完成,也可以分别由连接插件服务程序以及解码插件服务程序来完成,其中采用插件注册工具的实现方式可以更好地理清逻辑,使逻辑关系更加清晰简洁,为优选实现方式。
503 :预览客户端启动信号预览,将如下參数连接插件类型,解码插件类型,IP,端口号以及其他參数,传递给预览管理服务程序,进入504 ;504 :预览管理服务程序将參数发送给解码插件服务程序,參数如下连接插件类型,连接插件IP地址和端口号以及其他參数,进入505 ;505:解码插件在收到上述參数后,在服务程序上分配准备接收视频数据的端ロ号,然后将该端口号发送给预览管理服务程序,进入506 ;506:预览管理服务程序根据连接插件类型,选择ー个负载最轻的连接插件,并且将该连接插件负载加1,进入507 ;(如果停止预览,其负载减I);本步骤中对连接插件的负载进行数值的加减可以在依据负载选择连接插件的过 程中使用,负载值越小则表示负载越轻。507 :预览管理服务程序将信号源的參数信号源IP地址,端口号、所选择的连接插件服务程序的IP地址、端口号,解码插件服务程序的IP地址以及预备接收视频数据的端口号以及其他參数发送给连接插件;接下来,选择(opt)信号源类型(SDK,协议,硬件板卡),根据需要使用的解码插件的类型进入508、509、510中所对应的下一个步骤;508 :如果是第三方厂家SDK类型的,则调用厂家SDK,连接信号源,进入步骤511 ;509 :如果是根据开放通信协议的,则通过通信协议连接信号源,进入步骤511 ;510 :如果是硬件板卡类型的,则调用硬件板卡SDK,获取信号源视频,进入511 ;511 :信号源则返回视频数据到连接插件服务程序,进入512 ;512 :连接插件服务程序根据解码插件的IP地址和准备接收视频数据的端口号,将视频数据发送到到对应的的解码插件服务程序,进入513 ;513 :解码插件服务程序调用解码库解码,进入514 ;本步骤具体是解码插件服务程序调用解码库中与视频数据对应的解码插件对上述视频数据进行解码。以下两个步骤514和515,根据解码插件与预览客户端是否部署在同一台电脑选择ー个进入。514:如果部署在同一台电脑,则通过内存映射将解码后的视频数据发给客户端,进入516 ;515 :如果未部署在同一台电脑上,则通过Socket将解码后的视频数据发送给客户端,进入516 ;以上两个步骤是择ー执行的,依据解码插件与预览客户端是否部署在同一台电脑或者任意实体设备来确定的,需要说明的是,以上两种实现方式也仅是解码插件与预览客户端间进行数据传递的应用举例,解码插件与预览客户端间进行数据传递的方式还可以有很多,并不影响本发明实施例的实现,以上两个优选实现方式不应理解为对本发明实施例的限定。516 :根据用户需求显示视频数据,预览视频完毕。采用以上实施例,采用插件化设计,对于规定不变的处理流程,在插件宿主程序中实现,而在插件中实现经常变化的部分。为了能保证系统的稳定可靠,则必须将不稳定因素限定在最小的范围内即哪个厂家的SDK不稳定,则只能影响该厂家的信号源接入,而不能让其他的厂家的信号源工作不正常。通过使用插件有效地隔离了系统的稳定和不稳定部分,使得第三方厂家提供的不稳定的SDK,其影响只是导致该厂家的摄像头无法接入,而不会影响其他任何已经稳定接入的厂家的信号源的接入。各个模块的逻辑简单,效率高,系统稳定;能够快速接入任意ー种第三方摄像头,无论是提供SDK还是不提供二次开发SDK。从而实现了稳定地接入第三方信号源。以下将给出以上实施例的几个具体应用的场景说明,四个常用应用实例,进ー步说明了本发明的可扩展性很强。实例一拼接墙上拼接显示在拼接墙的显示屏后面都有一台主机,共9台,所有主机预览同一个信号源,系统在显示的时候,根据需要,显示整张图片的一部分,然后在拼接墙上,拼出一幅完整的画面。这是ー个典型的拼接墙预览信号源的应用场景。
实例ニ 单个客户端上预览大量信号源在画面作为某ー电脑屏幕的9个部分,每个部分都显示ー个信号源,当信号源数量继续增加时,可以增加连接插件服务程序和解码插件服务程序来扩展系统的功能。系统在显示的时候,根据需要,在ー个窗口内的不同部分显示各个信号源的内容。这是ー个典型的单台主机预览信号源的应用场景。实例三系统新增支持一种新的信号源每新增ー种信号源,只需要根据如下表格判断是否需要两个插件都开发,或者某个插件需要开发,插件的类型是什么等等,參见如下表I所示表I
权利要求
1.ー种信号源的接入方法,其特征在于,包括 预览管理服务程序为解码插件服务程序的解码插件注册,并为连接插件服务程序的连接插件注册; 预览管理服务程序接收到客户端发送的启动信号预览的指令后,将连接插件參数发送给解码插件服务程序; 预览管理服务程序接收解码插件服务程序依据所述连接插件參数返回的接收目标数据的地址和端口号; 预览管理服务程序根据连接插件类型,选择连接插件; 预览管理服务程序将信号源參数发送给连接插件服务程序,使连接插件服务程序依据所述信号源參数连接信号源,并接收信号源返回的源数据。
2.根据权利要求I所述方法,其特在于,还包括 连接插件服务程序向解码插件服务程序中与所述源数据的类型对应的解码插件发送所述源数据; 解码插件服务程序调用与所述源数据的类型对应的解码插件对源数据解码,并将解码后的目标数据发送给预览客户端。
3.根据权利要求I所述方法,其特征在干, 所述预览管理服务程序为解码插件服务程序的解码插件注册包括预览管理服务程序接收并存储解码插件服务程序发送的解码插件的类型、互联网协议IP地址以及端口号;预览管理服务程序为连接插件服务程序的连接插件注册包括预览管理服务程序接收并存储连接插件服务程序发送的连接插件的类型、IP地址以及端口号; 所述启动信号预览的指令携帯有信号源的连接插件类型、解码插件类型,IP地址以及端口号; 所述将连接插件參数发送给解码插件服务程序包括将连接插件的类型、IP地址以及端口号发送给解码插件服务程序; 所述预览管理服务程序将信号源參数发送给连接插件服务程序包括 预览管理服务程序将信号源的IP地址以及端口号发送给连接插件服务程序。
4.根据权利要求I至3任意一项所述方法,其特征在于,所述信号源參数包括信号源的软件开发工具包SDK、协议类型、硬件板卡类型中的任意ー项; 所述连接插件服务程序依据所述信号源參数连接信号源包括 所述连接插件服务程序调用所述SDK连接信号源,或者,所述连接插件服务程序依据所述协议类型连接信号源,或者,所述连接插件服务程序调用所述硬件板卡类型对应的SDK连接信号源。
5.根据权利要求I至3任意一项所述方法,其特征在于,所述将解码后的目标数据发送给预览客户端包括 通过内存映射将解码后的目标数据发送给预览客户端;或者通过套接字Socket将解码后的目标数据发送给预览客户端。
6.根据权利要求2或3所述方法,其特征在于,所述预览管理服务程序根据连接插件类型,选择连接插件包括预览管理服务程序选择负载最轻的连接插件,并将所选择的连接插件负载增加设定值。
7.ー种信号源的接入系统,其特征在于,包括 预览管理服务单元,用于为解码插件服务单元的解码插件注册,并为连接插件服务单元的连接插件注册;接收到客户端发送的启动信号预览的指令后,将连接插件參数发送给解码插件服务单元;接收解码插件服务单元依据所述连接插件參数返回的接收目标数据的地址和端口号;根据连接插件类型,选择连接插件;将信号源參数发送给连接插件服务单元,使连接插件服务单元依据所述信号源參数连接信号源,并接收信号源返回的源数据; 解码插件服务单元,用于接收预览管理服务单元发送的连接插件參数;依据接收到的连接插件參数向预览管理服务单元返回的接收目标数据的地址和端ロ号; 接插件服务单元,用于接收预览管理服务单元发送的信号源參数,并依据所述信号源參数连接信号源,并接收信号源返回的源数据。
8.根据权利要求7所述系统,其特征在干, 所述连接插件服务单元,还用于向解码插件服务单元中与所述源数据的类型对应的解码插件发送所述源数据; 所述解码插件服务单元,还用于调用与所述源数据的类型对应的解码插件对源数据解码,并将解码后的目标数据发送给预览客户端。
9.根据权利要求7或8所述系统,其特征在于,所述信号源參数包括信号源的SDK、协议类型、硬件板卡类型中的任意ー项; 所述接插件服务单元,具体用于依据所述信号源參数连接信号源包括调用所述SDK连接信号源,或者,依据所述协议类型连接信号源,或者,调用所述硬件板卡类型对应的SDK连接信号源。
10.根据权利要求8所述系统,其特征在干, 所述解码插件服务单元,具体用于将解码后的目标数据发送给预览客户端包括用于通过内存映射将解码后的目标数据发送给预览客户端;或者通过套接字Socket将解码后的目标数据发送给预览客户端。
全文摘要
本发明实施例公开了一种信号源的接入方法和系统,其中方法包括预览管理服务程序为解码插件服务程序的解码插件注册,并为连接插件服务程序的连接插件注册;接收到客户端发送的启动信号预览的指令后,将连接插件参数发送给解码插件服务程序;接收解码插件服务程序依据所述连接插件参数返回的接收目标数据的地址和端口号;根据连接插件类型,选择连接插件;将信号源参数发送给连接插件服务程序,使连接插件服务程序依据所述信号源参数连接信号源,并接收信号源返回的源数据。通过使用插件,有效地隔离了系统的稳定和不稳定部分,从而实现了稳定地接入第三方信号源。
文档编号H04L29/08GK102694869SQ20121018576
公开日2012年9月26日 申请日期2012年6月6日 优先权日2012年6月6日
发明者刘明华, 朱小华 申请人:广东威创视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1