本公开涉及计算机及数据存储管理,特别涉及一种视频数据管理方法、装置、电子设备和存储介质。
背景技术:
1、本公开内容中,事件是指智能算法检测到的事件,比如移动侦测、人形侦测、人脸识别等。事件录像是智能算法检测到事件时,联动设备端同步存储的音视频数据片段。
2、目前,现有的事件录像的前几秒和后几秒都是采用同一种分辨率。从数据存储管理的角度来看,同一种分辨率的录像可以进行连续存储。为了清晰呈现事件发生前后的情况,事件录像通常还包含事件发生前的一段时间内的视频内容,因此,事件录像相对于事件本身而言,持续的时间更长,对于高清录像而言,事件录像持续时间的增长将占用更多的存储空间,而事件发生前的一段时间内的视频内容通常不需要更高的分辨率。从视频数据采集角度而言,现有的一种方式是,图像采集设备通常连续采用较低分辨率而持续进行图像采集并监测事件的发生,当事件发生时,切换到高清图像采集模式,这种方式中,事件发生之前的一段时间内的视频分辨率低于事件发生时的视频分辨率。
3、现有的数据存储方式中同一个数据文件里只能存储同一种分辨率视频,并且,视频播放器连续播放不同分辨率视频会出现异常或者画面大小切换的问题。因此,受限于现有的数据存储方式和视频播放器,给包含事件发生前的低分辨率视频和事件发生时的高分辨率视频的事件录像的存储和播放带来的极大的挑战。
技术实现思路
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、采用画中画的形式将所述前卷视频叠加于所述事件视频中,得到所述事件录像。
71、一种视频数据管理装置,包括:
72、前卷视频存储模块,被配置为执行响应于监控事件的触发,获取关联于所述监控事件的前卷视频,并将所述前卷视频存储于多个数据文件中的第一数据文件,将关联于所述前卷视频的第一索引信息更新于索引文件中,其中,所述前卷视频为所述监控事件的触发时刻之前的第一设定时间范围内的视频,并且所述前卷视频截止于所述触发时刻;
73、事件视频存储模块,被配置为执行响应于所述监控事件的触发,获取关联于所述监控事件的事件视频,并将所述事件视频存储于所述多个数据文件中的第二数据文件,将关联于所述事件视频的第二索引信息更新于所述索引文件中,并在所述索引文件中将所述前卷视频与所述事件视频关联,其中,所述事件视频为所述监控时间的触发时刻开始的第二设定时间范围内的视频,所述前卷视频的分辨率小于所述事件视频的分辨率,其中,由所述前卷视频和所述事件视频组成事件录像。
74、进一步,所述视频数据管理装置还包括:
75、查询模块,被配置为执行响应于事件录像查询请求,从所述索引文件中获得关联于所述事件录像查询请求的事件录像的起始时刻的第三索引信息,根据所述第三索引信息生成事件录像查询结果,其中,关联于所述事件录像查询请求的事件录像的起始时刻为关联于所述事件录像查询请求的事件录像中的前卷视频的起始时刻;
76、回放模块,被配置为执行响应于事件回放请求,从所述索引文件中获得关联于所述事件回放请求的事件录像的起始时刻的第四索引信息,根据所述第四索引信息从所述索引文件获得关联于所述事件录像的全部索引信息,根据所述全部索引信息,从所述第一数据文件和所述第二数据文件中得到所述事件录像。
77、一种电子设备,包括:
78、处理器;
79、用于存储所述处理器的可执行指令的存储器;
80、其中,所述处理器被配置为执行所述可执行指令,以实现如上任一项所述的视频数据管理方法。
81、一种计算机可读存储介质,当所述计算机可读存储介质中的至少一条指令被电子设备的处理器执行时,使得所述电子设备能够实现如上任一项所述的视频数据管理方法。
82、从上述方案可以看出,本公开的视频数据管理方法、装置、电子设备和存储介质,实现了关联于相同的监控事件的低分辨率前卷视频和高分辨率事件视频的联合存储、关联于监控事件的事件录像的查询和播放。其中,通过全局索引头、文件头信息、数据段索引信息将整个存储空间中的存储文件系统进行了统一化管理;在索引文件中,文件头信息连续排列,实现了一次存储空间io读取就可以加载所有的文件头信息,降低了存储空间的io占用;每个数据文件的数据段索引信息也是连续排列的,实现了一次存储空间io读取就可以加载单个数据文件的所有数据段信息。在数据段索引信息中包含的“下一个数据段偏移位置”和“是否是起始段”的信息,可以实现单个事件录像跨越多个数据文件或者单个数据文件的多数据段存储,将多数据段和多个数据文件有效的串联起来,解决了已有方式中不同分辨率的录像存储在同一个数据文件里导致第三方播放器播放异常的问题。本公开中,查询时采用批量加载的方式,通过数据文件的时间排序,可以快速读取并返回结果,查询实时性高。另外,本公开中,每个数据文件的尾部都连续保存了该数据文件的文件头信息和数据段索引信息,可以给索引文件的容错性提供进一步保障,即便索引文件全部损坏,通过每个数据文件尾部的数据文件的文件头信息和数据段索引信息也可以恢复索引文件。
1.一种视频数据管理方法,包括:
2.根据权利要求1所述的视频数据管理方法,其特征在于,所述视频数据管理方法还包括:
3.根据权利要求2所述的视频数据管理方法,其特征在于:
4.根据权利要求3所述的视频数据管理方法,其特征在于:
5.根据权利要求4所述的视频数据管理方法,其特征在于:
6.根据权利要求5所述的视频数据管理方法,其特征在于,所述在所述索引文件中将所述前卷视频与所述事件视频关联,包括:
7.根据权利要求5所述的视频数据管理方法,其特征在于:
8.根据权利要求7所述的视频数据管理方法,其特征在于:
9.根据权利要求3所述的视频数据管理方法,其特征在于:
10.根据权利要求3所述的视频数据管理方法,其特征在于:
11.根据权利要求3所述的视频数据管理方法,其特征在于,所述根据所述第四索引信息从所述索引文件获得关联于所述事件录像的全部索引信息,根据所述全部索引信息,从所述第一数据文件和所述第二数据文件中得到所述事件录像,包括:
12.根据权利要求11所述的视频数据管理方法,其特征在于,所述将关联于所述事件录像中的前卷视频和关联于所述事件录像中的事件视频进行图像处理与合成,得到所述事件录像,包括:
13.一种视频数据管理装置,其特征在于,包括:
14.一种电子设备,其特征在于,包括:
15.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的至少一条指令被电子设备的处理器执行时,使得所述电子设备能够实现如权利要求1至12任一项所述的视频数据管理方法。
