一种视频流同步方法、装置、平台及存储介质与流程

未命名 10-09 阅读:80 评论:0


1.本发明涉及视频处理技术领域,尤其涉及一种视频流同步方法、装置、平台及存储介质。


背景技术:

2.图1是现有技术提供的一个简单的视频综合平台的功能示意框图。如图1所示,视频综合平台可以接收本地视频流和网络视频流,并对输入的多路视频流进行切割,拼接,缩放,叠加等处理,它可以通过本地视频输出接口,输出处理后的视频画面,也可以将整个视频画面以网络流的方式送出。复杂的视频综合平台可同时进行数十乃至上百路视频流输入和视频流输出。
3.图2是现有技术提供的视频综合平台的框架示意图,如图2所示,视频综合平台中包括本地流输入节点,本地流输出节点,网络流输入节点,网络流输出节点。其中,本地流输入节点主要负责本地视频流的切割,叠加等操作,并将处理后的视频流送给本地流输出节点送显或者网络流输出节点编码送出。网络流输入节点则负责将网络视频流解码成本地视频流后,送给本地输出节点送显。本地流输出节点将本地流输入节点和网络流输入节点送来的本地视频流从视频输出接口送出,网络流输出节点将本地流输入节点送过来的本地视频流编码后送出。所有节点通过总线矩阵(如pcie总线)连接。
4.本地视频流是指通过常用视频接口及相关线缆进行传输的视频,常用接口有vga,dp,hdmi等,本地视频流的特点是传输帧率稳定,视频数据未经压缩或者轻度压缩,数据带宽大,延迟低,传输距离较近。网络视频流是指经过深度图像压缩的视频流,通过网络路径传输。常见的视频压缩方法有h.264,h.265等,其特点是视频压缩率大,数据带宽小,帧率不稳定,延迟高,适用于远距离传输。
5.网络视频流要从视频接口显示,需要先进行解码转换成本地视频流。本地视频流转换成网络视频流,需要进行编码。当前主流的芯片平台,如cpu,dsp,gpu等,包含了编解码功能,能够处理网络视频流和本地视频流数据。而fpga器件由于不具备编解码功能,只能处理本地视频流,不能处理网络视频流。视频综合平台需要对本地视频流和网络视频流进行处理,达到图像同步播放的效果,但是本地视频流和网络视频流的处理方式不同,需要特殊考虑才能达到图像切割后从不同的视频输出口输出仍保持同步。


技术实现要素:

