视频流处理方法、系统、计算机设备和存储介质与流程

文档序号:30076940发布日期:2022-05-18 03:31阅读:277来源:国知局
视频流处理方法、系统、计算机设备和存储介质与流程

1.本技术涉及视频处理领域,特别是涉及一种视频流处理方法、系统、计算机设备和存储介质。


背景技术:

2.视频处理系统,包括至少两个前端视频设备以及与至少两个前端视频设备通讯连接的后端拉流设备。当后端拉流设备向多台前端视频设备同时拉流时,前前端视频设备越多,同时产生i帧的概率越大,即发生i帧碰撞的概率越大,i帧碰撞在网络上的表现为瞬时的网络数据突增,常引起丢包、延时增大、视频卡顿等问题。
3.针对上述问题,现有技术不存在有效的解决方法。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种视频流处理方法、系统、计算机设备和存储介质。
5.第一方面,本发明实施例提出一种视频流处理方法,应用于视频处理系统,所述系统包括至少两个前端视频设备以及与所述至少两个前端视频设备通讯连接的后端拉流设备,所述前端视频设备之间相互通讯,所述方法包括:
6.所述前端视频设备基于各前端视频设备所采集的视频流的i帧发送时间段,确定所述i帧发送时间段之间是否存在重合;
7.若是,则基于相邻两个i帧发送时间段之间的空隙时间,确定是否存在目标时间段;其中,所述目标时间段的时长大于存在重合的i帧发送时间段;
8.若是,则基于所述目标时间段,调整对应视频流的i帧时序,直到i帧发送时间段之间不存在重合或不存在目标时间空隙。
9.在一实施例中,所述基于相邻两个i帧发送时间段之间的空隙时间,确定是否存在目标时间段包括:
10.基于相邻两个i帧发送时间段之间的空隙时间,将空隙时间最长且大于存在重合的i帧发送时间段的时间段作为目标时间段。
11.在一实施例中,所述基于所述目标时间段,调整对应视频流的i帧时序包括:
12.基于存在重合的i帧发送时间段所对应的前端视频设备的优先级,确定i帧时序的调整顺序;
13.基于所述调整顺序,依次将对应视频流的i帧时序调整到目标时间段,直到i帧发送时间段之间不存在重合或不存在目标时间空隙。
14.在一实施例中,所述前端视频设备的优先级基于各自对应的ip地址所确定。
15.第二方面,本发明实施例提出一种视频流处理系统,包括至少两个前端视频设备以及与所述至少两个前端视频设备通讯连接的后端拉流设备,所述前端视频设备之间相互通讯,所述前端视频设备包括:
16.第一确定模块,用于基于各前端视频设备所采集的视频流的i帧发送时间段,确定所述i帧发送时间段之间是否存在重合;
17.第二确定模块,用于若是,则基于相邻两个i帧发送时间段之间的空隙时间,确定是否存在目标时间段;其中,所述目标时间段的时长大于存在重合的i帧发送时间段;
18.时序调整模块,用于若是,则基于所述目标时间段,调整对应视频流的i帧时序,直到i帧发送时间段之间不存在重合或不存在目标时间空隙。
19.在一实施例中,所述第一确定模块基于相邻两个i帧发送时间段之间的空隙时间,将空隙时间最长且大于存在重合的i帧发送时间段的时间段作为目标时间段。
20.在一实施例中,所述第二确定模块基于存在重合的i帧发送时间段所对应的前端视频设备的优先级,确定i帧时序的调整顺序;
21.所述时序调整模块基于所述调整顺序,依次将对应视频流的i帧时序调整到目标时间段,直到i帧发送时间段之间不存在重合或不存在目标时间空隙。
22.在一实施例中,所述前端视频设备的优先级基于各自对应的ip地址所确定。
23.第三方面,本发明实施例提出一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行第一方面所述的步骤。
24.第四方面,本发明实施例提出一种计算机可读存储介质,其上存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的步骤。
25.上述方法、系统、计算机设备和存储介质,利用前端视频设备基于各前端视频设备所采集的视频流的i帧发送时间段,确定所述i帧发送时间段之间是否存在重合;若是,则基于相邻两个i帧发送时间段之间的空隙时间,确定是否存在目标时间段;其中,所述目标时间段的时长大于存在重合的i帧发送时间段;若是,则基于所述目标时间段,调整对应视频流的i帧时序,直到i帧发送时间段之间不存在重合或不存在目标时间空隙。本发明对对应视频流的i帧时序进行调整,使其i帧发送时间段位于目标时间段内,从而达到平滑码流的目的,避免后端拉流设备同时处理至少两个i帧,一方面是减少后端拉流设备的业务压力增大;另一方面避免出现卡顿的现象。
附图说明
26.图1为一个实施例视频流处理方法的应用环境示意图;
27.图2为一个实施例中视频流处理方法的流程示意图;
28.图3为一个实施例中发生i帧碰撞的时序示意图;
29.图4为一个实施例中i帧时序调整方法的流程示意图;
30.图5为一个实施例中i帧时序调整后的时序示意图;
31.图6为一个实施例中可视频流处理系统的流程示意图;
32.图7为一个实施例中计算机设备的结构示意图。
具体实施方式
33.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本技术,并不用于限定本技术。
34.本技术提供的视频流处理方法,可以应用于如图1所示的应用环境中。其中,至少两个前端视频设备102通过网络与后端拉流设备104进行通信。前端视频设备首先基于各前端视频设备所采集的视频流的i帧发送时间段,确定所述i帧发送时间段之间是否存在重合;若是,则基于相邻两个i帧发送时间段之间的空隙时间,确定是否存在目标时间段;其中,所述目标时间段的时长大于存在重合的i帧发送时间段;若是,则基于所述目标时间段,调整对应视频流的i帧时序,直到i帧发送时间段之间不存在重合或不存在目标时间空隙,终端102再将i帧时序调整后的视频流发送到后端拉流设备104,后端拉流设备104输出到显示屏106显示。
35.前端视频设备用于视频的采集并输出,当多台前端视频设备同时传输视频关键i帧时(i帧碰撞),往往会导致网络数据突增,画面延时增大,视频出现卡顿。
36.后端拉流设备(主体为nvr或者平台)用于同时对多台前端视频设备拉流,输出到显示屏上可预览前端视频设备实时画面。前端视频设备数量越多,产生i帧碰撞的概率越大,i帧碰撞即多个i帧由网络传输后同时到达后端拉流设备。i帧碰撞在网络上的表现为瞬时的网络数据突增,数据突增带来的影响,一方面是导致后端拉流设备的业务压力增大;另一方面为无线上行链路上发生拥塞、丢包、rtt增长的概率增大,严重会导致出现卡顿现象。
37.为解决上述技术问题,在一实施例中,如图2所示,提供了一种视频流处理方法,以该方法应用于图1中的应用环境为例进行说明,包括以下步骤:
38.s202:前端视频设备基于各前端视频设备所采集的视频流的i帧发送时间段,确定所述i帧发送时间段之间是否存在重合。
39.前端视频设备之间相互广播各自所采集的视频流的i帧信息,i帧信息中包括i帧发送时间段。需要说明的是,i帧信息还可以包括设备ip、码流类型、码率、帧率等。
40.如图3所示,当i帧发送时间段之间是否存在重合时,即可判断发生i帧碰撞。
41.可以理解的是,本实施例中i帧发送时间段之间的重合包括部分重合和全部重合。
42.s204:若是,则基于相邻两个i帧发送时间段之间的空隙时间,确定是否存在目标时间段。
43.其中,所述目标时间段的时长大于存在重合的i帧发送时间段。
44.在本实施例中,确定是否存在目标时间段的目的在于确定能够对存在重合的i帧发送时间段进行错峰处理,也就是确定存在能够让存在重合的i帧发送时间段插入的空隙时间。若不存在目标时间段,则不调整对应视频流的i帧时序。
45.s206:若是,则基于所述目标时间段,调整对应视频流的i帧时序,直到i帧发送时间段之间不存在重合或不存在目标时间空隙。
46.在本实施例中对对应视频流的i帧时序进行调整,使其i帧发送时间段位于目标时间段内,从而达到平滑码流的目的,避免后端拉流设备同时处理至少两个i帧,一方面是减少后端拉流设备的业务压力增大;另一方面避免由于无线上行链路上发生拥塞、丢包、rtt增长的概率增大而出现卡顿的现象。
47.由于视频流中的i帧的周期是固定的,通过对视频流的i帧时序一次调整,能够避免该视频流的后续i帧发送碰撞的情况。
48.在本实施例中,通过前端视频设备完成i帧发送时间段之间是否存在重合的确定、是否存在目标时间段的确定以及对应视频流的i帧时序的调整,减少了后端拉流设备的工
作压力。由于前端视频设备与后端拉流设备的交互时间大于前端视频设备之间的交互时间,因此也提高了i帧时序调整的及时性,避免了网络传输延时的影响。
49.在步骤s202中,每台前端视频设备接收到其余前端视频设备的i帧发送时间段后,便根据各设备的优先级判断自身是否为leader设备,若不是,则继续阻塞等待下一次i帧发送时间段。若是,则基于其余设备的i帧发送时间段与设备自身的i帧发送时间段确定所述i帧发送时间段之间是否存在重合,也就是i帧碰撞的判断。
50.在本实施例中,通过根据各设备的优先级判断确定leader设备,仅通过leader设备来确定i帧是否碰撞,避免其他前端视频设备也进行判断,减少了其他前端视频设备因为对i帧是否碰撞而占用处理内存。
51.在步骤s204中,如图4所示,根据先高低优先级原则决定调整的顺序,在满足调整条件的情况下,再根据i帧发送时间段的分布情况,决策出合理的i帧时序的调整顺序,然后由leader设备向需要调整i帧时序的设备发送调整命令,下发命令的方法不作限定,例如,命令为“设备a的i帧时序向后延100ms,设备b的i帧时序向后延40ms”。
52.在本实施例中,所有前端视频设备均遵守高低优先级原则,按优先级顺序依次调整i帧时序,避免设备竞争同一空隙时间造成更多次的碰撞。
53.在一优选的实施例中,将所有前端视频设备的i帧发送时间段散列到gop内,计算gop上相邻两个i帧发送时间段之间的空隙时间,将空隙时间最长且大于存在重合的i帧发送时间段的时间段作为目标时间段。将碰撞设备中优先级最低设备的i帧发送时间段预调整到该时间段的中间位置,如图5所示。
54.将碰撞设备中优先级最低设备的i帧发送时间段预调整到该时间段的中间位置,使得i帧发送时间段的分布更加均匀,后端拉流设备能够及时处理,以提高视频显示的流畅性。
55.上述实施例中,前端视频设备的优先级基于各自对应的ip地址所确定。将所有前端视频设备的ip地址转换为无符号整数,比较转换后的数值,数值越小的设备优先级越高。
56.具体的,ip地址为a.b.c.d转换为无符号整数的计算公式为:
57.value=a*2
24
+b*2
16
+c*28+d
58.例如,设备a的ip地址为172.23.24.22,设备b的ip地址为172.23.20.100,则:
59.valuea=172*2
24
+23*2
16
+24*28+22=2887194646;
60.valueb=172*2
24
+23*2
16
+20*28+100=2887193700。
61.因此,valueb《valuea,设备b的优先级高于设备a。
62.在一实施例中,如图6所示,本发明提供了一种视频流处理系统,包括至少两个前端视频设备20以及与所述至少两个前端视频设备20通讯连接的后端拉流设备30,所述前端视频设备20之间相互通讯,所述前端视频设备20包括:
63.第一确定模块202,用于基于各前端视频设备所采集的视频流的i帧发送时间段,确定所述i帧发送时间段之间是否存在重合;
64.第二确定模块204,用于若是,则基于相邻两个i帧发送时间段之间的空隙时间,确定是否存在目标时间段;其中,所述目标时间段的时长大于存在重合的i帧发送时间段;
65.时序调整模块206,用于若是,则基于所述目标时间段,调整对应视频流的i帧时序,直到i帧发送时间段之间不存在重合或不存在目标时间空隙。
66.第一确定模块基于相邻两个i帧发送时间段之间的空隙时间,将空隙时间最长且大于存在重合的i帧发送时间段的时间段作为目标时间段。
67.在一实施例中,所述第二确定模块基于存在重合的i帧发送时间段所对应的前端视频设备的优先级,确定i帧时序的调整顺序;
68.所述时序调整模块基于所述调整顺序,依次将对应视频流的i帧时序调整到目标时间段,直到i帧发送时间段之间不存在重合或不存在目标时间空隙。
69.在一实施例中,所述前端视频设备的优先级基于各自对应的ip地址所确定。
70.关于视频流处理系统的具体限定可以参见上文中对于视频流处理方法的限定,在此不再赘述。上述视频流处理系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
71.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储动作检测数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述任一项视频流处理方法实施例中的步骤。
72.本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
73.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述任一项视频流处理方法实施例中的步骤。
74.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项视频流处理方法实施例中的步骤。
75.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
76.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
77.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1