本技术涉及视频显示,特别是涉及分布式视频同步显示方法、装置、计算机设备和存储介质。
背景技术:
1、在现有的分布式视频显示系统中,通常获取主节点和从节点中当前显示帧的同步信号系统时间和显示帧信息,将各从节点与主节点的信息比较,并基于每个从节点相较于主节点在同一帧的显示时间偏移,分别对各从节点进行调节,从而到达同步显示的效果,但是上述方法无法在确保视频同步显示的同时,降低从输入节点到输出节点的显示延时。
2、针对相关技术中存在无法在确保视频同步显示的同时,降低从输入节点到输出节点的显示延时的问题,目前还没有提出有效的解决方案。
技术实现思路
1、在本实施例中提供了一种分布式视频同步显示方法、装置、计算机设备和存储介质,以解决相关技术中系统中无法在确保视频同步显示的同时,降低从输入节点到输出节点的显示延时的问题。
2、第一个方面,在本实施例中提供了一种分布式视频同步显示方法,适用于分布式视频同步显示系统;其中,所述系统包括多个分布式输入节点和多个分布式输出节点,各所述分布式输入节点与各所述分布式输出节点通过网络连接;所述方法包括:
3、通过每个所述分布式输入节点对采集到的目标视频帧进行编码,将编码后的所述目标视频帧发送至对应的所述分布式输出节点;其中,各所述目标视频帧具有同步显示需求;
4、在检测到所述分布式输出节点上的所述目标视频帧处于待显示状态时,确定所述目标视频帧对应的实际能达最低显示延时时间;
5、确定与预设显示延时时间的差值超过预设阈值的所有所述实际能达最低显示延时时间;
6、在各所述实际能达最低显示延时时间均小于所述预设显示延时时间的情况下,基于各所述实际能达最低显示延时时间中的最大实际能达最低显示延时时间,控制各所述目标视频帧进行同步显示。
7、在其中的一些实施例中,所述确定所述目标视频帧对应的实际能达最低显示延时时间,包括:
8、从所述目标视频帧对应的补充增强信息中,获取所述目标视频帧的采集完成时间戳;
9、确定所述目标视频帧对应的最新垂直同步信号时间戳;
10、基于所述采集完成时间戳和所述最新垂直同步信号时间戳,确定所述目标视频帧对应的所述实际能达最低显示延时时间。
11、在其中的一些实施例中,所述确定与预设显示延时时间的差值超过预设阈值的所有所述实际能达最低显示延时时间,包括:
12、确定所述实际能达最低显示延时时间与当前的所述预设显示延时时间之间的差值;
13、在所述差值超过预设阈值,且所述目标视频帧对应的基准时间处于预设范围内时,判断所述实际能达最低显示延时时间是否小于所述预设显示延时时间;
14、在所述实际能达最低显示延时时间小于所述预设显示延时时间的情况下,确定与所述预设显示延时时间的差值超过所述预设阈值的所有所述实际能达最低显示延时时间。
15、在其中的一些实施例中,所述在所述差值超过预设阈值,且所述目标视频帧对应的基准时间处于预设范围内时,判断所述实际能达最低显示延时时间是否小于所述预设显示延时时间,包括:
16、在所述实际能达最低显示延时时间与所述预设显示延时时间的差值超过所述预设阈值时,生成对应的报文信息;所述报文信息包括所述目标视频帧对应的所述实际能达最低显示延时时间、帧序号以及所述帧序号对应的基准时间;
17、将所述报文信息上传至预设的窗口管理节点,判断所述基准时间是否处于预设范围内;所述窗口管理节点指的是被设定用于统一管理所有所述分布式输出节点的所述分布式输出节点;
18、在所述基准时间处于所述预设范围内时,判断所述实际能达最低显示延时时间是否小于所述预设显示延时时间。
19、在其中的一些实施例中,在所述判断所述实际能达最低显示延时时间是否小于所述预设显示延时时间之后,所述方法还包括:
20、在所述实际能达最低显示延时时间大于所述预设显示延时时间的情况下,将所述实际能达最低显示延时时间下发至每个所述分布式输出节点;
21、基于所述实际能达最低显示延时时间,控制各所述分布式输出节点上的所述目标视频帧进行同步显示。
22、在其中的一些实施例中,在所述确定所述目标视频帧对应的实际能达最低显示延时时间之后,所述方法还包括:
23、在所述实际能达最低显示延时时间大于所述预设显示延时时间的情况下,生成对应的报文信息;所述报文信息包括所述目标视频帧对应的所述实际能达最低显示延时时间、帧序号以及所述帧序号对应的基准时间;
24、将所述报文信息上传至预设的窗口管理节点,判断所述基准时间是否处于预设范围内;所述窗口管理节点指的是被设定用于统一管理所有所述分布式输出节点的所述分布式输出节点;
25、在所述基准时间未处于所述预设范围内时,更新所述基准时间,将更新后的所述基准时间下发至各所述分布式输出节点;
26、在所述基准时间处于所述预设范围内时,将所述实际能达最低显示延时时间下发至每个所述分布式输出节点,基于所述实际能达最低显示延时时间控制各所述分布式输出节点上的所述目标视频帧进行同步显示。
27、在其中的一些实施例中,在所述将编码后的所述目标视频帧发送至对应的所述分布式输出节点之后,所述方法还包括:
28、在检测到所述分布式输出节点上的所述目标视频帧处于待显示状态时,确定所述目标视频帧对应的所述预设显示延时时间;
29、确定在所述预设显示延时时间下所述目标视频帧对应的第一显示时间;
30、在系统时间达到所述第一显示时间,且所述窗口管理节点未向所述分布式输出节点下发新的显示延时时间的情况下,基于所述预设显示延时时间控制各所述分布式输出节点上的所述目标视频帧进行同步显示。
31、在其中的一些实施例中,在所述将编码后的所述目标视频帧发送至对应的所述分布式输出节点之后,还包括:
32、基于所述目标视频帧当前所处的不同状态,确定所述目标视频帧对应的预测显示延时时间;所述目标视频帧的状态包括待接收状态、待解码状态和待缩放状态;
33、在所述预测显示延时时间大于所述预设显示延时时间,且所述目标视频帧对应的基准时间处于预设范围内时,基于所述预测显示延时时间对所述预设显示延时时间进行更新;
34、清除每个所述分布式输出节点上的所述预测显示延时时间。
35、在其中的一些实施例中,在所述目标视频帧当前所处的状态为待接收状态时,所述确定所述目标视频帧对应的预测显示延时时间,包括:
36、从所述目标视频帧对应的补充增强信息中,获取所述目标视频帧的采集完成时间戳和对应的码流长度;
37、确定所述目标视频帧对应的码流接收开始时间、码流传输速率预测值、解码耗时预测值和缩放耗时预测值;
38、基于所述采集完成时间戳、所述码流接收开始时间、所述码流传输速率预测值、所述码流长度、所述解码耗时预测值和所述缩放耗时预测值,确定所述目标视频帧对应的所述预测显示延时时间。
39、在其中的一些实施例中,在所述目标视频帧当前所处的状态为待解码状态时,所述确定所述目标视频帧对应的预测显示延时时间,包括:
40、从所述目标视频帧对应的补充增强信息中,获取所述目标视频帧的采集完成时间戳;
41、确定所述目标视频帧对应的码流接收结束时间、解码耗时预测值和缩放耗时预测值;
42、基于所述采集完成时间戳、所述码流接收结束时间、所述解码耗时预测值和所述缩放耗时预测值,确定所述目标视频帧对应的所述预测显示延时时间。
43、在其中的一些实施例中,在所述目标视频帧当前所处的状态为待缩放状态时,所述确定所述目标视频帧对应的预测显示延时时间,包括:
44、从所述目标视频帧对应的补充增强信息中,获取所述目标视频帧的采集完成时间戳;
45、确定所述目标视频帧对应的解码结束时间和缩放耗时预测值;
46、基于所述采集完成时间戳、所述解码结束时间和所述缩放耗时预测值,确定所述目标视频帧对应的所述预测显示延时时间。
47、在其中的一些实施例中,在所述确定所述目标视频帧对应的预测显示延时时间之后,所述方法还包括:
48、在所述预测显示延时时间大于当前的所述预设显示延时时间,且所述基准时间未处于预设范围内时,更新所述基准时间,将更新后的所述基准时间下发至各所述分布式输出节点;
49、清除每个所述分布式输出节点上的所述预测显示延时时间。
50、在其中的一些实施例中,获取所述目标视频帧对应的补充增强信息,包括:
51、在所述分布式输入节点对采集到的所述目标视频帧进行编码后,生成所述目标视频帧的补充增强信息;
52、将所述补充增强信息发送至对应的所述分布式输出节点。
53、在其中的一些实施例中,确定目标视频帧对应的预测值,包括:
54、在所述目标视频帧不是所述分布式输出节点接收到的首帧,且检测到预设的预测模型已完成训练的情况下,确定所述目标视频帧所处的图像组;
55、确定所述图像组对应的训练完备的所述预测模型;所述预测模型与所述预测值的类别相对应;
56、通过训练完备的所述预测模型对所述图像组内的各视频帧进行处理,得到所述目标视频帧对应的所述预测值。
57、在其中的一些实施例中,所述预测模型采用季节性自回归综合移动平均模型。
58、在其中的一些实施例中,在所述通过训练完备的所述预测模型对所述图像组内的各视频帧进行处理,得到所述目标视频帧对应的所述预测值之后,还包括:
59、确定与所述预测值对应的实际值;
60、确定所述图像组内每个视频帧的所述实际值与所述预测值之间的差值;
61、在各所述差值的累积和值大于预设误差阈值时,基于所述图像组内每个视频帧对应的所述实际值,对当前的所述预测模型进行训练,得到最新训练完备的所述预测模型。
62、第二个方面,在本实施例中提供了一种分布式视频同步显示装置,适用于分布式视频同步显示系统;其中,所述系统包括多个分布式输入节点和多个分布式输出节点,各所述分布式输入节点与各所述分布式输出节点通过网络连接;所述装置包括:编码模块、计算模块、比较模块以及控制模块;
63、所述编码模块,用于通过每个所述分布式输入节点对采集到的目标视频帧进行编码,将编码后的所述目标视频帧发送至对应的所述分布式输出节点;其中,各所述目标视频帧具有同步显示需求;
64、所述计算模块,用于在检测到所述分布式输出节点上的所述目标视频帧处于待显示状态时,确定所述目标视频帧对应的实际能达最低显示延时时间;
65、所述比较模块,用于确定与预设显示延时时间的差值超过预设阈值的所有所述实际能达最低显示延时时间;
66、所述控制模块,用于在各所述实际能达最低显示延时时间均小于所述预设显示延时时间的情况下,基于各所述实际能达最低显示延时时间中的最大实际能达最低显示延时时间,控制各所述目标视频帧进行同步显示。
67、第三个方面,在本实施例中提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的分布式视频同步显示方法。
68、第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的分布式视频同步显示方法。
69、与相关技术相比,在本实施例中提供的分布式视频同步显示方法、装置、计算机设备和存储介质,通过每个分布式输入节点对采集到的目标视频帧进行编码,将编码后的目标视频帧发送至对应的分布式输出节点;其中,各目标视频帧具有同步显示需求;在检测到分布式输出节点上的目标视频帧处于待显示状态时,确定目标视频帧对应的实际能达最低显示延时时间;确定与预设显示延时时间的差值超过预设阈值的所有实际能达最低显示延时时间;在各实际能达最低显示延时时间均小于预设显示延时时间的情况下,基于各实际能达最低显示延时时间中的最大实际能达最低显示延时时间,控制各目标视频帧进行同步显示,解决了无法在确保视频同步显示的同时,降低从输入节点到输出节点的显示延时的问题,实现了视频的同步显示,并降低从输入节点到输出节点的显示延时。
70、本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。