一种基于PTS的分布式拼接大屏幕视频流集群同步显示系统的制作方法

文档序号:22043065发布日期:2020-08-28 18:22阅读:531来源:国知局
一种基于PTS的分布式拼接大屏幕视频流集群同步显示系统的制作方法

本发明涉及拼接屏同步显示技术领域,特别涉及一种基于pts的分布式拼接大屏幕视频流集群同步显示系统。



背景技术:

现有的大屏幕系统通常是由若干小屏拼接而成的,大屏幕拼接显示系统本身是一套显示屏集群,是一套以计算机集群为基础的信息处理集群。目前的大屏幕拼接显示系统中,一般是采取节点机形式完成各显示单元的并行独立处理。但是,由于集群内各节点机独立计算、负载不同、网络传输存在时间延迟,往往会出现各节点机信息显示不同步、显示错乱等问题,当拼接大屏幕集群规模越大,这类问题就越严重。

另外,社会不断发展,随着数字视频技术和网络通信技术的突破、高处理能力的芯片和服务器不断升级,网络高清视频或大数据可视化数据流或将成为今后大屏幕显示系统的重要信息来源。而视频流相较于目前占据拼接大屏幕系统绝大部分显示内容的演示文稿、图片这类数据,视频流在传输过程中要求最高、且占用资源和流量最大,其集群显示的同步问题尤为突出,视频流动态传输,各节点机的视频帧显示不同步,将造成大屏显示的帧信息错乱,严重影响显示效果和指挥决策,是目前的拼接大屏幕显示系统亟待改进之处。



技术实现要素:

本发明是为了解决上述问题而进行的,目的在于提供一种基于pts的分布式拼接大屏幕视频流集群同步显示系统。

本发明提供的基于pts的分布式拼接大屏幕视频流集群同步显示系统,其特征在于,包括:组播接收模块、ts流拆包模块、视频解码模块、同步控制模块和显示模块,其中,组播接收模块独立运行在系统的主节点机及每一个子节点机中,用于接收组播数据;ts流拆包模块独运行在系统的主节点机及每一个子节点机中,用于从复合信号流(ts)中拆出视频流(es),并将该视频流拼接成一帧视频数据输入视频解码模块;视频解码模块独运行在系统的主节点机及每一个子节点机中,用于将视频流拼接成的一帧视频数据进行解码,获得视频流的时间戳(pts);同步控制模块用于控制子节点机与主节点机同步运行;显示模块运行在系统的每一个子节点机中,用于将解码后的视频流的时间戳(pts)进行格式转换,根据帧显示消息送入显示屏中进行显示。

在本发明提供的基于pts的分布式拼接大屏幕视频流集群同步显示系统中,还具有这样的特征:其中,组播接收模块为一个固定大小的缓冲区。

在本发明提供的基于pts的分布式拼接大屏幕视频流集群同步显示系统中,还具有这样的特征:其中,ts流拆包模块根据ts流头中的payload_unit_start_indicator标志来确定一帧视频数据。

在本发明提供的基于pts的分布式拼接大屏幕视频流集群同步显示系统中,还具有这样的特征:其中,视频解码模块采用开源的音视频编解码程序进行视频解码。

在本发明提供的基于pts的分布式拼接大屏幕视频流集群同步显示系统中,还具有这样的特征:其中,主节点机中的视频解码模块解码后获得视频流的时间戳(pts),记为spts;子节点机中的视频解码模块解码后获得视频流的时间戳(pts),记为cpts;同步控制模块中运行的同步控制方法如下:步骤a,将主节点机中的解码后获得spts以组播方式发送至集群网络,并进入消息等待状态;步骤b,在子节点机通过组播接收模块接收spts组播数据后,以遍历方式从子节点机中查找出与该spts组播数据相等的cpts,当查找成功则发送匹配成功消息通过集群网络发送至主节点机,否则发送匹配失败消息;步骤c,当主节点机获取到有子节点机匹配失败消息时,则从主节点机中取下一个解码后的spts,重复步骤a至步骤b;当主节点机获得到所有子节点机匹配成功消息时,则在主节点机中生成帧显示消息,并以组播方式将帧显示消息通过集群网络发送给所有子节点机以完成视频显示。