6.本发明提供了一种视频流同步方法、装置、平台及存储介质,以避免显示设备对从各个输出节点接收到的视频块进行拼接生成的视频图像存在割裂感,实现了视频流的同步。
7.根据本发明的一方面,提供了一种视频流同步方法,应用于视频流同步平台,所述视频流同步平台包括主控模块、帧同步控制模块、输入节点及输出节点,所述方法包括:
8.针对视频流中的各个视频帧,所述输入节点对当前视频帧进行切割,生成至少两
个视频块;
9.针对各个视频块,所述输入节点将当前视频块传输至对应的输出节点,并当所述当前视频块传输完成时,向所述当前视频块对应的输出节点发送消息包;其中,所述视频块与所述输出节点一一对应,所述消息包中包括所述当前视频帧的第一视频标识和所述当前视频块的第一帧号标识;同一视频流中的各个视频帧的第一视频标识相同,由同一视频帧切割生成的各个视频块的第一帧号标识相同;
10.当同一视频帧切割生成的各个视频块及所述消息包均传输完成时,所述输入节点通过所述主控模块将所述消息包发送至所述帧同步控制模块;
11.响应于所述消息包,所述帧同步控制模块根据所述消息包中的所述第一视频标识及所述第一帧号标识对初始帧同步信号进行处理,生成目标帧同步信号,并将所述目标帧同步信号分别发送至所述各个视频块对应的输出节点;
12.针对各个输出节点,当前输出节点对所述目标帧同步信号进行解析,确定第二视频标识及第二帧号标识,并当所述第一视频标识与所述第二视频标识相同,且所述第一帧号标识与所述第二帧号标识相同时,将所述当前输出节点中所述第一帧号标识的视频块发送至显示设备。
13.根据本发明的另一方面,提供了一种视频流同步装置,应用于视频流同步平台,所述视频流同步平台包括主控模块、帧同步控制模块、输入节点及输出节点,所述装置包括:
14.视频帧切割单元,用于针对视频流中的各个视频帧,通过所述输入节点对当前视频帧进行切割,生成至少两个视频块;
15.视频块传输单元,用于针对各个视频块,通过所述输入节点将当前视频块传输至对应的输出节点,并当所述当前视频块传输完成时,向所述当前视频块对应的输出节点发送消息包;其中,所述视频块与所述输出节点一一对应,所述消息包中包括所述当前视频帧的第一视频标识和所述当前视频块的第一帧号标识;同一视频流中的各个视频帧的第一视频标识相同,由同一视频帧切割生成的各个视频块的第一帧号标识相同;
16.消息包发送单元,用于当同一视频帧切割生成的各个视频块及所述消息包均传输完成时,通过所述输入节点通过所述主控模块将所述消息包发送至所述帧同步控制模块;
17.帧同步信号生成单元,用于响应于所述消息包,通过所述帧同步控制模块根据所述消息包中的所述第一视频标识及所述第一帧号标识对初始帧同步信号进行处理,生成目标帧同步信号,并将所述目标帧同步信号分别发送至所述各个视频块对应的输出节点;
18.第一视频块发送单元,用于针对各个输出节点,通过当前输出节点对所述目标帧同步信号进行解析,确定第二视频标识及第二帧号标识,并当所述第一视频标识与所述第二视频标识相同,且所述第一帧号标识与所述第二帧号标识相同时,将所述当前输出节点中所述第一帧号标识的视频块发送至显示设备。
19.根据本发明的另一方面,提供了一种视频流同步平台,所述视频流同步平台包括主控模块、帧同步控制模块、输入节点及输出节点;其中,
20.所述输入节点用于,针对视频流中的各个视频帧,对当前视频帧进行切割,生成至少两个视频块;
21.所述输入节点还用于,针对各个视频块,将当前视频块传输至对应的输出节点,并当所述当前视频块传输完成时,向所述当前视频块对应的输出节点发送消息包;其中,所述
视频块与所述输出节点一一对应,所述消息包中包括所述当前视频帧的第一视频标识和所述当前视频块的第一帧号标识;同一视频流中的各个视频帧的第一视频标识相同,由同一视频帧切割生成的各个视频块的第一帧号标识相同;
22.所述输入节点还用于,当同一视频帧切割生成的各个视频块及所述消息包均传输完成时,通过所述主控模块将所述消息包发送至所述帧同步控制模块;
23.所述帧同步控制模块用于,响应于所述消息包,根据所述消息包中的所述第一视频标识及所述第一帧号标识对初始帧同步信号进行处理,生成目标帧同步信号,并将所述目标帧同步信号分别发送至所述各个视频块对应的输出节点;
24.针对各个输出节点,当前输出节点对所述目标帧同步信号进行解析,确定第二视频标识及第二帧号标识,并当所述第一视频标识与所述第二视频标识相同,且所述第一帧号标识与所述第二帧号标识相同时,将所述当前输出节点中所述第一帧号标识的视频块发送至显示设备。
25.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的视频流同步方法。
26.本发明实施例的视频流同步方案,应用于视频流同步平台,视频流同步平台包括主控模块、帧同步控制模块、输入节点及输出节点,方法包括:针对视频流中的各个视频帧,输入节点对当前视频帧进行切割,生成至少两个视频块;针对各个视频块,输入节点将当前视频块传输至对应的输出节点,并当当前视频块传输完成时,向当前视频块对应的输出节点发送消息包;其中,消息包中包括当前视频帧的第一视频标识和当前视频块的第一帧号标识;同一视频流中的各个视频帧的第一视频标识相同,由同一视频帧切割生成的各个视频块的第一帧号标识相同;当同一视频帧切割生成的各个视频块及消息包均传输完成时,输入节点通过主控模块将消息包发送至帧同步控制模块;响应于消息包,帧同步控制模块根据消息包中的第一视频标识及第一帧号标识对初始帧同步信号进行处理,生成目标帧同步信号,并将目标帧同步信号分别发送至各个视频块对应的输出节点;针对各个输出节点,当前输出节点对目标帧同步信号进行解析,确定第二视频标识及第二帧号标识,并当第一视频标识与第二视频标识相同,且第一帧号标识与第二帧号标识相同时,将当前输出节点中第一帧号标识的视频块发送至显示设备。通过本发明实施例提供的技术方案,可有效保证显示设备从各个输出节点接收的视频块为来自同一视频帧切割生成的视频块,以避免显示设备对从各个输出节点接收到的视频块进行拼接生成的视频图像存在割裂感,实现了视频流的同步。
27.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
28.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1是现有技术提供的一个简单的视频综合平台的功能示意框图;
30.图2是现有技术提供的视频综合平台的框架示意图;
31.图3a是一种基于帧同步信号进行视频流同步的效果示意图;
32.图3b是另一种基于帧同步信号进行视频流同步的效果示意图;
33.图4是根据本发明实施例一提供的一种视频流同步方法的流程图;
34.图5是本发明实施例提供的一种视频流同步平台的结构示意图;
35.图6是本发明实施例提供的一种目标帧同步信号的示意图;
36.图7是本发明实施例提供的一种视频流同步过程示意图;
37.图8是本发明实施例提供的一种视频流同步平台的结构示意图;
38.图9是本发明实施例二提供的一种视频流同步装置的结构示意图。
具体实施方式
39.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
40.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
41.相关技术中,主要采用如下两种方案实现视频流的同步输出:方案一:基于帧同步信号进行视频流同步;方案二:基于时间戳进行视频流同步。其中,方案一对本地视频流和网络视频流的处理器件的实时性要求很高,需要在帧同步信号的脉冲间隔之间完成所有的视频流操作。但一般的处理器件实时性并不高,容易因突发任务造成中断、阻塞。图3a为一种基于帧同步信号进行视频流同步的效果示意图,如图3a所示,在接收到第2帧视频流时,显示第1帧视频流,在接收到第3帧视频流时,才显示第2帧视频流。在对网络视频流处理时增加了解码的工作,同时由于器件运行非实时性,一旦某个网络视频流的处理被帧同步信号分割就会出现不同步的现象。图3b为另一种基于帧同步信号进行视频流同步的效果示意图。如图3b所示,第2帧视频流的处理被帧同步信号分割,导致第2帧视频流在显示时出现割裂现象。为了解决方案一存在的技术问题,可先将网络视频流转换成本地视频流,然后再用fpga器件处理转换后的本地视频流,保证视频流显示的实时性要求,但缺点是增加了成本,且延迟会更高。方案二使用时间戳对视频流进行同步,并没有从根本上解决问题,只是不依赖于外部帧同步信号,且不同器件使用时间戳本身就比较复杂。
42.实施例一
43.图4为本发明实施例一提供了一种视频流同步方法的流程图,本实施例可适用于
对视频流进行同步的情况,该方法可以由视频流同步装置来执行,该视频流同步装置可以采用硬件和/或软件的形式实现,该视频流同步装置可配置于视频流同步平台中,所述视频流同步平台包括主控模块、帧同步控制模块、输入节点及输出节点。如图4所示,该方法包括:
44.s410、针对视频流中的各个视频帧,输入节点对当前视频帧进行切割,生成至少两个视频块。
45.图5为本发明实施例提供的一种视频流同步平台的结构示意图,如图5所示,视频流同步平台500包括主控模块510、帧同步控制模块520、输入节点530及输出节点540。可选的,所述输入节点包括本地流输入节点和网络流输入节点,所述输出节点包括本地流输出节点。其中,本地流输入节点和网络输入节点均可以为一个或多个,输出节点为多个。本地流输入节点可以通过实时性高的器件(如fpga)实现,网络输入节点可以通过实时性低的器件(如cpu、dsp或gpu)实现。
46.在本发明实施例中,输入节点接收视频流,其中,当输入节点为本地流输入节点时,本地流输入节点通过常用视频接口及相关线缆接收视频流(可以称为本地视频流);当输入节点为网络流输入节点时,网络流输入节点接收通过网络路径传输的经过深度图像压缩的视频流(可以称为网络视频流),并对网络视频流进行解码。每个视频流包括多个视频帧,针对视频流中的各个视频帧,输入节点对当前视频帧进行切割,生成与当前视频帧对应的至少两个视频块。其中,可以基于预设切割算法对视频帧进行切割,还可对视频帧进行随机切割,本发明实施例对视频帧的切割方式不做限定。
47.s420、针对各个视频块,所述输入节点将当前视频块传输至对应的输出节点,并当所述当前视频块传输完成时,向所述当前视频块对应的输出节点发送消息包;其中,所述视频块与所述输出节点一一对应,所述消息包中包括所述当前视频帧的第一视频标识和所述当前视频块的第一帧号标识;同一视频流中的各个视频帧的第一视频标识相同,由同一视频帧切割生成的各个视频块的第一帧号标识相同。
48.在本发明实施例中,针对视频流中的各个视频帧,输入节点将当前视频帧对应的各个视频块分别传输至对应的输出节点,其中,视频块与输出节点为一一对应的关系。示例性的,确定与输入节点具有映射关系的至少两个输出节点,可以理解的是,与输入节点具有映射关系的输出节点为用于接收输入节点输出视频流的输出节点。将视频帧切割生成的各个视频块分别发送至对应的与输入节点具有映射关系的输出节点,其中,与输入节点具有映射关系的输出节点的数量与视频帧切割生成的视频块的数量相同,且两者一一对应。
49.当输入节点将某视频块传输至对应的输出节点时,也即确定将某视频块成功传输至对应的输出节点时,输入节点向该视频块对应的输出节点发送消息包。其中,消息包中包括生成该视频块的视频帧的第一视频标识和该视频块的第一帧号标识。需要说明的是,第一视频标识为视频帧切割前的视频流标识,第一帧号标识为对视频帧切割后的视频块的标识。其中,同一视频流中的各个视频帧的第一视频标识相同,同一视频帧切割生成的各个视频块的第一帧号标识相同,因此,视频帧切割生成的各个视频块对应的输出节点接收到的消息包相同,均包含同一第一视频标识和同一第一帧号标识。
50.在本发明实施例中,同一视频流的各个视频帧的第一视频标识相同,其中,第一视频标识可以为第一视频id。视频流的各个视频帧的第一帧号标识可以为第一帧号id,所述
第一帧号id为通过循环计数器循环计数的id,所述第一帧号id按照所述视频流中视频帧的先后顺序依次循环计数。例如,第一帧号id可以为通过一个2bit循环计数的计数器计数的id,视频帧的第一帧号id随着视频流中视频帧的增加而不断循环改变。
51.s430、当同一视频帧切割生成的各个视频块及所述消息包均传输完成时,所述输入节点通过主控模块将所述消息包发送至帧同步控制模块。
52.由于视频帧切割生成的各个视频块的大小不尽相同,输入节点将各个视频块传输至对应的输出节点的传输速度不尽相同,因此,输入节点将各个视频块及消息包传输至对应的输出节点的时间点不一定相同。当确定同一视频帧切割生成的各个视频块及消息包均传输至对应的输出节点时,输入节点将视频帧对应的消息包发送至主控模块。当主控模块接收到消息包时,可确定输入节点已经将该消息包对应的视频帧切割生成的各个视频块传输至对应的输出节点,此时,主控模块可将消息包发送至帧同步控制模块。
53.s440、响应于所述消息包,所述帧同步控制模块根据所述消息包中的所述第一视频标识及所述第一帧号标识对初始帧同步信号进行处理,生成目标帧同步信号,并将所述目标帧同步信号分别发送至所述各个视频块对应的输出节点。
54.当帧同步控制模块接收到主控模块发送的消息包时,根据消息包中的第一视频标识及第一帧号标识对初始帧同步信号进行加码处理,并将加码处理后的初始帧同步信号作为目标帧同步信号。其中,初始帧同步信号是一个固定周期脉冲信号,如可以是一个固定周期的高电平脉冲(也即帧率固定的高电平脉冲信号),常见的视频流为60帧视频,因此,初始同步信号的帧脉冲周期可以为16.67ms。而目标帧同步信号为一个周期不规律的脉冲信号。
55.可选的,所述第一视频标识包括第一视频id;所述帧同步控制模块根据所述消息包中的所述第一视频标识及所述第一帧号标识对初始帧同步信号进行处理,生成目标帧同步信号,包括:按照所述第一视频id的预设顺序,在所述初始帧同步信号的下降沿的预设时长后,所述帧同步控制模块在预设周期内根据所述第一视频id对应的第一帧号标识,向所述初始帧同步信号发送与所述第一帧号标识对应的目标脉冲信号,生成目标帧同步信号。
56.其中,第一视频id的预设顺序可以为第一视频id从小到大的顺序,也可以为第一视频id从大到小的顺序,需要说明的是,本发明实施例对预设顺序不做限定。在本发明实施例中,按照第一视频id从小到大的顺序,也即按照视频流的先后顺序,在初始帧同步信号的下降沿的预设时长(也即某一固定延迟时间),以固定时间单位为周期,根据第一视频id对应的第一帧号标识,向初始帧同步信号发送与第一帧号标识对应的脉冲信号,从而生成目标帧同步信号。示例性的,图6为本发明实施例提供的一种目标帧同步信号的示意图。如图6所示,以1us为预设时长,在初始帧同步信号下降沿1us的时间段后,持续发送500ns的低电平脉冲(认为是0)或者500ns的高电平脉冲(认为是1),每1us的脉冲信号可以作为一个第一视频id对应的第一帧号标识(如第一帧号id)。例如,某视频流为8bit视频,则可如此256us向初始帧同步信号持续发送匹配的脉冲信号,从而生成与视频流对应的目标帧同步信号。如图6所示,初始帧同步信号下降沿的1us后,持续发送的脉冲信号的高低电平(500ns为周期统计)为:低,低(第一视频id为0的第一帧号id是00),低,高(第一视频id为1的第一帧号id是1),高,低(第一视频id为2的第一帧号id是2),高,高(第一视频id为3的第一帧号id是3),低,低(第一视频id为4的第一帧号id是00),
……
,以此类推。
57.帧同步控制模块将目标帧同步信号分别发送至视频帧切割生成的各个视频块对
应的输出节点。可以理解的是,随着时间的推移,视频流的视频帧不断传输,生成的目标帧同步信号不断更新,因此,不同时间点帧同步控制模块发送的目标帧同步信号不一定相同。
58.s450、针对各个输出节点,当前输出节点对所述目标帧同步信号进行解析,确定第二视频标识及第二帧号标识,并当所述第一视频标识与所述第二视频标识相同,且所述第一帧号标识与所述第二帧号标识相同时,将所述当前输出节点中所述第一帧号标识的视频块发送至显示设备。
59.在本发明实施例中,各个视频块对应的输出节点分别接收帧同步控制模块发送的目标帧同步信号,并对目标帧同步信号解析,以从目标帧同步信号中解析出第二视频标识和第二帧号标识。具体的,可以采用与根据第一视频标识及第一帧号标识对初始帧同步信号进行加码处理相反的流程,从目标帧同步信号中解析出第二视频标识和第二帧号标识。示例性的,可以根据初始帧同步信号和目标帧同步信号的特性(初始帧同步信号是一个固定周期的脉冲信号,而目标帧同步信号为一个周期不规律的脉冲信号),对目标帧同步信号进行解析,确定第二视频标识和第二帧号标识。可选的,各个输出节点还可分别接收帧同步控制模块发送的初始帧同步信号和目标帧同步信号,对初始帧同步信号和目标帧同步信号进行比对分析,从而从目标帧同步信号中解析出第二视频标识和第二帧号标识。
60.针对各个视频块对应的输出节点,每个输出节点分别判断从目标帧同步信号中解析出的第二视频标识与从输入节点接收到的第一视频标识是否相同,以及从目标帧同步信号中解析出的第二帧号标识与从输入节点接收到的第一帧号标识是否相同。当第二视频标识与第一视频标识相同,且第二帧号标识与第一帧号标识也相同时,输出节点将从输入节点接收到的第一帧号标识的视频块发送至显示设备。这样设置的好处在于,可有效保证显示设备从各个输出节点接收的视频块为来自同一视频帧切割生成的视频块,以避免显示设备对从各个输出节点接收到的视频块进行拼接生成的视频图像存在割裂感,实现了视频流的同步。
61.可选的,所述方法还包括:针对所述各个输出节点,当当前输出节点确定所述第一视频标识与所述第二视频标识相同,且所述第一帧号标识与所述第二帧号标识不相同时,将所述当前输出节点中所述第二帧号标识对应的视频块发送至所述显示设备。由于输入节点是先向各个视频块对应的输出节点发送消息包,后通过主控模块向帧同步控制模块发送消息包,因此,输出节点从输入节点接收到的第一帧号标识与从帧同步模块发送的目标帧同步信号中解析出的第二帧号标识存在两种关系,一种是第一帧号标识与第二帧号标识一致,另一种是第一帧号标识大于第二帧号标识。当第二视频标识与第一视频标识相同,但第二帧号标识与第一帧号标识不相同时,输出节点将第二帧号标识对应的视频块发送至显示设备。
62.可以理解的是,当第二视频标识与第一视频标识相同,且第二帧号标识与第一帧号标识也相同时,输出节点对第一帧号标识对应的视频帧进行送显,也即在显示设备中显示的为第一帧号标识对应的视频帧。当第二视频标识与第一视频标识相同,但第二帧号标识与第一帧号标识不相同时,输出节点对第二帧号标识对应的视频块进行送显,也即在显示设备中显示的为第二帧号标识对应的视频块。图7为本发明实施例提供的一种视频流同步过程示意图。如图7所示,输出节点从输入节点接收到的视频块的第一帧号id为2,而对应的从目标帧同步信号中解析到的第二帧号id为1,显然两者不一致,因此,输出节点将帧号
id为1的视频块发送至显示设备,也即显示设备显示帧号id为1的视频块对应的视频帧。
63.本发明实施例的视频流同步方法,应用于视频流同步平台,视频流同步平台包括主控模块、帧同步控制模块、输入节点及输出节点,方法包括:针对视频流中的各个视频帧,输入节点对当前视频帧进行切割,生成至少两个视频块;针对各个视频块,输入节点将当前视频块传输至对应的输出节点,并当当前视频块传输完成时,向当前视频块对应的输出节点发送消息包;其中,消息包中包括当前视频帧的第一视频标识和当前视频块的第一帧号标识;同一视频流中的各个视频帧的第一视频标识相同,由同一视频帧切割生成的各个视频块的第一帧号标识相同;当同一视频帧切割生成的各个视频块及消息包均传输完成时,输入节点通过主控模块将消息包发送至帧同步控制模块;响应于消息包,帧同步控制模块根据消息包中的第一视频标识及第一帧号标识对初始帧同步信号进行处理,生成目标帧同步信号,并将目标帧同步信号分别发送至各个视频块对应的输出节点;针对各个输出节点,当前输出节点对目标帧同步信号进行解析,确定第二视频标识及第二帧号标识,并当第一视频标识与第二视频标识相同,且第一帧号标识与第二帧号标识相同时,将当前输出节点中第一帧号标识的视频块发送至显示设备。通过本发明实施例提供的技术方案,可有效保证显示设备从各个输出节点接收的视频块为来自同一视频帧切割生成的视频块,以避免显示设备对从各个输出节点接收到的视频块进行拼接生成的视频图像存在割裂感,实现了视频流的同步。
64.在一些实施例中,针对各个视频块,所述输入节点将当前视频块传输至对应的输出节点,包括:获取预先存储的业务配置信息;其中,所述业务配置信息包括输入节点与至少两个输出节点的映射关系;根据所述业务配置信息确定与所述输入节点具有映射关系的输出节点;针对各个视频块,所述输入节点将当前视频块传输至对应的输出节点;其中,所述当前视频块对应的输出节点为与所述输入节点具有映射关系的输出节点。示例性的,输入节点获取预先存储的业务配置信息,其中,输入节点可以获取主控模块发送的业务配置信息。具体的,用户可以在主控模块处进行业务配置,由于视频流同步平台中包括多路输入和多路输出,在进行业务配置时,可以配置各个输入节点输出的视频流传输至哪些输出接口,以通过输出接口在哪些显示设备中显示视频流,从而生成业务配置信息。可以理解的是,用于接收输入节点传输的视频流的各个输出节点为与输入节点具有映射关系的输出节点,因此,业务配置信息中包括输入节点与至少两个输出节点的映射关系。输入节点将视频帧切割生成的各个视频块分别发送至与该输入节点具有映射关系的输出节点,其中,视频块与输出节点一一对应。
65.可选的,所述业务配置信息还包括所述输入节点的同步视频id;在针对视频流中的各个视频帧,所述输入节点对当前视频帧进行切割,生成至少两个视频块之前,还包括:响应于视频流同步事件被触发,所述主控模块将所述同步视频id作为所述视频流中各个视频帧的第一视频标识。具体的,主控模块在进行业务配置时,还可以给输入节点配置一个同步视频id,因此业务配置信息中还可包括输入节点的同步视频id。当接收到视频流同步指令时,主控模块将同步视频id发送至输入节点,将同步视频id作为输入节点输出视频流的各个视频帧的第一视频标识。可选的,主控模块预先配置的同步视频id还可以为一个8bit的数值,然后将该同步视频id分配给输入节点,并将其分别作为各个视频流中视频帧的第一视频标识。可选的,如果不需要对视频流中的视频帧进行切割,无需考虑视频流同步的问
题,可以不向输入节点分配同步视频id或者分配一个默认视频id,比如视频id为0。
66.示例性的,图8为本发明实施例提供的一种视频流同步平台的结构示意图,可结合图8及上述实施例的描述对视频流的同步过程进行理解,在次不再赘述。
67.实施例二
68.图9为本发明实施例二提供的一种视频流同步装置的结构示意图。该视频流同步装置应用于视频流同步平台,所述视频流同步平台包括主控模块、帧同步控制模块、输入节点及输出节点,如图9所示,该装置包括:
69.视频帧切割单元910,用于针对视频流中的各个视频帧,通过所述输入节点对当前视频帧进行切割,生成至少两个视频块;
70.视频块传输单元920,用于针对各个视频块,通过所述输入节点将当前视频块传输至对应的输出节点,并当所述当前视频块传输完成时,向所述当前视频块对应的输出节点发送消息包;其中,所述视频块与所述输出节点一一对应,所述消息包中包括所述当前视频帧的第一视频标识和所述当前视频块的第一帧号标识;同一视频流中的各个视频帧的第一视频标识相同,由同一视频帧切割生成的各个视频块的第一帧号标识相同;
71.消息包发送单元930,用于当同一视频帧切割生成的各个视频块及所述消息包均传输完成时,通过所述输入节点通过所述主控模块将所述消息包发送至所述帧同步控制模块;
72.帧同步信号生成单元940,用于响应于所述消息包,通过所述帧同步控制模块根据所述消息包中的所述第一视频标识及所述第一帧号标识对初始帧同步信号进行处理,生成目标帧同步信号,并将所述目标帧同步信号分别发送至所述各个视频块对应的输出节点;
73.第一视频块发送单元950,用于针对各个输出节点,通过当前输出节点对所述目标帧同步信号进行解析,确定第二视频标识及第二帧号标识,并当所述第一视频标识与所述第二视频标识相同,且所述第一帧号标识与所述第二帧号标识相同时,将所述当前输出节点中所述第一帧号标识的视频块发送至显示设备。
74.可选的,所述第一视频标识包括第一视频id;
75.所述帧同步信号生成单元,用于:
76.按照所述第一视频id的预设顺序,在所述初始帧同步信号的下降沿的预设时长后,所述帧同步控制模块在预设周期内根据所述第一视频id对应的第一帧号标识,向所述初始帧同步信号发送与所述第一帧号标识对应的目标脉冲信号,生成目标帧同步信号。
77.可选的,所述装置还包括:
78.第二视频块发送单元,用于针对所述各个输出节点,当当前输出节点确定所述第一视频标识与所述第二视频标识相同,且所述第一帧号标识与所述第二帧号标识不相同时,将所述当前输出节点中所述第二帧号标识对应的视频块发送至所述显示设备。
79.可选的,所述第一帧号标识为第一帧号id,所述第一帧号id为通过循环计数器循环计数的id,所述第一帧号id按照同一视频流中视频帧的先后顺序依次循环计数。
80.可选的,所述输入节点包括本地流输入节点和网络流输入节点,所述输出节点包括本地流输出节点。
81.可选的,所述视频块传输单元,用于:
82.获取预先存储的业务配置信息;其中,所述业务配置信息包括输入节点与至少两
个输出节点的映射关系;
83.根据所述业务配置信息确定与所述输入节点具有映射关系的输出节点;
84.针对各个视频块,所述输入节点将当前视频块传输至对应的输出节点;其中,所述当前视频块对应的输出节点为与所述输入节点具有映射关系的输出节点。
85.可选的,所述业务配置信息还包括所述输入节点的同步视频id;
86.所述装置还包括:
87.第一视频标识确定单元,用于在针对视频流中的各个视频帧,所述输入节点对当前视频帧进行切割,生成至少两个视频块之前,响应于视频流同步事件被触发,所述主控模块将所述同步视频id作为所述视频流中各个视频帧的第一视频标识。
88.本发明实施例所提供的视频流同步装置可执行本发明任意实施例所提供的视频流同步方法,具备执行方法相应的功能模块和有益效果。
89.实施例三
90.本发明实施例提供了一种视频流同步平台,如图5所示,所述视频流同步平台包括主控模块510、帧同步控制模块520、输入节点530及输出节点540;其中,
91.所述输入节点530用于,针对视频流中的各个视频帧,对当前视频帧进行切割,生成至少两个视频块;
92.所述输入节点530还用于,针对各个视频块,将当前视频块传输至对应的输出节点540,并当所述当前视频块传输完成时,向所述当前视频块对应的输出节点540发送消息包;其中,所述视频块与所述输出节点一一对应,所述消息包中包括所述当前视频帧的第一视频标识和所述当前视频块的第一帧号标识;同一视频流中的各个视频帧的第一视频标识相同,由同一视频帧切割生成的各个视频块的第一帧号标识相同;
93.所述输入节点530还用于,当同一视频帧切割生成的各个视频块及所述消息包均传输完成时,通过所述主控模块510将所述消息包发送至所述帧同步控制模块520;
94.所述帧同步控制模块520用于,响应于所述消息包,根据所述消息包中的所述第一视频标识及所述第一帧号标识对初始帧同步信号进行处理,生成目标帧同步信号,并将所述目标帧同步信号分别发送至所述各个视频块对应的输出节点540;
95.针对各个输出节点540,当前输出节点对所述目标帧同步信号进行解析,确定第二视频标识及第二帧号标识,并当所述第一视频标识与所述第二视频标识相同,且所述第一帧号标识与所述第二帧号标识相同时,将所述当前输出节点中所述第一帧号标识的视频块发送至显示设备。
96.视频流同步平台旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。视频流同步平台还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
97.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被
实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
98.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
99.为了提供与用户的交互,可以在视频流同步平台上实施此处描述的系统和技术,该视频流同步平台具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给视频流同步平台。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
100.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
101.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
102.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
103.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

