视频帧播放方法、装置、设备及存储介质与流程
未命名
09-11
阅读:87
评论:0

1.本技术涉及通信技术领域,尤其涉及一种视频帧播放方法、装置、设备及存储介质。
背景技术:
2.为提升用户体验,需要对视频帧的播放进行控制。
3.在相关技术中,对视频帧播放控制,一般是通过视频的采集帧率确定出视频帧的播放间隔,如果间隔过大就缩短,间隔过短就增加延迟。
4.如果视频帧的采集帧率不稳(第1s(秒)采集并送达5帧,第2-4秒均未送达视频帧,第5s秒采集并送达5帧),那么视频帧的播放速度也会不稳定(第1s播放5帧,第2-4秒均未送达,第5s秒播放5帧)。
技术实现要素:
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.本技术提供一种视频帧播放方法、装置、设备及存储介质,与相关技术中在视频帧的采集帧率不稳时,易造成视频帧的播放速度也不稳定相比,在本技术中,在接收到解码后输出至码流缓冲区的最新帧时,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配,其中,码流缓冲区中缓存有预设数量的待播放帧;若不匹配,则根据所述送达速度自动对所述第一播放速度进行调整,其中,调整的步长还与所述第一播放速度关联,可以理解,在本技术中,可及时检测当前的第一播放速度的快慢(与送达速度相比),因而,可以及时根据送达速度对所述第一播放速度进行调整,即通过反馈机制不断根据送达速度修正第一播放速度,另外,由于调整的步长还与所述第一播放速度关联,因而,不会使得视频帧的播放速度突变,而是平稳的修正,例如,如果视频帧第1s采集并送达5帧,第2-4秒均未送达视频帧,第5s秒采集并送达5帧(之前视频帧是每s采集并送达2帧,因而,每s播放2帧),由于调整的步长与之前的第一播放速度关联(每s播放2帧),那么当前调整播放速度后,也不会使得第1s播放5帧(过多调整)。因而,使得在视频帧的采集帧率不稳时,视频帧的播放速度也稳定。
附图说明
40.图1为本技术视频帧播放方法的第一实施例的流程示意图;
41.图2为本技术视频帧播放方法第二实施例的流程示意图;
42.图3为本技术实施例方案涉及的硬件运行环境的设备结构示意图;
43.图4为本技术视频帧播放方法涉及的调整示意图。
具体实施方式
44.应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
45.本技术实施例提供一种视频帧播放方法,在本技术视频帧播放方法的第一实施例中,参照图1,所述方法包括:
46.步骤s10,在接收到解码后输出至码流缓冲区的最新帧时,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配,其中,码流缓冲区中缓存有预设数量的待播放帧;
47.步骤s20,若不匹配,则根据所述送达速度自动对所述第一播放速度进行调整,其
中,调整第一播放速度的调整步长与第一播放速度关联。
48.在本实施例中,针对的研发背景为:
49.在相关技术中,如果视频帧的采集帧率不稳(第1s采集并送达5帧,第2-4秒均未送达视频帧,第5s秒采集并送达5帧),那么视频帧的播放速度也会不稳定(第1s播放5帧,第2-4秒均未送达,第5s秒播放5帧)。
50.在本技术中,旨在提升视频帧的播放稳定性(如果视频帧的采集帧率不稳,即第1s采集并送达5帧,第2-4秒均未送达视频帧,第5s秒采集并送达5帧,对应播放时,也不会使得第1s播放5帧,而第2-4秒未能播放视频帧等)。
51.具体步骤如下:
52.步骤s10,在接收到解码后输出至码流缓冲区的最新帧时,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配,其中,码流缓冲区中缓存有预设数量的待播放帧;
53.作为一种示例,视频帧播放方法应用于视频播放端,视频播放端的码流缓冲区中缓存有预设数量的待播放帧。
54.也即,需要说明的是:
55.采集视频帧后,需要对其进行解码,然后将解码的视频帧发送给码流缓冲区,其中,在码流缓冲区缓存有预设数量的待播放帧,用做调节解码之后播放环节的播放速度。
56.作为一种示例,解码端将解码后的视频帧送达给视频播放端,视频播放端接收解码端发送的解码后的视频帧。
57.作为一种示例,视频帧送达至码流缓冲区的送达速度与视频帧的解码速度关联,和/或者与视频帧的传输速度关联。
58.作为一种示例,视频帧的传输速度与网络质量等关联。
59.作为一种示例,解码速度快而传输速度慢,或者解码速度慢而传输速度快、或者解码速度快而传输速度快,或者解码速度慢而传输速度慢等均会影响送达速度。
60.作为一种示例,若到达码流缓冲区的送达速度快,而对应播放速度慢,则需要提升播放速度;
61.作为一种示例,若到达码流缓冲区的送达速度慢,而对应播放速度快,则需要降低播放速度。
62.作为一种示例,需要先确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配:
63.其中,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配的方式可以是:
64.第一,在接收到解码后输出至码流缓冲区的最新帧时,确定一定时间段内所播放的数据帧是否和所送达的数据帧是否一样,若一样,则匹配,若不一样,则不匹配;
65.第二,在接收到解码后输出至码流缓冲区的最新帧时,根据播放码流缓冲区中当前待播放帧所需要等待的第一时间,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配;
66.其中,在第一时间等于对应阈值时,所述第一播放速度与送达速度匹配;
67.作为一种示例,对应阈值为0或者其他设定的值。
68.可以理解,在播放稳定的情况下,码流缓冲区中接收了一帧新的解码帧,则需要播放出一帧待播放帧(接收了一帧,需要出去一帧)。
69.因而,码流缓冲区中在接收到一帧新的解码帧时,根据其播放待播放帧时所需要等待的第一时间(delay),确定其播放是否稳定。
70.作为一种示例,所述第一时间可以通过所述当前待播放帧的编码时刻、接收最新帧的接收时刻,当前待播放帧对应上一帧的播放时刻与编码时刻确定。
71.即作为一种示例,第一时间delay=上一帧的编码时刻(basetime)-当前待播放帧的编码时刻(frmtime)+(最新帧的接收时刻-上一帧的播放时刻)(disttime=time-checktime)。
72.或者作为一种示例,第一时间delay=上一帧的编码时刻(basetime)-当前待播放帧的编码时刻(frmtime)+(最新帧的接收时刻-上一帧的播放时刻)(disttime=time-checktime)
–
realtimeadjust(实时调整时间,初始值为0)。
73.作为一种示例,第一时间为0时,确定其播放是稳定的,即码流缓冲区中接收了一帧新的解码帧,则播放出一帧待播放帧。
74.作为一种示例,第一时间不为0时,确定其播放是不稳定的。
75.作为一种示例,第一时间小于0时,此时,确定送达速度慢(如果最新帧接收时,恰好播放待播放帧,则等于0,而第一时间小于0,说明最新帧没有接收时,已经播放待播放帧)此时,送达速度慢,而播放速度快。
76.作为一种示例,第一时间大于0时(如果最新帧接收时,恰好播放待播放帧,则等于0,而第一时间小于0,说明最新帧接收时,还没有播放待播放帧),此时,送达速度快,而播放速度慢。
77.步骤s20,若不匹配,则根据所述送达速度自动对所述第一播放速度进行调整,其中,调整第一播放速度的调整步长与第一播放速度关联。
78.作为一种示例,若第一播放速度不与对应视频帧到达码流缓冲区的送达速度匹配,则根据所述送达速度自动对所述第一播放速度进行调整。
79.作为一种示例,若第一播放速度大于对应送达速度,或者若第一播放速度小于对应送达速度,则根据所述送达速度自动对所述第一播放速度进行调整。
80.作为一种示例,调整第一播放速度的调整步长与第一播放速度关联,由于调整步长与第一播放速度关联,而不是随意的调整第一播放速度,因而,使得播放速度的调整更加稳定。
81.作为一种示例,调整步长是第一播放速度的基础上提升相应的百分比。
82.作为一种示例,调整步长是第一播放速度的基础上+预设速度。
83.作为一种示例,调整步长与第一播放速度存在其他的关联关系。
84.作为一种示例,之前视频帧是每s(秒)采集并送达2帧,因而,每s播放2帧),由于调整的步长与之前的第一播放速度关联(每s播放2帧),那么当前调整播放速度后,也不会使得第1s播放5帧(过多调整,而是每s播放2.5帧或者3帧)。因而,使得在视频帧的采集帧率不稳时,视频帧的播放速度也稳定。
85.其中,当前视频帧播放模式包括回放模式与实时模式;
86.所述若不匹配,则根据所述送达速度自动对所述第一播放速度进行调整的步骤,
包括:
87.步骤s21,若不匹配,则根据所述送达速度,采用与回放模式对应的调整模式,自动对所述第一播放速度进行调整。
88.作为一种示例,若不匹配,则根据所述送达速度,采用与实时模式对应的调整模式,自动对所述第一播放速度进行调整;
89.作为一种示例,若不匹配,则根据所述送达速度,采用与回访对应的调整模式,自动对所述第一播放速度进行调整。
90.其中,如果视频帧的播放模式是回放模式,所述第一时间和所述当前待播放帧的编码时刻、接收最新帧的接收时刻,当前待播放帧对应上一帧的播放时刻与编码时刻关联;
91.所述若不匹配,则根据所述送达速度,采用与当前视频帧播放模式对应的调整模式,自动对所述第一播放速度进行调整的步骤,包括:
92.步骤a1,若第一时间小于对应阈值,则等待第一时间后,输出当前待播放帧;
93.作为一种示例,如图4所示,若第一时间小于0(阈值),则等待第一时间后,输出当前待播放帧。
94.步骤a2,若第一时间大于对应阈值,则立刻输出当前待播放帧。
95.作为一种示例,如图4所示,若第一时间大于对应0,则立刻输出当前待播放帧。
96.且需要说明的是,由于是回放模式,若第一时间不等于对应阈值后,为了保证图像连续,需要对对应播放时刻checktime以及基准时间basetime进行校正,使后面的图像能保持平滑,避免播放速度过快或者过慢的现象发生。
97.本技术提供一种视频帧播放方法、装置、设备及存储介质,与相关技术中在视频帧的采集帧率不稳时,易造成视频帧的播放速度也不稳定相比,在本技术中,在接收到解码后输出至码流缓冲区的最新帧时,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配,其中,码流缓冲区中缓存有预设数量的待播放帧;若不匹配,则根据所述送达速度自动对所述第一播放速度进行调整,其中,调整的步长还与所述第一播放速度关联,可以理解,在本技术中,可及时检测当前的第一播放速度的快慢(与送达速度相比),因而,可以及时根据送达速度对所述第一播放速度进行调整,即通过反馈机制不断根据送达速度修正第一播放速度,另外,由于调整的步长还与所述第一播放速度关联,因而,不会使得视频帧的播放速度突变,而是平稳的修正,例如,如果视频帧第1s采集并送达5帧,第2-4秒均未送达视频帧,第5s秒采集并送达5帧(之前视频帧是每s采集并送达2帧,因而,每s播放2帧),由于调整的步长与之前的第一播放速度关联(每s播放2帧),那么当前调整播放速度后,也不会使得第1s播放5帧(过多调整)。因而,使得在视频帧的采集帧率不稳时,视频帧的播放速度也稳定。
98.进一步地,基于本技术中第一实施例,提供本技术的另一实施例,在该实施例中,如果视频帧的播放模式是实时模式,所述当前待播放帧所需要等待的第一时间是不断更新的,所述第一时间的更新情况与上一次调整后的第一播放速度,以及上一次调整后对应视频帧的送达速度关联。
99.作为一种示例,如果视频帧的播放模式是实时模式,那么其对应的第一时间的更新情况与上一次调整后的第一播放速度,以及上一次调整后对应视频帧的送达速度关联(本次对播放速度的修正,是与上一次播放速度的调整i情况以及对应视频帧的送达速度关
联),例如,如果第一播放速度是单位时间内播放25帧,调整后第一播放速度是单位时间内播放50帧,那么在播放稳定后,对应后续以单位时间内播放50帧为基准,确定是否与对应视频帧的送达速度匹配的,或者,调整后第一播放速度是单位时间内播放50帧后,播放不稳定,直至第一播放速度是单位时间内播放75帧后,才播放稳定,那么对应后续以单位时间内播放75帧为基准,确定是否与对应视频帧的送达速度匹配的。
100.其中,所述第一时间(delay)与第一差值、第一最大播放阈值或者第一最小播放阈值关联;
101.所述第一差值与视频帧的送达速度关联,所述第一差值可以通过当前接收到的最新帧以及当前解码帧之间的帧数差计算得到;
102.所述第一最大播放阈值为当前单位时间内允许播放的最多帧数,其与上一视频帧播放后所对应调整后的第一播放速度关联;
103.所述第一最小播放阈值为当前单位时间内允许播放的最少帧数,其与上一视频帧播放后所对应调整后的第一播放速度关联;
104.如图2所示,所述若不匹配,则根据所述送达速度,采用与当前视频帧播放模式对应的调整模式,自动对所述第一播放速度进行调整的步骤,包括:
105.步骤b1,若第一差值大于第一最大播放阈值,则立刻输出当前待播放帧;
106.步骤b2,若第一差值小于第一最小播放阈值,则等待第一时间后,输出当前待播放帧。
107.作为一种示例,第一时间delay=上一帧的编码时刻(basetime)-当前待播放帧的编码时刻(frmtime)+(最新帧的接收时刻-上一帧的播放时刻)(disttime=time-checktime)
–
realtimeadjust(实时调整时间,初始值为0)。
108.其中,realtimeadjust与adjust关联。
109.作为一种示例,adjust与realtimeadjust进行比较后,adjust如果大于0则realtimeadjust+1否则realtimeadjust-1。
110.作为一种示例:
111.adjust=-1+(upper-dist)*a阈值/(upper-normal);
112.adjust=1+(low-dist)*a阈值/low;
113.其中,dist表示第一差值(通过当前接收到的最新帧以及当前解码帧之间的帧数差),upper表示对应当前单位时间内允许播放的最多帧数,其与上一视频帧播放后所对应调整后的第一播放速度关联,low表示当前单位时间内允许播放的最少帧数,其与上一视频帧播放后所对应调整后的第一播放速度关联,normal表示对应当前单位时间内稳定播放时的帧数,其与上一视频帧播放后所对应调整后的第一播放速度关联。
114.需要明确是是,对应upper以及low也是对应更新的,而不是固定不变化的,因而,才使得调整步长更加符合实时播放的情况,才能更加满足稳定性的要求。
115.根据上述adjust的公式可以确定,如果upper-dist小于0,则第一时间delay大于0,则需要立刻输出当前待播放帧(若第一差值大于第一最大播放阈值,则立刻输出当前待播放帧)。
116.如果low-dist大于0,则第一时间delay大于0,则等待第一时间后,输出当前待播放帧(若第一差值小于第一最小播放阈值,则等待第一时间后,输出当前待播放帧)。
117.在本实施例中,可以明确,第一时间和上一次调整后的播放速度以及对应传送速度关联,因而,使得在视频帧的采集帧率不稳时,视频帧的播放速度也稳定。
118.其中,所述等待第一时间后,输出当前待播放帧,或者立刻输出当前待播放帧的步骤之后,包括:
119.步骤c1,若再次接收解码后输出的视频帧,则更新所述第一时间,得到第二时间,其中,所述第二时间与第二差值、第二最大播放阈值和第二最小播放阈值关联,所述第二最大播放阈值与第一最大播放阈值与对应调整后的第一传播速度关联,第二最小播放阈值与第一最小播放阈值与对应调整后的第一传播速度关联;
120.在本实施例中,若再次接收解码后输出的视频帧后,此时,对应upper以及low也是对应更新的,即第一传播速度调整后,对应upper以及low也是对应更新的。
121.对于播放端而言,若再次接收解码后输出的视频帧,则更新delay,得到更新后的delay即第二时间。
122.步骤c2,确定所述第二时间是否比第一时间更趋近于所述对应阈值;
123.确定所述更新后的delay是否比第一时间更趋近于所述对应阈值(如0)。
124.步骤c3,若未更趋近于所述对应阈值,则继续对调整后的第一传播速度进行调整,直至第二差值与第二最大播放阈值或者第二最小播放阈值更趋近;
125.步骤c4,若更趋近于所述对应阈值,且在快放调整时,所述第二差值小于所述第二最大播放阈值;或者若更趋近于所述对应阈值,且在慢放调整时,所述第二差值大于所述第二最小播放阈值,则停止调整。
126.若未更趋近于所述对应阈值,则继续对调整后的第一传播速度进行调整,直至第二差值与第二最大播放阈值或者第二最小播放阈值更趋近(慢放调整),例如,增大间隔快放,或者减少间隔慢放,使得第二差值与第二最大播放阈值或者第二最小播放阈值更趋近。
127.若更趋近于所述对应阈值,且在快放调整时,所述第二差值小于所述第二最大播放阈值;或者若更趋近于所述对应阈值,且在慢放调整时,所述第二差值大于所述第二最小播放阈值,则停止调整。
128.在本实施例中,根据如果视频帧的播放模式是实时模式,所述当前待播放帧所需要等待的第一时间是不断更新的,所述第一时间的更新情况与上一次调整后的第一播放速度,以及上一次调整后对应视频帧的送达速度关联,因而,使得其更加满足实时播放帧率不稳定的场景。
129.进一步地,基于本技术中第一实施例和第二实施例,提供本技术的另一实施例,在该实施例中,所述在接收到解码后输出至码流缓冲区的最新帧时,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配的步骤,包括:
130.步骤s11,在接收到解码后输出至码流缓冲区的最新帧时,若最新帧的接收时刻以及最新帧上一帧的接收时刻之间的第二差值大于预设倍数的帧间隔时,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配;
131.其中,帧间隔为相邻帧之间的时间间隔。
132.在本实施例中,还存在容错机制,即确定若最新帧的接收时刻以及最新帧上一帧的接收时刻之间的第二差值大于预设倍数的帧间隔时(如最新帧的接收时刻是第6秒,最新
帧上一帧的接收时刻是第4秒,帧间隔是0.1秒),才执行确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配;其中,帧间隔为相邻帧之间的时间间隔,避免资源的浪费。
133.参照图3,图3是本技术实施例方案涉及的硬件运行环境的设备结构示意图。
134.如图3所示,该视频帧播放设备可以包括:处理器1001,存储器1005,通信总线1002。通信总线1002用于实现处理器1001和存储器1005之间的连接通信。
135.可选地,该视频帧播放设备还可以包括用户接口、网络接口、摄像头、rf(radio frequency,射频)电路,传感器、wifi模块等等。用户接口可以包括显示屏(display)、输入子模块比如键盘(keyboard),可选用户接口还可以包括标准的有线接口、无线接口。网络接口可以包括标准的有线接口、无线接口(如wi-fi接口)。
136.本领域技术人员可以理解,图3中示出的视频帧播放设备结构并不构成对视频帧播放设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
137.如图3所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块以及视频帧播放程序。操作系统是管理和控制视频帧播放设备硬件和软件资源的程序,支持视频帧播放程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与视频帧播放系统中其它硬件和软件之间通信。
138.在图3所示的视频帧播放设备中,处理器1001用于执行存储器1005中存储的视频帧播放程序,实现上述任一项所述的视频帧播放方法的步骤。
139.本技术视频帧播放设备具体实施方式与上述视频帧播放方法各实施例基本相同,在此不再赘述。
140.本技术还提供一种视频帧播放装置,应用于分流组件,所述视频帧播放装置包括:
141.本技术实施例提供了一种视频帧播放方法,所述方法包括:
142.在接收到解码后输出至码流缓冲区的最新帧时,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配,其中,码流缓冲区中缓存有预设数量的待播放帧;
143.若不匹配,则根据所述送达速度自动对所述第一播放速度进行调整,其中,调整第一播放速度的调整步长与第一播放速度关联。
144.在本技术的一种可能的实施方式中,在接收到解码后输出至码流缓冲区的最新帧时,根据播放码流缓冲区中当前待播放帧所需要等待的第一时间,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配;
145.其中,在第一时间等于对应阈值时,所述第一播放速度与送达速度匹配。在本技术的一种可能的实施方式中,当前视频帧播放模式包括回放模式与实时模式;
146.所述若不匹配,则根据所述送达速度自动对所述第一播放速度进行调整的步骤,包括:
147.若不匹配,则根据所述送达速度,采用与当前视频帧播放模式对应的调整模式,自动对所述第一播放速度进行调整。
148.在本技术的一种可能的实施方式中,如果视频帧的播放模式是实时模式,所述当前待播放帧所需要等待的第一时间是不断更新的,所述第一时间的更新情况与上一次调整
后的第一播放速度,以及上一次调整后对应视频帧的送达速度关联。
149.在本技术的一种可能的实施方式中,所述第一时间与第一差值、第一最大播放阈值或者第一最小播放阈值关联;
150.所述第一差值与视频帧的送达速度关联,所述第一差值可以通过当前接收到的最新帧以及当前解码帧之间的帧数差计算得到;
151.所述第一最大播放阈值为当前单位时间内允许播放的最多帧数,其与上一视频帧播放后所对应调整后的第一播放速度关联;
152.所述第一最小播放阈值为当前单位时间内允许播放的最少帧数,其与上一视频帧播放后所对应调整后的第一播放速度关联;
153.所述若不匹配,则根据所述送达速度,采用与当前视频帧播放模式对应的调整模式,自动对所述第一播放速度进行调整的步骤,包括:
154.若第一差值大于第一最大播放阈值,则立刻输出当前待播放帧;
155.若第一差值小于第一最小播放阈值,则等待第一时间后,输出当前待播放帧。
156.在本技术的一种可能的实施方式中,所述等待第一时间后,输出当前待播放帧,或者立刻输出当前待播放帧的步骤之后,包括:
157.若再次接收解码后输出的视频帧,则更新所述第一时间,得到第二时间,其中,所述第二时间与第二差值、第二最大播放阈值和第二最小播放阈值关联,所述第二最大播放阈值与第一最大播放阈值与对应调整后的第一传播速度关联,第二最小播放阈值与第一最小播放阈值与对应调整后的第一传播速度关联;
158.确定所述第二时间是否比第一时间更趋近于所述对应阈值;
159.若未更趋近于所述对应阈值,则继续对调整后的第一传播速度进行调整,直至第二差值与第二最大播放阈值或者第二最小播放阈值更趋近;
160.若更趋近于所述对应阈值,且在快放调整时,所述第二差值小于所述第二最大播放阈值;或者若更趋近于所述对应阈值,且在慢放调整时,所述第二差值大于所述第二最小播放阈值,则停止调整。
161.在本技术的一种可能的实施方式中,如果视频帧的播放模式是回放模式,所述第一时间和所述当前待播放帧的编码时刻、接收最新帧的接收时刻,当前待播放帧对应上一帧的播放时刻与编码时刻关联;
162.所述若不匹配,则根据所述送达速度,采用与当前视频帧播放模式对应的调整模式,自动对所述第一播放速度进行调整的步骤,包括:
163.若第一时间小于对应阈值,则等待第一时间后,输出当前待播放帧;
164.若第一时间大于对应阈值,则立刻输出当前待播放帧。
165.在本技术的一种可能的实施方式中,调整播放速度后,帧累计超过播放的极限值,为防止累计效应造成的视频播放延迟,对超过极值的帧进行丢弃处理。
166.在本技术的一种可能的实施方式中,所述在接收到解码后输出至码流缓冲区的最新帧时,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配的步骤,包括:
167.在接收到解码后输出至码流缓冲区的最新帧时,若最新帧的接收时刻以及最新帧上一帧的接收时刻之间的第二差值大于预设倍数的帧间隔时,确定码流缓冲区中当前待播
放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配;
168.其中,帧间隔为相邻帧之间的时间间隔。
169.本技术视频帧播放装置的具体实施方式与上述视频帧播放方法各实施例基本相同,在此不再赘述。
170.本技术实施例提供了一种存储介质,且所述存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的视频帧播放方法的步骤。
171.本技术存储介质具体实施方式与上述视频帧播放方法各实施例基本相同,在此不再赘述。
172.本技术还提供一种计算机程序产品、包括计算机程序,该计算机程序被处理器执行时实现上述的视频帧播放方法的步骤。
173.本技术计算机程序产品的具体实施方式与上述视频帧播放方法各实施例基本相同,在此不再赘述。
174.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
175.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
176.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加硬件平台的方式来实现,也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
177.以上仅为本发明的优选实施例,并非因此限制本发明的保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的保护范围内。
技术特征:
1.一种视频帧播放方法,其特征在于,所述方法包括:在接收到解码后输出至码流缓冲区的最新帧时,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配,其中,码流缓冲区中缓存有预设数量的待播放帧;若不匹配,则根据所述送达速度自动对所述第一播放速度进行调整,其中,调整第一播放速度的调整步长与第一播放速度关联。2.如权利要求1所述的视频帧播放方法,其特征在于,在接收到解码后输出至码流缓冲区的最新帧时,根据播放码流缓冲区中当前待播放帧所需要等待的第一时间,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配;其中,在第一时间等于对应阈值时,所述第一播放速度与送达速度匹配。3.如权利要求2所述的视频帧播放方法,其特征在于,当前视频帧播放模式包括回放模式与实时模式;所述若不匹配,则根据所述送达速度自动对所述第一播放速度进行调整的步骤,包括:若不匹配,则根据所述送达速度,采用与当前视频帧播放模式对应的调整模式,自动对所述第一播放速度进行调整。4.如权利要求3所述的视频帧播放方法,其特征在于,如果视频帧的播放模式是实时模式,所述当前待播放帧所需要等待的第一时间是不断更新的,所述第一时间的更新情况与上一次调整后的第一播放速度,以及上一次调整后对应视频帧的送达速度关联。5.如权利要求4所述的视频帧播放方法,其特征在于,所述第一时间与第一差值、第一最大播放阈值或者第一最小播放阈值关联;所述第一差值与视频帧的送达速度关联,所述第一差值可以通过当前接收到的最新帧以及当前解码帧之间的帧数差计算得到;所述第一最大播放阈值为当前单位时间内允许播放的最多帧数,其与上一视频帧播放后所对应调整后的第一播放速度关联;所述第一最小播放阈值为当前单位时间内允许播放的最少帧数,其与上一视频帧播放后所对应调整后的第一播放速度关联;所述若不匹配,则根据所述送达速度,采用与当前视频帧播放模式对应的调整模式,自动对所述第一播放速度进行调整的步骤,包括:若第一差值大于第一最大播放阈值,则立刻输出当前待播放帧;若第一差值小于第一最小播放阈值,则等待第一时间后,输出当前待播放帧。6.如权利要求5所述的视频帧播放方法,其特征在于,所述等待第一时间后,输出当前待播放帧,或者立刻输出当前待播放帧的步骤之后,包括:若再次接收解码后输出的视频帧,则更新所述第一时间,得到第二时间,其中,所述第二时间与第二差值、第二最大播放阈值和第二最小播放阈值关联,所述第二最大播放阈值与第一最大播放阈值与对应调整后的第一传播速度关联,第二最小播放阈值与第一最小播放阈值与对应调整后的第一传播速度关联;确定所述第二时间是否比第一时间更趋近于所述对应阈值;若未更趋近于所述对应阈值,则继续对调整后的第一传播速度进行调整,直至第二差
值与第二最大播放阈值或者第二最小播放阈值更趋近;若更趋近于所述对应阈值,且在快放调整时,所述第二差值小于所述第二最大播放阈值;或者若更趋近于所述对应阈值,且在慢放调整时,所述第二差值大于所述第二最小播放阈值,则停止调整。7.如权利要求3所述的视频帧播放方法,其特征在于,如果视频帧的播放模式是回放模式,所述第一时间和所述当前待播放帧的编码时刻、接收最新帧的接收时刻,当前待播放帧对应上一帧的播放时刻与编码时刻关联;所述若不匹配,则根据所述送达速度,采用与当前视频帧播放模式对应的调整模式,自动对所述第一播放速度进行调整的步骤,包括:若第一时间小于对应阈值,则等待第一时间后,输出当前待播放帧;若第一时间大于对应阈值,则立刻输出当前待播放帧。8.如权利要求1所述的视频帧播放方法,其特征在于,调整播放速度后,帧累计超过播放的极限值,为防止累计效应造成的视频播放延迟,对超过极值的帧进行丢弃处理。9.如权利要求1所述的视频帧播放方法,其特征在于,所述在接收到解码后输出至码流缓冲区的最新帧时,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配的步骤,包括:在接收到解码后输出至码流缓冲区的最新帧时,若最新帧的接收时刻以及最新帧上一帧的接收时刻之间的第二差值大于预设倍数的帧间隔时,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配;其中,帧间隔为相邻帧之间的时间间隔。10.一种视频帧播放装置,其特征在于,所述装置包括:匹配模块,用于在接收到解码后输出至码流缓冲区的最新帧时,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配,其中,码流缓冲区中缓存有预设数量的待播放帧;调整模块,用于若不匹配,则根据所述送达速度自动对所述第一播放速度进行调整,其中,调整第一播放速度的调整步长与第一播放速度关联。11.一种视频帧播放设备,其特征在于,包括存储器,处理器及存储在所述存储器上并可在所述处理器上运行的视频帧播放程序,所述处理器执行所述视频帧播放程序时实现权利要求1至9中任一项所述的视频帧播放方法的步骤。12.一种存储介质,其特征在于,所述存储介质上存储有视频帧播放程序,所述视频帧播放程序被处理器执行时实现如权利要求1至9中任一项所述的视频帧播放方法的步骤。
技术总结
本申请公开了一种视频帧播放方法、装置、设备及存储介质,该方法包括:在接收到解码后输出至码流缓冲区的最新帧时,确定码流缓冲区中当前待播放帧的第一播放速度是否与对应视频帧到达码流缓冲区的送达速度匹配,其中,码流缓冲区中缓存有预设数量的待播放帧;若不匹配,则根据所述送达速度自动对所述第一播放速度进行调整,其中,调整第一播放速度的调整步长与第一播放速度关联。本申请解决旨在提升视频帧的播放稳定性。频帧的播放稳定性。频帧的播放稳定性。
技术研发人员:赵功伟 孙旷野 潘叶青 周建 汤家映
受保护的技术使用者:杭州海康消防科技有限公司
技术研发日:2023.07.07
技术公布日:2023/9/9
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/