在本发明提供的基于pts的分布式拼接大屏幕视频流集群同步显示系统中,还具有这样的特征:该系统按照如下同步显示方法运行:步骤1:子节点机和主节点机分别通过组播接收模块接收以组播方式传输的复合信号流(ts);步骤2:在接收复合信号流(ts)后,子节点机和主节点机分别通过ts流拆包模块从复合信号流(ts)中拆出视频流(es),并将该视频流拼接成一帧视频数据输入视频解码模块;步骤3:子节点机和主节点机中的视频解码模块分别进行视频解码,获得相应的频流的时间戳(pts);步骤4:通过同步控制模块对子节点机和主节点机进行同步控制,判断所有子节点机是否均与主节点机消息匹配成功,当所有子节点机均与主节点机消息匹配成功时,则在主节点机中生成帧显示消息,并以组播方式将帧显示消息通过集群网络发送给所有子节点机;步骤5:所有子节点机通过显示模块对匹配成功的pts进行格式转换,并根据帧显示消息送入显示屏中进行同步显示。

本发明的作用和效果:

本发明的基于pts的分布式拼接大屏幕视频流集群同步显示系统利用pts时间戳信息实现分布式节点机的同步显示。在系统中,设置有每个节点机内分别设置有组播接收模块、ts流拆包模块、视频解码模块,再通过同步控制模块对各子节点机实施同步显示控制,实现了系统内各子节点机中视频流的同步显示控制,最终在拼接大屏上同步显示该视频。本发明彻底解决了分布式集群大屏幕拼接显示中视频流延时和错乱的问题;且实现了节点机的数量不受限制,使得大屏幕的拼接规模不受限制;为集群大屏拼接显示系统的视频流同步显示提供了可行的解决方案,其应用前景广阔。

附图说明

图1是本发明的实施例中基于pts的分布式拼接大屏幕视频流集群同步显示系统的硬件连接示意图;

图2是本发明的实施例中基于pts的分布式拼接大屏幕视频流集群同步显示系统的框图;

图3是本发明的实施例中基于pts的分布式拼接大屏幕视频流集群同步显示系统的流程机制图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,以下实施例结合附图对本发明基于pts的分布式拼接大屏幕视频流集群同步显示系统作具体阐述。

<实施例>

图1是本发明的实施例中基于pts的分布式拼接大屏幕视频流集群同步显示系统的硬件连接示意图。

如图1所示,本实施例中的基于pts的分布式拼接大屏幕视频流集群同步显示系统中硬件设备包含一台主节点机与多台子节点机,主节点机与子节点机之间通过网络交换机连接,通过网络交换机构建集群网络。拼接大屏幕墙有若干小屏幕拼接组成。子节点机为若干,每一台子节点机对应控制一块或多块小屏幕的显示。主节点机负责调度管理,子节点机进行并行计算处理,最后子节点机控制屏幕同步显示。

图2是本发明的实施例中基于pts的分布式拼接大屏幕视频流集群同步显示系统的框图。

如图2所示,本实施例中的基于pts的分布式拼接大屏幕视频流集群同步显示系统包括:组播接收模块1、ts流拆包模块2、视频解码模块3、同步控制模块4和显示模块5。

组播接收模块1独立运行在系统的主节点机及每一个子节点机中,用于接收组播数据。组播接收模块1为一个固定大小的缓冲区。系统中通过建立缓冲区,避免了因目前用户数据报协议(udp)的不可靠性而造成数据丢失。每一个组播接收模块1在运行时,启动一个独立线程,不同的节点机中的组播接收模块1之间互不干扰。

