视频传输方法和装置、存储介质及电子装置与流程

文档序号:30581664发布日期:2022-06-29 12:35阅读:74来源:国知局
视频传输方法和装置、存储介质及电子装置与流程

1.本发明涉及通信领域,具体而言,涉及一种视频传输方法和装置、存储介质及电子装置。


背景技术:

2.目前,网络平台可以同时向多台网络摄像机(ip camera,简称ipc)拉取视频流。而ipc数量越多,多个关键视频帧同时经由网络到达网络平台的概率就越大,从而产生关键视频帧碰撞的情况。在发生关键视频帧碰撞的情况下,在同一通信网络中会造成短时间大数据量的突发,易造成数据拥塞、画面时延增大、甚至卡顿。
3.相关技术中,为了避免发生关键视频帧碰撞,在多个关键视频帧到达网络平台后,由网络平台对多台ipc产生关键视频帧的时间进行调整,以降低关键视频帧碰撞的概率。而在关键视频帧到达网络平台前,多个关键视频帧在网络传输中已经发生了碰撞,因此,网络平台在多个关键视频帧到达后再进行调整,会造成调整不及时。
4.针对相关技术中,由于网络平台在多个关键视频帧到达后再进行调整,导致调整不及时的技术问题,尚未提出有效的解决方案。


技术实现要素:

5.本发明实施例提供了一种视频传输方法和装置、存储介质及电子装置,以至少解决相关技术中,由于网络平台在多个关键视频帧到达后再进行调整,导致调整不及时的技术问题。
6.根据本发明实施例的一个实施例,提供了一种视频传输方法,包括:获取当前拍摄设备所要传输的第一关键视频帧的第一参数信息,及与上述当前拍摄设备关联的参考拍摄设备所要传输的第二关键视频帧的第二参数信息,其中,上述当前拍摄设备与上述参考拍摄设备位于同一通信网络内;利用上述第一参数信息和上述第二参数信息,对上述第一关键视频帧与上述第二关键视频帧进行碰撞检测;在碰撞检测的结果指示上述第一关键视频帧与至少一个上述第二关键视频帧发生视频帧碰撞的情况下,从上述当前拍摄设备的空闲时段内确定出目标空闲时隙;将上述第一关键视频帧调整至上述目标空闲时隙进行传输。
7.在一个示例性实施例中,上述利用上述第一参数信息和上述第二参数信息,对上述第一关键视频帧与上述第二关键视频帧进行碰撞检测包括:根据上述第一参数信息确定上述第一关键视频帧在所属第一图片组对应的第一传输周期中的第一时段;根据每个上述第二参数信息确定每个上述第二关键视频帧各自在与上述第一传输周期匹配的第二传输周期中的第二时段,其中,上述第一传输周期与上述第二传输周期为同一周期;在上述第一时段与至少一个上述第二时段为同一时段的情况下,确定上述第一关键视频帧与位于同一时段的上述第二关键视频帧发生视频帧碰撞。
8.在一个示例性实施例中,在上述获取当前拍摄设备所要传输的第一关键视频帧的第一参数信息,及与上述当前拍摄设备关联的参考拍摄设备所要传输的第二关键视频帧的
第二参数信息之前,还包括:将上述第一关键视频帧对应的上述第一传输周期按照单位时间间隔划分为第一时间段序列,其中,上述第一时间段序列中的每个时段内包括n个时隙;将各个上述第二关键视频帧各自对应的上述第二传输周期按照上述单位时间间隔划分为第二时间段序列,其中,上述第二时间段序列中的每个时段内包括n个时隙,上述n为正整数;按照时间顺序对上述第一时间段序列及各个上述第二时间段序列进行对齐。
9.在一个示例性实施例中,上述从上述当前拍摄设备的空闲时段内确定出目标空闲时隙包括:获取上述第一传输周期内并未传输上述第一关键视频帧的第一候选时段,及各个上述第二传输周期内并未传输上述第二关键视频帧的第二候选时段;根据上述第一候选时段与上述第二候选时段的交集结果,确定出上述空闲时段;在上述空闲时段内确定出上述目标空闲时隙。
10.在一个示例性实施例中,上述根据上述第一候选时段与上述第二候选时段的交集结果,确定出上述空闲时段包括:在上述交集结果指示包括至少一个候选时段的情况下,将上述至少一个候选时段确定为上述空闲时段;在上述交集结果指示包括为零的情况下,统计各个候选时段内发生视频帧碰撞的拍摄设备的数量;将数量最小的时段确定为上述空闲时段。
11.在一个示例性实施例中,上述在上述空闲时段内确定出上述目标空闲时隙包括:在与上述第一关键视频帧发生视频帧碰撞的上述第二关键视频帧所在的上述参考拍摄设备的数量小于目标阈值的情况下,将位于上述空闲时段内中心位置的时隙确定为上述目标空闲时隙;在与上述第一关键视频帧发生视频帧碰撞的上述第二关键视频帧所在的上述参考拍摄设备的数量大于上述目标阈值的情况下,将码率最低的时隙确定为上述目标空闲时隙。
12.在一个示例性实施例中,上述将上述第一关键视频帧调整至上述目标空闲时隙进行传输包括:在上述目标空闲时隙生成与上述第一关键视频帧匹配的第三关键视频帧,其中,上述第三关键视频帧用于替代上述第一关键视频帧进行传输。
13.在一个示例性实施例中,在上述将上述第一关键视频帧调整至上述目标空闲时隙进行传输之前,还包括:获取上述当前拍摄设备对应的第一调整优先级,及与上述第一关键视频帧发生视频帧碰撞的上述第二关键视频帧所在的上述参考拍摄设备对应的第二调整优先级;在上述第一调整优先级高于上述第二调整优先级的情况下,确定对上述第一关键视频帧进行调整;在上述第一调整优先级低于上述第二调整优先级的情况下,确定对上述第一关键视频帧不调整;在上述第一调整优先级等于上述第二调整优先级的情况下,根据上述当前拍摄设备的设备标识确定是否调整上述第一关键视频帧。
14.在一个示例性实施例中,上述根据上述当前拍摄设备的设备标识确定是否调整上述第一关键视频帧包括:获取上述当前拍摄设备对应的第一设备标识,及与上述第一关键视频帧发生视频帧碰撞的上述第二关键视频帧所在的上述参考拍摄设备对应的第二设备标识;在上述第一设备标识大于上述第二设备标识的情况下,确定对上述第一关键视频帧进行调整;在上述第一设备标识小于上述第二设备标识的情况下,确定对上述第一关键视频帧不调整。
15.根据本发明实施例的另一个实施例,还提供了一种视频传输装置,包括:获取模块,用于获取当前拍摄设备所要传输的第一关键视频帧的第一参数信息,及与上述当前拍
摄设备关联的参考拍摄设备所要传输的第二关键视频帧的第二参数信息,其中,上述当前拍摄设备与上述参考拍摄设备位于同一通信网络内;检测模块,用于利用上述第一参数信息和上述第二参数信息,对上述第一关键视频帧与上述第二关键视频帧进行碰撞检测;确定模块,用于在碰撞检测的结果指示上述第一关键视频帧与至少一个上述第二关键视频帧发生视频帧碰撞的情况下,从上述当前拍摄设备的空闲时段内确定出目标空闲时隙;调整模块,用于将上述第一关键视频帧调整至上述目标空闲时隙进行传输。
16.根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述视频传输方法。
17.根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的视频传输方法。
18.在本发明实施例中,获取当前拍摄设备所要传输的第一关键视频帧的第一参数信息,及与当前拍摄设备关联的参考拍摄设备所要传输的第二关键视频帧的第二参数信息,其中,当前拍摄设备与参考拍摄设备位于同一通信网络内;利用第一参数信息和第二参数信息,对第一关键视频帧与第二关键视频帧进行碰撞检测;在碰撞检测的结果指示第一关键视频帧与至少一个第二关键视频帧发生视频帧碰撞的情况下,从当前拍摄设备的空闲时段内确定出目标空闲时隙;将第一关键视频帧调整至目标空闲时隙进行传输;采用上述技术方案,拍摄设备在传输关键视频帧之前,多台拍摄设备自协商完成关键视频帧碰撞检测和关键视频帧错峰发送调整,避免关键视频帧发生碰撞,解决了由于网络平台在多个关键视频帧到达后再进行调整,导致调整不及时的技术问题。
附图说明
19.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
20.图1(a)-(c)是根据本发明实施例的一种可选的视频传输方法的应用场景的示意图;
21.图2是根据本发明实施例的一种可选的视频传输方法的流程图;
22.图3是根据本发明实施例的一种可选的视频传输方法的示意图;
23.图4是根据本发明实施例的另一种可选的视频传输方法的示意图;
24.图5是根据本发明实施例的另一种可选的视频传输方法的示意图;
25.图6是根据本发明实施例的另一种可选的视频传输方法的示意图;
26.图7是根据本发明实施例的另一种可选的视频传输方法的示意图;
27.图8是根据本发明实施例的另一种可选的视频传输方法的示意图;
28.图9是根据本发明实施例的另一种可选的视频传输方法的示意图;
29.图10是根据本发明实施例的另一种可选的视频传输方法的示意图;
30.图11是根据本发明实施例的另一种可选的视频传输方法的示意图;
31.图12是根据本发明实施例的一种可选的视频传输装置的结构框图。
具体实施方式
32.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
33.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
34.在本发明实施例中,提供了一种上述视频传输方法的实施例。作为一种可选的实施方式,该视频传输方法可以但不限于应用于如图1所示的应用环境中。
35.可选地,在本实施例中,如图1中(a)所示,拍摄设备101、拍摄设备102和拍摄设备103位于同一通信网络内,拍摄设备101、拍摄设备102和拍摄设备103将获取的视频数据通过网络104传输到视频预览设备105。在对拍摄设备101、拍摄设备102和拍摄设备103传输的关键视频帧进行调整之前,关键视频帧的传输示意图如图1中(b)所示,其中,虚线表示拍摄设备101传输的关键视频帧,实线表示拍摄设备102传输的关键视频帧,加粗实线表示拍摄设备103传输的关键视频帧,由图1中(b)可知,拍摄设备101、拍摄设备102和拍摄设备103传输的关键视频帧发生了碰撞。当对拍摄设备101、拍摄设备102和拍摄设备103传输关键视频帧的时隙进行了调整之后,拍摄设备101、拍摄设备102和拍摄设备103传输关键视频帧的传输示意图如图1中(c)所示,由此可以看出,拍摄设备101、拍摄设备102和拍摄设备103的各个关键视频帧错峰传输,未发生关键视频帧碰撞,避免了网络中短时间内的大数据量突发。
36.在本实施例中提供了一种视频传输方法,图2是根据本发明实施例的视频传输方法的流程图,该流程包括如下步骤:
37.步骤s202,获取当前拍摄设备所要传输的第一关键视频帧的第一参数信息,及与当前拍摄设备关联的参考拍摄设备所要传输的第二关键视频帧的第二参数信息,其中,当前拍摄设备与参考拍摄设备位于同一通信网络内;
38.步骤s204,利用第一参数信息和第二参数信息,对第一关键视频帧与第二关键视频帧进行碰撞检测;
39.步骤s206,在碰撞检测的结果指示第一关键视频帧与至少一个第二关键视频帧发生视频帧碰撞的情况下,从当前拍摄设备的空闲时段内确定出目标空闲时隙;
40.步骤s208,将第一关键视频帧调整至目标空闲时隙进行传输。
41.可选地,在本实施例中,上述拍摄设备可以包括但不限于网络摄像机,夜视摄像机,数字摄像机。也可以包括但不限于标清、高清、全高清等不同分辨率的摄像机。上述第一关键视频帧和第二关键视频帧可以但不限于为关键视频帧。上述参数信息可以包括但不限于设备标识、优先级、通道号、码流类型、码率、帧率、图片组(group of pictures,简称gop)
大小、关键视频帧的发送时间戳、关键视频帧的发送时长。当前拍摄设备可以通过但不限于组播、广播、d2d多播的方式向关联的参考拍摄设备播报参数信息;参考拍摄设备通过实时监听的方式来获取当前拍摄设备播报的参数信息。当前拍摄设备和关联的参考拍摄设备之间互为播报与实时监听的关系。也就是说,位于同一通信网络内的每个拍摄设备均会向其他关联拍摄设备播报自身发送的关键视频帧的参数信息,同时也会实时监听其他关联拍摄设备播报的关键视频帧的参数信息。获取到的关键视频帧的参数信息可以在本地缓存,并实时更新。
42.可选地,在本实施例中,第一关键视频帧与第二关键视频帧发生碰撞可以包括但不限于第一关键视频帧与第二关键视频帧位于同一传输时段、第一关键视频帧与第二关键视频帧的传输时段有交集。利用关键视频帧的发送时间戳和关键视频帧的发送时长可以确定关键视频帧的发送时间和结束时间;在确定了各个关键视频帧的发送时间和结束时间之后,可以判断各个关键视频帧之间是否发生了碰撞。
43.可选地,在本实施例中,上述时段可以包括但不限于一个或多个时隙;上述空闲时段可以是未传输关键视频帧的时段,例如,传输p帧的时段或传输b帧的时段;也可以是传输的关键视频帧的数量较少的时段,在此不作限定。从当前拍摄设备的空闲时段内确定出目标空闲时隙可以包括但不限于按照预设的规则确定出目标空闲时隙。例如,相邻的两个关键视频帧之间有多个空闲时隙,则将位于中间位置的空闲时隙确定为目标空闲时隙;或者,当拍摄设备数量较多,没有空闲时隙时,将视频码率总数最小的时隙确定为目标空闲时隙。
44.可选地,在本实施例中,将第一关键视频帧调整至目标空闲时隙可以包括但不限于将当前拍摄设备生成关键视频帧的时间向后推移预设时间,重新生成关键视频帧。
45.例如,如图3所示,同一通信网络中有三个拍摄设备,其中虚线代表的拍摄设备与实线代表的拍摄设备发生了关键视频帧碰撞,加粗实线代表的拍摄设备与其他两个拍摄设备未发生碰撞,假设实线代表的拍摄设备为待调整设备,则将待调整设备调整到空闲时段后,虚线代表的拍摄设备与实线代表的拍摄设备错峰传输关键视频帧,从而避免了拍摄设备之间的碰撞。
46.通过本技术实施例提供的方案,获取当前拍摄设备所要传输的第一关键视频帧的第一参数信息,及与当前拍摄设备关联的参考拍摄设备所要传输的第二关键视频帧的第二参数信息,其中,当前拍摄设备与参考拍摄设备位于同一通信网络内;利用第一参数信息和第二参数信息,对第一关键视频帧与第二关键视频帧进行碰撞检测;在碰撞检测的结果指示第一关键视频帧与至少一个第二关键视频帧发生视频帧碰撞的情况下,从当前拍摄设备的空闲时段内确定出目标空闲时隙;将第一关键视频帧调整至目标空闲时隙进行传输;采用上述技术方案,拍摄设备在传输关键视频帧之前,多台拍摄设备自协商完成关键视频帧碰撞检测和关键视频帧错峰发送调整,避免关键视频帧发生碰撞,解决了由于网络平台在多个关键视频帧到达后再进行调整,导致调整不及时的技术问题。
47.在一个示例性实施例中,利用第一参数信息和第二参数信息,对第一关键视频帧与第二关键视频帧进行碰撞检测包括:根据第一参数信息确定第一关键视频帧在所属第一图片组对应的第一传输周期中的第一时段;根据每个第二参数信息确定每个第二关键视频帧各自在与第一传输周期匹配的第二传输周期中的第二时段,其中,第一传输周期与第二传输周期为同一周期;在第一时段与至少一个第二时段为同一时段的情况下,确定第一关
键视频帧与位于同一时段的第二关键视频帧发生视频帧碰撞。
48.可选地,在本实施例中,上述图片组,即gop的大小,可以但不限于为关键视频帧的传输周期,例如,fps=25帧/秒,gop=50帧的视频流,每秒产生25帧视频数据,每帧间隔=1秒/25=40ms,即一个时隙的大小为40ms;每50帧产生一个关键视频帧,那么关键视频帧的传输周期gop=50*40ms=2000ms=2s。
49.可选地,在本实施例中,可以但不限于将传输周期划分为多个时段,每个时段可以包括但不限于一个或多个时隙;例如,若一个时段为120ms,则每个时段包括3个时隙。时段大小可以但不限于根据拍摄设备的数量、gop大小和帧率等参数,进行动态调整。
50.可选地,在本实施例中,根据第一参数信息确定第一关键视频帧在所属第一图片组对应的第一传输周期中的第一时段可以但不限于为利用关键视频帧的发送时间对gop进行取余操作,根据取余结果以及时段大小确定关键视频帧所属的时段。从而将各个关键视频帧散列到gop周期,统一比对标准。需要说明的是,由于视频流的关键视频帧是根据gop周期性产生和发送的,因此,关键视频帧的发送时间与gop取余的结果是不变的。例如,gop=2s,拍摄设备在第10ms开始产生并发送关键视频帧,则第2个关键视频帧发生在2s+10ms,第3个关键视频帧发生在2s+2s+10ms,但关键视频帧的发送时间与gop取余的结果均为gop周期内的第10ms。若一个时段为120ms,则该关键视频帧位于第一时段。若该拍摄设备在第150ms开始产生并发送关键视频帧,该关键视频帧位于第二时段。
51.可选地,在本实施例中,若在gop的某个时段上有两个及其以上关键视频帧,则认为该时段发生视频帧碰撞。
52.通过本技术实施例提供的方案,通过将传输周期划分为多个时段,并在时段内进行碰撞检测,提高了碰撞检测的精度。
53.在一个示例性实施例中,在获取当前拍摄设备所要传输的第一关键视频帧的第一参数信息,及与当前拍摄设备关联的参考拍摄设备所要传输的第二关键视频帧的第二参数信息之前,还包括:将第一关键视频帧对应的第一传输周期按照单位时间间隔划分为第一时间段序列,其中,第一时间段序列中的每个时段内包括n个时隙;将各个第二关键视频帧各自对应的第二传输周期按照单位时间间隔划分为第二时间段序列,其中,第二时间段序列中的每个时段内包括n个时隙,n为正整数;按照时间顺序对第一时间段序列及各个第二时间段序列进行对齐。
54.可选地,在本实施例中,时间段序列可以包括但不限于多个时段,每个时段可以包括但不限于一个或多个时隙。
55.例如,fps=25帧/秒,gop=50帧的视频流,每秒产生25帧视频数据,每帧间隔=1秒/25=40ms,即一个时隙的大小为40ms;每50帧产生一个关键视频帧,那么关键视频帧的传输周期gop=50*40ms=2000ms=2s。若一个时段为120ms,则每个时段包括3个时隙。
56.例如,假设有三个拍摄设备,分别为ipc-1,ipc-2和ipc-3,这三个拍摄设备发送视频帧的时隙图如图4所示。这三个拍摄设备发送视频帧的时段图如图5所示。由图5可知,时段1内有两个关键视频帧,因此,则认为ipc-1和ipc-3在时段1发生碰撞。
57.通过本技术实施例提供的方案,通过将传输周期划分为多个时段,并在时段内进行碰撞检测,提高了碰撞检测的精度。
58.在一个示例性实施例中,从当前拍摄设备的空闲时段内确定出目标空闲时隙包
括:获取第一传输周期内并未传输第一关键视频帧的第一候选时段,及各个第二传输周期内并未传输第二关键视频帧的第二候选时段;根据第一候选时段与第二候选时段的交集结果,确定出空闲时段;在空闲时段内确定出目标空闲时隙。
59.需要说明的是,由于同一时段内包括两个及其以上关键视频帧时,则认为在该时段内关键视频帧发生碰撞,而第一候选时段与各个第二候选时段的交集时段属于没有传输关键视频帧的时段,因此,将一个关键视频帧移到该交集时段后,该交集时段包括一个关键视频帧,故该交集时段未发生碰撞。
60.例如,如图5所示,ipc-1在时段1传输关键视频帧,故ipc-1未传输关键视频帧的候选时段为时段2、时段3和时段4;ipc-2在时段2传输关键视频帧,故ipc-2未传输关键视频帧的候选时段为时段1、时段3和时段4;ipc-3在时段1传输关键视频帧,故ipc-3未传输关键视频帧的候选时段为时段2、时段3和时段4,那么ipc-1、ipc-2与ipc-3的交集时段为时段3和时段4。因此,可以从时段3和时段4中确定出目标空闲时隙。
61.通过本技术实施例提供的方案,通过对各个拍摄设备未传输关键视频帧的候选时段进行交集操作,确定出空闲时段,提高了确定空闲时段的效率和精度。
62.在一个示例性实施例中,根据第一候选时段与第二候选时段的交集结果,确定出空闲时段包括:在交集结果指示包括至少一个候选时段的情况下,将至少一个候选时段确定为空闲时段;在交集结果指示包括为零的情况下,统计各个候选时段内发生视频帧碰撞的拍摄设备的数量;将数量最小的时段确定为空闲时段。
63.可选地,在本实施例中,当同一通信网络中的拍摄设备的数量较少,存在候选时段时,将发生碰撞的拍摄设备调整到所选择的候选时段;当同一通信网络中的拍摄设备的数量较多,不存在候选时段时,将发生碰撞的拍摄设备调整到拍摄设备数量最小的时段。
64.需要说明的是,在同一视频传输周期内,每个拍摄设备传输一个关键视频帧,因此,每个时段内关键视频帧的数量即为拍摄设备的数量。
65.例如,如图6所示,时段2中拍摄设备ipc的个数为2,因此,认为关键视频帧发生了碰撞,且有未传输关键视频帧的候选时段,则可以从多个候选时段中确定出空闲时段。
66.例如,如图7所示,此时网络内的拍摄设备ipc的数量较多,不存在未传输关键视频帧的候选时段,故将拍摄设备ipc个数最多的时段2内的拍摄设备调整到拍摄设备ipc个数最小的时段(时段3、时段4或时段5)。需要说明的是,拍摄设备ipc个数最小的时段中的拍摄设备ipc的个数需要比待调整的时段中的拍摄设备ipc的个数少两个及其以上,以保证传输码率总体保持均衡。
67.通过本技术实施例提供的方案,通过将数量最小的时段确定为空闲时段,可以保证传输码率总体保持均衡。
68.在一个示例性实施例中,在空闲时段内确定出目标空闲时隙包括:在与第一关键视频帧发生视频帧碰撞的第二关键视频帧所在的参考拍摄设备的数量小于目标阈值的情况下,将位于空闲时段内中心位置的时隙确定为目标空闲时隙;在与第一关键视频帧发生视频帧碰撞的第二关键视频帧所在的参考拍摄设备的数量大于目标阈值的情况下,将码率最低的时隙确定为目标空闲时隙。
69.需要说明的是,由于关键视频帧具有发送时长,即关键视频帧在通信网络内会传输一段时间,因此,在拍摄设备数量不多,存在一定数量的空闲时段时,为了避免不同的关
键视频帧之间传输时间存在交集,故将位于空闲时段内中心位置的时隙确定为目标空闲时隙。例如,如图6所示,通信网络中存在3个拍摄设备,数量不多,且存在一定数量的空闲时段(时段3-10),此时,可以将位于时段6和时段7中心位置的时隙确定为目标空闲时隙。调整后如图8所示。
70.需要说明的是,由于每个拍摄设备会广播自身发送的各个关键视频帧的参数信息,例如,设备标识、优先级、通道号、码流类型、码率、帧率、gop大小,因此,每个拍摄设备能够获知网络通道内各个时段的传输码率的总数。因此,在拍摄设备数量较多,不存在空闲时段时,可以将码率最低的时隙确定为目标空闲时隙,以保证传输码率总体保持均衡。例如,如图9所示,通信网络中存在数量较多的拍摄设备,不存在空闲时段,为了确保传输码率总体保持均衡,可以将待调整拍摄设备调整到传输码率总数最小处。
71.通过本技术实施例提供的方案,根据通信网络中拍摄设备的数量来确定调整方式,可以避免不同的关键视频帧之间传输时间存在交集以及确保传输码率总体保持均衡。
72.在一个示例性实施例中,将第一关键视频帧调整至目标空闲时隙进行传输包括:在目标空闲时隙生成与第一关键视频帧匹配的第三关键视频帧,其中,第三关键视频帧用于替代第一关键视频帧进行传输。
73.例如,如图8所示,将第一关键视频帧由时段2调整到了时段6,假设每个时段时长为120ms,则在当前拍摄设备生成第一关键视频帧的时间向后推移4*120=480ms,当前拍摄设备调整自身编码,重新生成第三关键视频帧即可。
74.通过本技术实施例提供的方案,通过在目标空闲时隙重新生成关键视频帧,可以避免关键视频帧发生碰撞。
75.在一个示例性实施例中,在将第一关键视频帧调整至目标空闲时隙进行传输之前,还包括:获取当前拍摄设备对应的第一调整优先级,及与第一关键视频帧发生视频帧碰撞的第二关键视频帧所在的参考拍摄设备对应的第二调整优先级;在第一调整优先级高于第二调整优先级的情况下,确定对第一关键视频帧进行调整;在第一调整优先级低于第二调整优先级的情况下,确定对第一关键视频帧不调整;在第一调整优先级等于第二调整优先级的情况下,根据当前拍摄设备的设备标识确定是否调整第一关键视频帧。
76.可选地,在本实施例中,在当前拍摄设备与其他参考拍摄设备发生碰撞时,可以按照预定的调整顺序,确定调整当前拍摄设备还是调整其他参考拍摄设备。预定的调整顺序可以但不限于为优先级高的拍摄设备进行调整;在当前拍摄设备与其他参考拍摄设备的优先级相同的情况下,可以但不限于参照其他属性进行调整,例如,设备标识的大小,ip地址的大小,拍摄设备启动时间的先后。
77.通过本技术实施例提供的方案,通过按照某种规则来确定调整顺序,可以避免发生调整冲突。
78.在一个示例性实施例中,根据当前拍摄设备的设备标识确定是否调整第一关键视频帧包括:获取当前拍摄设备对应的第一设备标识,及与第一关键视频帧发生视频帧碰撞的第二关键视频帧所在的参考拍摄设备对应的第二设备标识;在第一设备标识大于第二设备标识的情况下,确定对第一关键视频帧进行调整;在第一设备标识小于第二设备标识的情况下,确定对第一关键视频帧不调整。
79.可选地,在本实施例中,在当前拍摄设备与其他参考拍摄设备的优先级相同的情
况下,可以但不限于按照设备标识的大小确定调整顺序。例如,设备标识大的拍摄设备优先调整,或者设备标识小的拍摄设备优先调整。
80.例如,如图10所示,同一通信网络中有三个拍摄设备,拍摄设备id分别为1、5、3,当前拍摄设备id=5,当前拍摄设备第一次判断该三个拍摄设备发生关键视频帧碰撞,因此,当前拍摄设备需要判断是否需要对自身生成关键视频帧的时间进行调整。三个拍摄设备中,优先级最高的拍摄设备的id=1,优先级=2,而当前拍摄设备的优先级=1,优先级不是最高,因此,当前拍摄设备不需要调整。当id=1的拍摄设备调整完毕后,如图11所示,当前拍摄设备判断再次发生关键视频帧碰撞,因此,当前拍摄设备需要判断是否需要对自身生成关键视频帧的时间进行调整。当前拍摄设备与id=3的拍摄设备的优先级相同,优先级=1;而当前拍摄设备的id值大于id=3的拍摄设备的id值,因此,当前拍摄设备需要调整。当前拍摄设备调整自身编码,在空闲时段上重新生成关键视频帧。
81.通过本技术实施例提供的方案,通过按照某种规则来确定调整顺序,可以避免发生调整冲突。
82.在本实施例中提供了一种视频传输方法,该视频传输方法的方案流程描述如下:
83.步骤s1:一组拍摄设备通过4g/5g/wifi等无线网络接入到实时拉流后端服务(平台/网络硬盘录像机nvr),通过实时视频预览设备预览视频;
84.步骤s2:拍摄设备每次发送关键视频帧时,向外多播关键视频帧参数信息,例如:设备标识、优先级、通道号、码流类型、码率、帧率、gop大小、发送时长等参数;
85.步骤s3:拍摄设备实时监听多播参数消息。接收到其他拍摄设备的关键视频帧参数多播消息后,结合自身关键视频帧参数信息,供“碰撞检测服务”进行关键视频帧碰撞检测;
86.步骤s4:“碰撞检测服务”根据拍摄设备关键视频帧的多播时间戳、关键视频帧的发送时长、gop等参数,结合该一组拍摄设备的关键视频帧信息分布,检测当前拍摄设备是否与其他相关联的参考拍摄设备发生关键视频帧碰撞;
87.步骤s5:发生关键视频帧碰撞时,通过“流量错峰编排”服务,决策出是否需要调整当前拍摄设备关键视频帧生成时序,以及需要调整到的目标时隙,通过调整自身编码进行关键视频帧时序调整。例如,当前拍摄设备发生碰撞需要调整,当前拍摄设备关键视频帧时序向后延100ms产生关键视频帧时最佳,则调整当前拍摄设备编码,使gop中关键视频帧生成时机整体后延100ms。
88.其中,步骤s4中的“碰撞检测服务”的具体方法描述如下:
89.步骤s4.1:碰撞检测服务启动后,常驻后台提供持续服务,直到服务结束;
90.步骤s4.2:服务阻塞等待拍摄设备关键视频帧参数信息的注入(参数信息,例如:设备标识、优先级、通道号、码流类型、码率、帧率、gop大小、发送时长等);
91.步骤s4.3:收到其他拍摄设备多播的关键视频帧参数信息,更新本地缓存中当前拍摄设备参数信息;
92.步骤s4.4:将收到的关键视频帧参数信息分时散列处理;
93.其中,时散列处理方法包括:
94.步骤s4.4.1:关键视频帧信息散列到gop周期,得到散列时隙hashtimeslot,统一比对标准;其中,散列时隙hashtimeslot=关键视频帧广播时间戳%gop(取余操作);
95.步骤s4.4.2:根据拍摄设备的数量,结合gop、帧率,动态调整划分时段的时间间隔hashtimeinterval;将所有拍摄设备的关键视频帧分布,散列到gop的多个时段分布上。散列时段=ceiling(hashtimeslot/hashtimeinterval),其中ceiling()为向上取整函数。
96.步骤s4.5:判断当前拍摄设备自身的关键视频帧,是否与其他拍摄设备的关键视频帧分布在同一时段内,若是则产生关键视频帧碰撞;否则继续接收其他拍摄设备的关键视频帧,持续进行碰撞检测;
97.步骤s4.6:发生碰撞后,通过错峰处理流程,进行流量错峰调整。
98.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
99.图12是根据本发明实施例的一种视频传输装置的结构框图;如图12所示,包括:
100.获取模块1201,用于获取当前拍摄设备所要传输的第一关键视频帧的第一参数信息,及与当前拍摄设备关联的参考拍摄设备所要传输的第二关键视频帧的第二参数信息,其中,当前拍摄设备与参考拍摄设备位于同一通信网络内;
101.检测模块1202,用于利用第一参数信息和第二参数信息,对第一关键视频帧与第二关键视频帧进行碰撞检测;
102.确定模块1203,用于在碰撞检测的结果指示第一关键视频帧与至少一个第二关键视频帧发生视频帧碰撞的情况下,从当前拍摄设备的空闲时段内确定出目标空闲时隙;
103.调整模块1204,用于将第一关键视频帧调整至目标空闲时隙进行传输。
104.通过本技术实施例提供的方案,获取当前拍摄设备所要传输的第一关键视频帧的第一参数信息,及与当前拍摄设备关联的参考拍摄设备所要传输的第二关键视频帧的第二参数信息,其中,当前拍摄设备与参考拍摄设备位于同一通信网络内;利用第一参数信息和第二参数信息,对第一关键视频帧与第二关键视频帧进行碰撞检测;在碰撞检测的结果指示第一关键视频帧与至少一个第二关键视频帧发生视频帧碰撞的情况下,从当前拍摄设备的空闲时段内确定出目标空闲时隙;将第一关键视频帧调整至目标空闲时隙进行传输;采用上述技术方案,拍摄设备在传输关键视频帧之前,多台拍摄设备自协商完成关键视频帧碰撞检测和关键视频帧错峰发送调整,避免关键视频帧发生碰撞,解决了由于网络平台在多个关键视频帧到达后再进行调整,导致调整不及时的技术问题。
105.本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
106.可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
107.s1,获取当前拍摄设备所要传输的第一关键视频帧的第一参数信息,及与当前拍摄设备关联的参考拍摄设备所要传输的第二关键视频帧的第二参数信息,其中,当前拍摄设备与参考拍摄设备位于同一通信网络内;
108.s2,利用第一参数信息和第二参数信息,对第一关键视频帧与第二关键视频帧进
行碰撞检测;
109.s3,在碰撞检测的结果指示第一关键视频帧与至少一个第二关键视频帧发生视频帧碰撞的情况下,从当前拍摄设备的空闲时段内确定出目标空闲时隙;
110.s4,将第一关键视频帧调整至目标空闲时隙进行传输。
111.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
112.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
113.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
114.s1,获取当前拍摄设备所要传输的第一关键视频帧的第一参数信息,及与当前拍摄设备关联的参考拍摄设备所要传输的第二关键视频帧的第二参数信息,其中,当前拍摄设备与参考拍摄设备位于同一通信网络内;
115.s2,利用第一参数信息和第二参数信息,对第一关键视频帧与第二关键视频帧进行碰撞检测;
116.s3,在碰撞检测的结果指示第一关键视频帧与至少一个第二关键视频帧发生视频帧碰撞的情况下,从当前拍摄设备的空闲时段内确定出目标空闲时隙;
117.s4,将第一关键视频帧调整至目标空闲时隙进行传输。
118.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
119.可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
120.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
121.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1