技术特征:
1.一种视频流同步方法,其特征在于,应用于视频流同步平台,所述视频流同步平台包括主控模块、帧同步控制模块、输入节点及输出节点,所述方法包括:针对视频流中的各个视频帧,所述输入节点对当前视频帧进行切割,生成至少两个视频块;针对各个视频块,所述输入节点将当前视频块传输至对应的输出节点,并当所述当前视频块传输完成时,向所述当前视频块对应的输出节点发送消息包;其中,所述视频块与所述输出节点一一对应,所述消息包中包括所述当前视频帧的第一视频标识和所述当前视频块的第一帧号标识;同一视频流中的各个视频帧的第一视频标识相同,由同一视频帧切割生成的各个视频块的第一帧号标识相同;当同一视频帧切割生成的各个视频块及所述消息包均传输完成时,所述输入节点通过所述主控模块将所述消息包发送至所述帧同步控制模块;响应于所述消息包,所述帧同步控制模块根据所述消息包中的所述第一视频标识及所述第一帧号标识对初始帧同步信号进行处理,生成目标帧同步信号,并将所述目标帧同步信号分别发送至所述各个视频块对应的输出节点;针对各个输出节点,当前输出节点对所述目标帧同步信号进行解析,确定第二视频标识及第二帧号标识,并当所述第一视频标识与所述第二视频标识相同,且所述第一帧号标识与所述第二帧号标识相同时,将所述当前输出节点中所述第一帧号标识的视频块发送至显示设备。2.根据权利要求1所述的方法,其特征在于,所述第一视频标识包括第一视频id;所述帧同步控制模块根据所述消息包中的所述第一视频标识及所述第一帧号标识对初始帧同步信号进行处理,生成目标帧同步信号,包括:按照所述第一视频id的预设顺序,在所述初始帧同步信号的下降沿的预设时长后,所述帧同步控制模块在预设周期内根据所述第一视频id对应的第一帧号标识,向所述初始帧同步信号发送与所述第一帧号标识对应的目标脉冲信号,生成目标帧同步信号。3.根据权利要求1所述的方法,其特征在于,还包括:针对所述各个输出节点,当当前输出节点确定所述第一视频标识与所述第二视频标识相同,且所述第一帧号标识与所述第二帧号标识不相同时,将所述当前输出节点中所述第二帧号标识对应的视频块发送至所述显示设备。4.根据权利要求1所述的方法,其特征在于,所述第一帧号标识为第一帧号id,所述第一帧号id为通过循环计数器循环计数的id,所述第一帧号id按照同一视频流中视频帧的先后顺序依次循环计数。5.根据权利要求1所述的方法,其特征在于,所述输入节点包括本地流输入节点和网络流输入节点,所述输出节点包括本地流输出节点。6.根据权利要求1所述的方法,其特征在于,针对各个视频块,所述输入节点将当前视频块传输至对应的输出节点,包括:获取预先存储的业务配置信息;其中,所述业务配置信息包括输入节点与至少两个输出节点的映射关系;根据所述业务配置信息确定与所述输入节点具有映射关系的输出节点;针对各个视频块,所述输入节点将当前视频块传输至对应的输出节点;其中,所述当前
视频块对应的输出节点为与所述输入节点具有映射关系的输出节点。7.根据权利要求6所述的方法,其特征在于,所述业务配置信息还包括所述输入节点的同步视频id;在针对视频流中的各个视频帧,所述输入节点对当前视频帧进行切割,生成至少两个视频块之前,还包括:响应于视频流同步事件被触发,所述主控模块将所述同步视频id作为所述视频流中各个视频帧的第一视频标识。8.一种视频流同步装置,其特征在于,应用于视频流同步平台,所述视频流同步平台包括主控模块、帧同步控制模块、输入节点及输出节点,所述装置包括:视频帧切割单元,用于针对视频流中的各个视频帧,通过所述输入节点对当前视频帧进行切割,生成至少两个视频块;视频块传输单元,用于针对各个视频块,通过所述输入节点将当前视频块传输至对应的输出节点,并当所述当前视频块传输完成时,向所述当前视频块对应的输出节点发送消息包;其中,所述视频块与所述输出节点一一对应,所述消息包中包括所述当前视频帧的第一视频标识和所述当前视频块的第一帧号标识;同一视频流中的各个视频帧的第一视频标识相同,由同一视频帧切割生成的各个视频块的第一帧号标识相同;消息包发送单元,用于当同一视频帧切割生成的各个视频块及所述消息包均传输完成时,通过所述输入节点通过所述主控模块将所述消息包发送至所述帧同步控制模块;帧同步信号生成单元,用于响应于所述消息包,通过所述帧同步控制模块根据所述消息包中的所述第一视频标识及所述第一帧号标识对初始帧同步信号进行处理,生成目标帧同步信号,并将所述目标帧同步信号分别发送至所述各个视频块对应的输出节点;第一视频块发送单元,用于针对各个输出节点,通过当前输出节点对所述目标帧同步信号进行解析,确定第二视频标识及第二帧号标识,并当所述第一视频标识与所述第二视频标识相同,且所述第一帧号标识与所述第二帧号标识相同时,将所述当前输出节点中所述第一帧号标识的视频块发送至显示设备。9.一种视频流同步平台,其特征在于,所述视频流同步平台包括主控模块、帧同步控制模块、输入节点及输出节点;其中,所述输入节点用于,针对视频流中的各个视频帧,对当前视频帧进行切割,生成至少两个视频块;所述输入节点还用于,针对各个视频块,将当前视频块传输至对应的输出节点,并当所述当前视频块传输完成时,向所述当前视频块对应的输出节点发送消息包;其中,所述视频块与所述输出节点一一对应,所述消息包中包括所述当前视频帧的第一视频标识和所述当前视频块的第一帧号标识;同一视频流中的各个视频帧的第一视频标识相同,由同一视频帧切割生成的各个视频块的第一帧号标识相同;所述输入节点还用于,当同一视频帧切割生成的各个视频块及所述消息包均传输完成时,通过所述主控模块将所述消息包发送至所述帧同步控制模块;所述帧同步控制模块用于,响应于所述消息包,根据所述消息包中的所述第一视频标识及所述第一帧号标识对初始帧同步信号进行处理,生成目标帧同步信号,并将所述目标帧同步信号分别发送至所述各个视频块对应的输出节点;
针对各个输出节点,当前输出节点对所述目标帧同步信号进行解析,确定第二视频标识及第二帧号标识,并当所述第一视频标识与所述第二视频标识相同,且所述第一帧号标识与所述第二帧号标识相同时,将所述当前输出节点中所述第一帧号标识的视频块发送至显示设备。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的视频流同步方法。

技术总结
本发明公开了一种视频流同步方法、装置、平台及存储介质。该方法包括:输入节点将视频帧切割生成的各个视频块及消息包分别传输至对应的输出节点,并当各个视频块及消息包均传输完成时,将消息包发送至帧同步控制模块;帧同步控制模块根据消息包中的第一视频标识及第一帧号标识对初始帧同步信号进行处理,生成目标帧同步信号,并将目标帧同步信号分别发送至各个视频块对应的输出节点;每个输出节点对目标帧同步信号进行解析,确定第二视频标识及第二帧号标识,并当第一视频标识与第二视频标识相同,且第一帧号标识与第二帧号标识相同时,输出节点将第一帧号标识的视频块发送至显示设备。本方案可避免视频图像存在割裂感,实现视频流同步。现视频流同步。现视频流同步。


技术研发人员:王兴安 原育光
受保护的技术使用者:浙江宇视科技有限公司
技术研发日:2023.05.11
技术公布日:2023/10/8
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