ts流拆包模块2独运行在系统的主节点机及每一个子节点机中。各节点机通过集群网络接收到的是组播方式的复合信号流(ts),复合信号流(ts)是由一道或多道节目组成,每道节目由一个或多个原始流和其它流复合在一起,包括视频流(es)、音频流(as)、节目特殊信息流(psi)和其它数据包,每个包都有唯一标识号pid,其中pid为0的是pat表,从pat表中可解析出pmt表的pid,通过pmt表可以解析出pes包的pid,把pes包的包头去掉就是es流。ts流拆包模块2用于从复合信号流(ts)中拆出视频流(es),根据ts流头中的payload_unit_start_indicator标志来确定一帧视频数据,并将该视频流(es)拼接成一帧视频数据输入视频解码模块3。

视频解码模块3独运行在系统的主节点机及每一个子节点机中,用于将视频流(es)拼接成的一帧视频数据进行解码,获得视频流的时间戳(pts)。视频解码模块3采用开源的音视频编解码程序进行视频解码。在本实施例中,视频解码模块3采用的ffmpeg编解码程序。对于视频帧来说,视频帧的具有特定的起始序列。如,h.264格式的视频帧是以0×000×000×000×01(或0×000×000×01)这一序列开始的。视频解码模块3通过这个特定序列作为边界来确定帧数据,即两个序列之间的数据为划分为一帧。

同步控制模块4用于控制子节点机与主节点机同步运行。

显示模块5运行在系统的每一个子节点机中,用于将解码后的视频流的时间戳(pts)进行格式转换,根据帧显示消息送入显示屏中进行显示。在本实施例中,视频流数据经过视频解码模块3的ffmpeg编解码程序解码后,一般是yuv格式,显示模块5将yuv格式的数据转换为rgb格式的数据,再将rgb格式的数据送入显示屏的缓存区中,即可完成显示。

图3是本发明的实施例中基于pts的分布式拼接大屏幕视频流集群同步显示系统的流程机制图。

如图3所示,本发明的基于pts的分布式拼接大屏幕视频流集群同步显示系统按照如下同步显示方法运行:

步骤1:子节点机和主节点机分别通过组播接收模块接收以组播方式传输的复合信号流ts。

步骤2:在接收复合信号流ts后,子节点机和主节点机分别通过ts流拆包模块从复合信号流(ts)中拆出视频流(es),并将该视频流拼接成一帧视频数据输入视频解码模块。

步骤3:子节点机和主节点机中的视频解码模块分别进行视频解码,获得相应的频流的时间戳(pts)。

步骤4:通过同步控制模块对子节点机和主节点机进行同步控制。

同步控制模块运行的同步控制方法如下:(为便于后续阐述,此处将主节点机中的视频解码模块解码后获得视频流的时间戳(pts),记为spts;子节点机中的视频解码模块解码后获得视频流的时间戳(pts),记为cpts。)

a:将主节点机中的解码后获得spts以组播方式发送至集群网络,并进入消息等待状态。

b:在子节点机通过组播接收模块接收spts组播数据后,以遍历方式从子节点机中查找出与该spts组播数据相等的cpts,当查找成功则发送匹配成功消息通过集群网络发送至主节点机,否则发送匹配失败消息。

c:当主节点机获取到有子节点机匹配失败消息时,则从主节点机中取下一个解码后的spts,重复步骤a至步骤b;当主节点机获得到所有子节点机匹配成功消息时,则在主节点机中生成帧显示消息,并以组播方式将帧显示消息通过集群网络发送给所有子节点机。

步骤5:所有子节点机通过显示模块对匹配成功的pts进行格式转换,并根据帧显示消息送入显示屏中进行显示。

本实施例的基于pts的分布式拼接大屏幕视频流集群同步显示系统通过利用视频流的数字图像序列特性,基于pts(时间戳)设计的视频流集群同步机制,系统中的组播接收模块、ts流拆包模块、视频解码模块、同步控制模块和显示模块共同形成一套完整的视频流同步显示直接可执行方案,有效的实现了视频流同步显示,提高了分布式拼接大屏幕的显示效果,并不受其拼接规模限制。

上述实施方式为本发明的具体案例,并不用来限制本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1