本发明涉及流媒体技术领域,尤其涉及一种流媒体系统、数据流收集方法以及存储介质。
背景技术:
目前,流媒体系统包括前端设备、流媒体服务器、后端显示设备。流媒体服务器是由多台pc(personalcomputer,中文:个人计算机)主机组成集群,其中一台pc主机作为核心单元,管理核心数据库,运行服务进程,其他pc作为转发单元,由核心单元进行调动管理。
流媒体服务器的核心单元配置较高,价格昂贵,当核心单元发生异常,宕机时,整个流媒体系统陷入瘫痪状态,维护成本较高。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现要素:
目前本发明的主要目的在于提供一种流媒体系统、数据流收集方法以及存储介质,旨在解决现有的流媒体系统维护成本较高的技术问题。
为实现上述目的,本发明提供一种流媒体系统,所述流媒体系统包括控制设备、显示设备、分布式节点设备、解码设备以及信号源设备;其中,
所述控制设备用于接收用户的显示需求信息,根据所述显示需求信息生成调度指令,并将所述调度指令发送给所述解码设备;
所述解码设备用于接收所述调度指令,根据所述调度指令生成显示请求,并将所述显示请求发送给所述分布式节点设备;
所述分布式节点设备用于接收所述显示请求,并根据所述显示请求,从所述信号源设备获取流媒体数据流,获得存储数据流,并将所述存储数据流发送给所述解码设备;
所述解码设备还用于接收所述存储数据流,并将所述存储数据流发送给所述显示设备;
所述显示设备用于接收并显示所述存储数据流。
可选的,所述信号源设备包括多个信号源设备;
所述分布式节点设备还用于根据所述显示请求,从多个所述信号源设备中确定与所述显示请求相应的信号源设备,并从所述与所述显示请求相应的信号源设备获取流媒体数据流,获得存储数据流。
可选的,所述流媒体系统还包括交换机,所述分布式节点设备包括多个分布式节点设备,所述多个分布式节点设备通过所述交换机与所述解码设备相连。
可选的,所述分布式节点设备存储有存储数据流;所述解码设备还用于接收所述分布式节点设备的第一广播消息,基于所述第一广播消息,判断所述分布式节点设备是否存储有与所述显示请求相应的存储数据流;若是,则将所述显示请求发送给存储有与所述显示请求相应的存储数据流的分布式节点设备。
可选的,所述解码设备还用于在判断所述分布式节点设备是否存储有与所述显示请求相应的存储数据流之后,若否,接收所述分布式节点设备的第二广播消息,基于所述第二广播消息,在所述分布式节点设备中确定实时负载最小的分布式节点设备,并将所述显示请求发送给所述实时负载最小的分布式节点设备。
可选的,所述解码设备还用于在预设时间间隔内,未接收到所述存储数据流时,向所述分布式节点设备重新发送一次所述显示请求,直到所述解码设备在所述预设时间间隔内,接收到所述存储数据流,停止向所述分布式节点设备发送所述显示请求,所述预设时间间隔起点时间为上一次发送所述显示请求的时间。
可选的,所述解码设备包括多个解码设备,所述交换机通过单播或组播的传输方式将所述存储数据流转发给所述多个解码设备。
可选的,所述分布式节点设备还用于对所述流媒体数据流添加pts,以获得所述存储数据流;
所述解码设备还用于基于所述pts,对所述存储数据流进行解码,以获得解码后的存储数据流。
此外,为实现上述目的,本发明还提供了一种数据流收集方法,应用于流媒体系统,所述流媒体系统包括控制设备、显示设备、分布式节点设备、解码设备以及信号源设备;所述方法包括以下步骤:
所述控制设备接收用户的显示需求信息,根据所述显示需求信息生成调度指令,并将所述调度指令发送给所述解码设备;
所述解码设备接收所述调度指令,根据所述调度指令生成显示请求,并将所述显示请求发送给所述分布式节点设备;
所述分布式节点设备接收所述显示请求,并根据所述显示请求,从所述信号源设备获取流媒体数据流,获得存储数据流,并将所述存储数据流发送给所述解码设备;
所述解码设备接收所述存储数据流,并将所述存储数据流发送给所述显示设备;
所述显示设备接收并显示所述存储数据流。
可选的,所述信号源设备包括多个信号源设备;所述所述分布式节点设备根据所述显示请求,从所述信号源设备获取流媒体数据流,获得存储数据流的步骤包括:
所述分布式节点设备根据所述显示请求,从多个所述信号源设备中确定与所述显示请求相应的选定信号源设备;
所述分布式节点设备从所述选定信号源设备获取流媒体数据流,获得存储数据流。
可选的,所述分布式节点设备包括多个分布式节点设备,所述分布式节点设备存储有存储数据流;所述所述解码设备将所述显示请求发送给所述分布式节点设备的步骤之前,所述方法还包括以下步骤:
所述解码设备接收所述分布式节点设备的第一广播消息;
所述解码设备基于所述第一广播消息,判断所述分布式节点设备是否存储有与所述显示请求相应的存储数据流;
所述所述解码设备将所述显示请求发送给所述分布式节点设备的步骤包括:
若是,所述解码设备将所述显示请求发送给存储有与所述显示请求相应的存储数据流的分布式节点设备。
可选的,所述所述解码设备判断所述分布式节点设备是否存储有与所述显示请求相应的存储数据流的步骤之后,所述方法还包括以下步骤:
若否,所述解码设备接收所述分布式节点设备的第二广播消息;
所述解码设备基于所述第二广播消息,在所述分布式节点设备中确定实时负载最小的分布式节点设备;
所述所述解码设备将所述显示请求发送给所述分布式节点设备的步骤包括:
所述解码设备将所述显示请求发送给所述实时负载最小的分布式节点设备。
可选的,所述所述解码设备接收所述存储数据流的步骤包括:
所述解码设备在预设时间间隔内,未接收到所述存储数据流时,向所述分布式节点设备重新发送一次所述显示请求,直到所述解码设备在所述预设时间间隔内,接收到所述存储数据流,停止向所述分布式节点设备发送所述显示请求,所述预设时间间隔起点时间为上一次发送所述显示请求的时间。
可选的,所述所述分布式节点设备获得存储数据流的步骤包括:
所述分布式节点设备对所述流媒体数据流添加pts,获得存储数据流;
所述所述解码设备将所述存储数据流发送给所述显示设备的步骤之前,所述方法还包括以下步骤:
所述解码设备基于所述pts,对所述存储数据流进行解码,以获得解码后的存储数据流。
此外,为实现上述目的,本发明还提供了一种数据流收集装置,应用于流媒体系统,所述流媒体系统包括控制设备、显示设备、分布式节点设备、解码设备以及信号源设备;所述装置包括:
控制模块,用于所述控制设备接收用户的显示需求信息,根据所述显示需求信息生成调度指令,并将所述调度指令发送给所述解码设备;
第一发送模块,用于所述解码设备接收所述调度指令,根据所述调度指令生成显示请求,并将所述显示请求发送给所述分布式节点设备;
第二发送模块,用于所述分布式节点设备接收所述显示请求,并根据所述显示请求,从所述信号源设备获取流媒体数据流,获得存储数据流,并将所述存储数据流发送给所述解码设备;
第三发送模块,用于所述解码设备接收所述存储数据流,并将所述存储数据流发送给所述显示设备;
显示模块,用于所述显示设备接收并显示所述存储数据流。
此外,为实现上述目的,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有数据流收集方法的程序,所述数据流收集方法的程序被处理器执行时实现如上述任一项所述的数据流收集方法的步骤。
本发明提供了一种流媒体系统,所述流媒体系统包括控制设备、显示设备、分布式节点设备、解码设备以及信号源设备;其中,所述控制设备用于接收用户的显示需求信息,根据所述显示需求信息生成调度指令,并将所述调度指令发送给所述解码设备;所述解码设备用于接收所述调度指令,根据所述调度指令生成显示请求,并将所述显示请求发送给所述分布式节点设备;所述分布式节点设备用于接收所述显示请求,并根据所述显示请求,从所述信号源设备获取流媒体数据流,获得存储数据流,并将所述存储数据流发送给所述解码设备;所述解码设备还用于接收所述存储数据流,并将所述存储数据流发送给所述显示设备;所述显示设备用于接收并显示所述存储数据流。由于,流媒体系统中每一个设备需要执行指令和处理的数据较少,流媒体系统中的设备均不需要较高的配置;当流媒体系统中的设备出现故障时,流媒体系统中的未出现故障的设备的运行并不会受到影响,只需要对出现故障的设备进行维护,由于设备配置不高,维护成本较低。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的数据流收集设备结构示意图;
图2为本发明流媒体系统第一实施例提供一种流媒体系统结构示意图;
图3为本发明流媒体系统第一实施例提供一种流媒体系统结构实物示意图;
图4为本发明流媒体系统第一实施例提供一种控制软件界面示意图;
图5为本发明流媒体系统第一实施例提供一种流媒体系统分布区域示意图;
图6是本发明流媒体系统第一实施例提供一种数据流收集方法流程图;
图7是本发明流媒体系统第一实施例提供一种数据流收集装置框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
传统的流媒体系统,系统包括流媒体服务器,流媒体服务器采用pc架构,由多台pc主机组成流媒体集群,其中一台作为核心单元运行服务进程,搭载核心数据库,管理系统内所有转发单元,每台pc主机运行管理拼接矩阵主机;核心单元的pc主机要求的配置较高,故而方案成本较高。流媒体服务器运行独立的核心数据库,具有核心仲裁和管理设备,如果采用双机热备方案提高稳定性,意味着成本的增加和设备的冗余。另外,传统流媒体服务器一般采用静态绑定转发源地址,需要人工配置大量参数到核心数据库当中,增加操作繁琐程度。
但是,采用传统的流媒体系统,当核心设备宕机,整个系统陷入瘫痪状态。另外,流媒体服务器一般采用静态绑定转发源地址,无动态的负载均衡算法,需要人工配置大量参数到核心数据库当中,增加操作繁琐程度,同时可能导致网络带宽利用不合理,例如某个单元的网络带宽超负荷,但其他单元的网络带宽却较低。流媒体服务器配置要求较高,故方案成本高,不适合于民用或项目预算低的场合。流媒体服务器接入信号种类单一,输出的流媒体协议多样性,但有的实时性不高,保证不了终端解码器显示的实时性。
针对上述技术问题,本发明提供了一种流媒体系统、数据流收集方法、装置以及存储介质。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据流收集设备结构示意图。
如图1所示,该用户活动识别设备可以包括:处理器1001,例如中央处理器(centralprocessingunit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display),可选用户接口1003还可以包括标准的有线接口以及无线接口,而用户接口1003的有线接口在本发明中可为通用串行总线(universalserialbus,usb)接口。网络接口1004可选的可以包括标准的有线接口以及无线接口(如wi-fi接口)。存储器1005可以是高速随机存取存储器(randomaccessmemory,ram);也可以是稳定的存储器,比如,非易失存储器(non-volatilememory),具体可为,磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对数据流收集设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据流收集程序。
在图1所示的数据流收集设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接外设;所述数据流收集设备通过处理器1001调用存储器1005中存储的数据流收集程序,并执行本发明实施例提供的数据流收集方法。
参照图2,图2为本发明流媒体系统第一实施例提供一种流媒体结构示意图,所述流媒体系统包括:控制设备、显示设备、分布式节点设备、解码设备以及信号源设备;其中,
控制设备13,用于接收用户的显示需求信息,根据所述显示需求信息生成调度指令,并将所述调度指令发送给所述解码设备14。
需要说明的是,控制设备可以是智能手机、电脑等,本发明中,控制设备的数量不做限制。所述控制设备安装vimis控制软件,所述vimis控制软件可在安装有windows、android、ios、linux、麒麟操作系统的控制设备中运行。根据接收用户的显示需求信息,vimis控制软件生成调度指令,并将所述调度指令发送给所述解码设备,以使所述解码设备根据所述调度指令生成显示请求。其中,用户的显示需求信息可以是显示设备显示信号源设备收集的流媒体数据流。另外,vimis控制软件也可以根据用户的不同的需求信息,生成不同的调度指令,以通过不同的调度指令,对流媒体数据流和存储数据流进行传输、显示、存储以及删除等。
解码设备的数量可以是多个,本发明不做限定。一个解码设备对应一个显示设备。解码设备接收到存储数据流之后,发送给相应的显示设备进行显示。
可以理解的是,用户可以通过语音输入的方式或者打字输入的方式向安装有vimis控制软件的控制设备发送显示需求信息。
所述调度指令,是通过安装有vimis控制软件的控制设备接收用户的显示需求信息,根据显示需求信息生成的;解码设备接收到所述调度指令后,生成与所述调度指令相应的显示请求。其中,与显示需求信息相应的调度指令可以包括信号源设备的设备信息、显示设备的设备信息以及解码设备的设备信息,其中,不同设备的设备信息不同。
举例来说,用户的显示需求信息是a显示设备显示b信号源设备收集的流媒体数据流,安装有vimis控制软件的控制设备获得用户的显示需求信息,生成调度指令,将调度指令发送给与a显示设备相应的c解码设备,由c解码设备生成显示请求,并将显示请求发送给分布式节点设备;由分布式节点设备获取b信号源设备的流媒体数据流,获得相应的存储数据流,并将存储数据流发送给c解码设备,由c解码设备将存储数据流发送给a显示设备,由a显示设备显示存储数据流。
解码设备14,用于接收所述调度指令,根据所述调度指令生成显示请求,并将所述显示请求发送给所述分布式节点设备12。
需要说明的是,所述分布式节点设备存储有存储数据流;所述解码设备还用于接收所述分布式节点设备的第一广播消息,基于所述第一广播消息,判断所述分布式节点设备是否存储有与所述显示请求相应的存储数据流;若是,则将所述显示请求发送给存储有与所述显示请求相应的存储数据流的分布式节点设备。
显示请求包括待获取的流媒体数据流对应的信号源设备信息;第一广播消息由分布式节点设备发送,包括分布式节点设备当前存储的存储数据流对应的信号源设备的设备信息。当显示请求与第一广播消息中信号源设备的设备信息匹配时,分布式节点设备存储有与所述显示请求相应的存储数据流;当显示请求与第一广播消息中信号源设备的设备信息不匹配时,分布式节点设备未存储与所述显示请求相应的存储数据流。当分布式节点设备存储有所述存储数据流时,解码设备将显示请求发送给存储有存储数据流的分布式节点设备。
当解码设备判断所述分布式节点设备存储有与所述显示请求相应的存储数据流数据流之后,解码设备将所述显示请求发送给存储有与所述显示请求相应的存储数据流的分布式节点设备,以使存储有与所述显示请求相应的存储数据流的分布式节点设备发送存储数据流给解码设备。
当解码设备判断所述分布式节点设备未存储有与所述显示请求相应的存储数据流之后,接收所述分布式节点设备的第二广播消息,基于所述第二广播消息,在所述分布式节点设备中确定实时负载最小的分布式节点设备,并将所述显示请求发送给所述实时负载最小的分布式节点设备。以使所述实时负载最小的分布式节点设备在接收到显示请求后,从所述信号源设备获取流媒体数据流。
其中,第二广播消息由分布式节点设备发送,包括分布式节点设备的负载信息;负载信息可以包括网络负载、流媒体数据流处理负载以及流媒体数据流存储负载,负载最小可以是基于当前各个负载信息,综合判断后确定的综合负载最小;解码设备将显示请求发送给负载最小的分布式节点设备。
信号源设备11,用于收集流媒体数据流。
需要说明的是,本发明的信号源设备可以是网络摄像头、个人摄像头、摄像机等,在本实施例中,信号源设备的数量不做限制。信号源设备的数量是多个,流媒体系统应用的范围较大,流媒体系统涉及到的地域范围可以是区县范围、市区范围、省范围或是国范围,相应的不同范围涉及到的信号源设备、显示设备、控制设备、分布式节点设备以及解码设备的数量也会有较大的区别。
此外,流媒体数据流和存储数据流可以是较小的数据包,即,流媒体数据流在传输过程中,会将所需要显示的全部流媒体数据流,分割成有时序的较小的数据包,每一次传输一个相应时序的数据包。其中,时序是指数据包在整个流媒体数据流中的顺序。例如,一个10分钟的流媒体数据流在传输过程中被分割成10个数据包,每个数据包对应一分钟的流媒体数据流,第一个数据包包括第一分钟的流媒体数据流,第二数据包包括第二分钟的数据流,以此类推,其中,第一个数据包是第一个被发送的数据包。
应当理解的是,不同信号源设备收集到的流媒体数据流的数据格式可能不同的,数据流的传输协议也可能不同,流媒体数据流的传输协议可以是rtmp、rtsp、hls、html5、gb28181协议。
具体应用中,不同的地点对应不同的信号源设备,不同的信号源设备具有不同的设备信息。当对流媒体数据流进行调度的时候,可以通过搜索地点名称,获得相应地点的信号源设备收集的流媒体数据流,也可以通过确定信号源设备的设备信息,收集相应地点的流媒体数据流。信号源设备和分布式节点设备可以通过网线连接。
分布式节点设备12,用于接收所述显示请求,并根据所述显示请求,从所述信号源设备11获取流媒体数据流,获得存储数据流,并将所述存储数据流通过交换机15发送给所述解码设备14。
需要说明的是,分布式节点设备的数量可以是多个,本发明不做限制。分布式节点设备包设备括数据流处理单元和存储单元;数据流处理单元用于对所述流媒体数据流进行协议转换、添加pts,所述存储单元用于存储所述流媒体数据流,以获得存储数据流;所述存储单元可以是对所述流媒体数据流进行缓存,当所述存储数据流发送成功时,立即删除存储数据流,以节省存储空间;所述存储单元可以是对所述流媒体数据流进行长期存储,以使用户可以根据需求进行删除或存储。
此外,信号源设备和分布式节点设备可以不是一一对应的,任意一个分布式节点设备可以获取任意一个信号源设备收集的流媒体数据流。
可以理解的是,分布式节点设备通过上述协议从信号源设备获取流媒体数据流,通过数据流处理单元将不同协议的流媒体数据流转换为udp(userdatagramprotocol)协议的流媒体数据流。其中,udp协议保障流媒体数据流传输的稳定性,以及低延时性,适用于网络环境恶劣的应用场景。此外,数据流处理单元对所述流媒体数据流添加pts,然后存储单元存储经数据流处理单元处理后的流媒体数据流,以获得存储数据流。
具体应用中,存储数据流可以是信号源设备收集的实时流媒体数据流,经分布式节点设备段时间的缓存,然后转发给解码设备,以使解码设备将存储数据流发送给显示设备,进行实时数据流显示(即,直播显示);存储数据流也可以是信号源设备收集的流媒体数据流,存储在分布式节点设备,当分布式节点设备接收到显示请求后,由分布式节点设备将与显示请求相应的存储数据流发送给解码设备,以使解码设备将存储数据流发送给显示设备,进行显示(即,录播显示)。
此外,所述分布式节点设备还用于根据所述显示请求,从多个所述信号源设备中确定与所述显示请求相应的信号源设备,并从所述与所述显示请求相应的信号源设备获取流媒体数据流,获得存储数据流。
当分布式节点设备未存储有与所述显示请求相应的存储数据流时,分布式节点设备会根据所述显示请求,从多个信号源设备中确定用于收集待显示流媒体数据流的一个信号源设备,从该信号源设备获取流媒体数据流。流媒体系统不局限于显示已存储的数据流。
需要说明的是,分布式节点设备通过交换机与解码设备连接,分布式节点设备将存储数据流发送给交换机后,由交换机通过担单播或组播的传输方式将存储数据流发送给解码设备。其中,通过单播传输方式可以将一个流媒体数据流同时发送给256个解码设备,通过组播传输方式可以将一个流媒体数据流同时发送给数量不限的解码设备。
可以理解的是,当接入的分布式节点设备数量很大时,交换机可以是万兆交换机作为核心交换机,千兆交换机作为底层交换机。
此外,信号源设备包括多个信号源设备。当分布式节点设备存储有与所述显示请求相应的存储数据流时,解码设备将显示请求发送给存储有与所述显示请求相应的存储数据流的分布式节点设备,分布式节点设备直接将与所述显示请求相应的存储数据流发送给解码设备,不需要分布式节点设备重新从信号源设备获取相应的流媒体数据流;当分布式节点设备未存储有与所述显示请求相应的存储数据流时,由分布式节点设备从多个信号源设备中与显示请求相应的信号源设备获取流媒体数据流。进一步的,当分布式节点设备未存储有与所述显示请求相应的存储数据流时,解码设备会基于第二广播消息,确定负载最小的分布式节点设备,并将显示请求发送给负载最小的分布式节点设备,由该分布式节点设备从多个信号源设备中与显示请求相应的信号源设备获取流媒体数据流。其中,一个分布式节点设备可以同时获取并发送最多16个信号源设备收集的流媒体数据流。
具体应用中,解码设备与交换机的连接方式可以是网线,交换机与分布式节点设备的连接方式可以是网线。
解码设备14,还用于接收所述存储数据流,并将所述存储数据流发送给所述显示设备16。
需要说明的是,流媒体数据流在分布式节点设备中被编码压缩,获得存储数据流,存储数据流在传输的过程中占有的带宽较小,其中,视频编码格式h.264/h.265,音频编码格式g711/g726/pcm/aac,音频采样率8-48khz。解码设备支持16个通道同时解码,每通道视频分辨率1920x1080@60fps。解码设备获取存储数据流的pts,基于pts对存储数据流进行处理,获得的存储数据流是音频与视频同步的存储数据流。
另外,所述解码设备在预设时间间隔内,未接收到所述存储数据流时,向所述分布式节点设备重新发送一次所述显示请求,直到所述解码设备在所述预设时间间隔内,接收到所述存储数据流,停止向所述分布式节点设备发送所述显示请求,所述预设时间间隔起点时间为上一次发送所述显示请求的时间。其中,预设时间间隔可以根据需求进行设置,本发明不做具体限定。
具体应用中,存储数据流是以数据包的方式进行传输,在传输过程中,按照数据包的时序进行传输,当数据包传输失败时,解码设备会重新发送一次显示请求,分布式节点设备会根据解码设备发送的显示请求确定丢失的数据包的时序,根据时序,将相应的数据包重新发送,在解码设备接收到所述数据包时,解码设备不在发送显示请求;同时,分布式节点设备可以删除存储的数据包,节省缓存空间,减少分布式节点设备的负载。
显示设备16,用于接收并显示所述存储数据流。
需要说明的是,显示设备是解码设备通过hdmi2.0/dvi/dp/vga/3.5mm音频接口与所述led屏幕连接,实现数据流的输出,输出的数据流的参数可手动配置,比如调整输出数据流的分辨率大小、帧率、音量大小等。
在本实施例中,提供了一种流媒体系统,所述流媒体系统包括控制设备、显示设备、分布式节点设备、解码设备以及信号源设备;其中,所述控制设备用于接收用户的显示需求信息,根据所述显示需求信息生成调度指令,并将所述调度指令发送给所述解码设备;所述解码设备用于接收所述调度指令,根据所述调度指令生成显示请求,并将所述显示请求发送给所述分布式节点设备;所述分布式节点设备用于接收所述显示请求,并根据所述显示请求,从所述信号源设备获取流媒体数据流,获得存储数据流,并将所述存储数据流发送给所述解码设备;所述解码设备还用于接收所述存储数据流,并将所述存储数据流发送给所述显示设备;所述显示设备用于接收并显示所述存储数据流。由于,流媒体系统中每一个设备需要执行指令和处理的数据较少,流媒体系统中的设备均不需要较高的配置;当流媒体系统中的设备出现故障时,流媒体系统中的未出现故障的设备的运行并不会受到影响,只需要对出现故障的设备进行维护,由于设备配置不高,维护成本较低。
其中,分布式节点设备还对数据流进行协议转换,获得传输稳定性、低延时性更好的udp协议的数据流,使流媒体系统适用于较差的网络环境,数据流的实时显示效果较好。
在对流媒体数据流进行压缩转换时,对流媒体数据流添加pts,使得解码设备解码后的存储数据流音频与视频同步,数据流的显示效果较佳。
流媒体数据流的传输过程采用负载均衡的传输方式,使得每个分布式节点设备负载较为均衡,分布式节点设备运行状态较好。
同时,交换机通过单播或组播的传输方式,将存储数据流发送给解码设备,可以同时将数据流发送给多个解码设备,流媒体系统拓展的范围更大。
此外,当分布式节点设备存储有与所述显示请求相应的存储数据流时,分布式节点设备直接将存储数据流发送给相应的解码设备,不需要再由分布式节点设备重新从信号源设备获取与存储数据流相同的流媒体数据流,避免同一流媒体数据流被多次获取,提高了流媒体系统数据流收集效率。
另外,当解码设备未接收到存储数据流时,分布式节点设备会根据接收的显示请求重新发送存储数据流。解码设接收到的数据流完整性较好,以使显示设备显示的数据流较完整。
参照图3,图3为本发明流媒体系统第一实施例提供一种流媒体系统结构实物示意图。
在本实施例中,分布式节点为分布式节点设备,解码节点为解码设备,led屏为显示设备,信号源为信号源设备。
其中,控制设备可以是安装vimis控制软件的pc(中文:个人计算机,英文:personalcomputer)和平板电脑。pc通过网线与交换机连接,平板电脑通过无线设备与交换机连接。
信号源与分布式节点通过交换机连接,分布式节点可以获取任一信号源的流媒体数据流。
解码节点与分布式节点通过交换机连接。交换机可以作为大量分布式节点、编码节点以及信号源的集结枢纽。
解码节点与对应的led屏幕连接。
参照图4,图4为本发明流媒体系统第一实施例提供一种控制软件界面示意图。
可以在vimis控制软件的界面对流媒体数据流进行拖拽、删除、添加等,可以将需要放大显示的流媒体数据流拖拽到界面中间进行显示,也可以对显示的画面进行放大或缩小;同时,也可以增删信号源,即,对于不需要显示的流媒体数据流,间直接删除相应的信号源,对于需要显示,但是当前未显示的流媒体数据流,搜索相应的信号源,进行添加。其中,流媒体数据流可以是实时流媒体数据流,也可以是存储用于重播的流媒体数据流。
参照图5,图5为本发明流媒体系统第一实施例提供一种流媒体系统分布区域示意图。
流媒体系统可以分布到整个世界范围,在不同的地区可以显示整个系统内任一信号源收集的流媒体数据。
参照图6,图6是本发明流媒体系统第一实施例提供一种数据流收集方法流程图,所述方法应用于流媒体系统,所述流媒体系统包括控制设备、显示设备、分布式节点设备、解码设备以及信号源设备;所述数据流收集方法包括以下步骤:
步骤s101:所述控制设备接收用户的显示需求信息,根据所述显示需求信息生成调度指令,并将所述调度指令发送给所述解码设备。
步骤s102:所述解码设备接收所述调度指令,根据所述调度指令生成显示请求,并将所述显示请求发送给所述分布式节点设备。
步骤s103:所述分布式节点设备接收所述显示请求,并根据所述显示请求,从所述信号源设备获取流媒体数据流,获得存储数据流,并将所述存储数据流发送给所述解码设备。
步骤s104:所述解码设备接收所述存储数据流,并将所述存储数据流发送给所述显示设备。
步骤s105:所述显示设备接收并显示所述存储数据流。
可选的,所述信号源设备包括多个信号源设备;所述所述分布式节点设备根据所述显示请求,从所述信号源设备获取流媒体数据流,获得存储数据流的步骤包括:
所述分布式节点设备根据所述显示请求,从多个所述信号源设备中确定与所述显示请求相应的选定信号源设备;
所述分布式节点设备从所述选定信号源设备获取流媒体数据流,获得存储数据流。
可选的,所述分布式节点设备包括多个分布式节点设备,所述分布式节点设备存储有存储数据流;所述所述解码设备将所述显示请求发送给所述分布式节点设备的步骤之前,所述方法还包括以下步骤:
所述解码设备接收所述分布式节点设备的第一广播消息;
所述解码设备基于所述第一广播消息,判断所述分布式节点设备是否存储有与所述显示请求相应的存储数据流;
所述所述解码设备将所述显示请求发送给所述分布式节点设备的步骤包括:
若是,所述解码设备将所述显示请求发送给存储有与所述显示请求相应的存储数据流的分布式节点设备。
可选的,所述所述解码设备判断所述分布式节点设备是否存储有与所述显示请求相应的存储数据流的步骤之后,所述方法还包括以下步骤:
若否,所述解码设备接收所述分布式节点设备的第二广播消息;
所述解码设备基于所述第二广播消息,在所述分布式节点设备中确定实时负载最小的分布式节点设备;
所述所述解码设备将所述显示请求发送给所述分布式节点设备的步骤包括:
所述解码设备将所述显示请求发送给所述实时负载最小的分布式节点设备。
可选的,所述所述解码设备接收所述存储数据流的步骤包括:
所述解码设备在预设时间间隔内,未接收到所述存储数据流时,向所述分布式节点设备重新发送一次所述显示请求,直到所述解码设备在所述预设时间间隔内,接收到所述存储数据流,停止向所述分布式节点设备发送所述显示请求,所述预设时间间隔起点时间为上一次发送所述显示请求的时间。
可选的,所述所述分布式节点设备获得存储数据流的步骤包括:
所述分布式节点设备对所述流媒体数据流添加pts,获得存储数据流;
所述所述解码设备将所述存储数据流发送给所述显示设备的步骤之前,所述方法还包括以下步骤:
所述解码设备基于所述pts,对所述存储数据流进行解码,以获得解码后的存储数据流。
参照图7,图7是本发明流媒体系统第一实施例提供一种数据流收集装置框图,所述装置包括:
控制模块701,用于所述控制设备接收用户的显示需求信息,根据所述显示需求信息生成调度指令,并将所述调度指令发送给所述解码设备;
第一发送模块702,用于所述解码设备接收所述调度指令,根据所述调度指令生成显示请求,并将所述显示请求发送给所述分布式节点设备;
第二发送模块703,用于所述分布式节点设备接收所述显示请求,并根据所述显示请求,从所述信号源设备获取流媒体数据流,获得存储数据流,并将所述存储数据流发送给所述解码设备;
第三发送模块704,用于所述解码设备接收所述存储数据流,并将所述存储数据流发送给所述显示设备;
显示模块705,用于所述显示设备接收并显示所述存储数据流。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例的方法可借助软件加必需的流媒体系统的硬件平台的方式来实现,基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端系统执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。