CN106933974A - 一种视频文件索引信息的构建和查询方法及装置 - Google Patents
一种视频文件索引信息的构建和查询方法及装置 Download PDFInfo
- Publication number
- CN106933974A CN106933974A CN201710079048.XA CN201710079048A CN106933974A CN 106933974 A CN106933974 A CN 106933974A CN 201710079048 A CN201710079048 A CN 201710079048A CN 106933974 A CN106933974 A CN 106933974A
- Authority
- CN
- China
- Prior art keywords
- index
- file
- information
- time
- event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
- G06F16/738—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/783—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明实施例公开了一种视频文件索引信息的构建和查询方法及装置,用以解决现有技术中,在查询索引文件的数据时效率低的问题。该方法包括:判断是否保存有视频源的索引文件;若否,建立索引文件;若是,识别出的关键帧包含的事件的第一类型,判断是否保存有第一类型的事件的索引信息;若否,建立第一类型的事件的索引信息,建立索引子信息;若是,判断关键帧的上一关键帧包含的事件的类型是否与第一类型相同,若相同,更新索引信息中索引子信息中的结束时间,若不同,建立索引子信息。由于在本发明实施例中每个视频源对应一个索引文件,并且该索引文件中针对每种类型的事件保存有对应的索引信息,因此方便了索引信息的查询,提高了查询的效率。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种视频文件索引信息的构建和查询方法及装置。
背景技术
视频文件存储在磁盘中,一般数据量非常大,单机容量可达TB级别,快速的构建磁盘中视频文件的存储状态索引,并且能够根据查询关键字快速定位视频文件,就显得尤为重要。
在现有技术中,在构建视频文件的索引信息时,是一个视频文件对应一个索引文件,然而一个视频源会产生多个视频文件,因此可能会有非常多的索引文件,索引文件中包括视频文件的开始时间和结束时间,该视频文件的存储地址的信息,视频文件的大小和类型等,不同的索引文件的数据类型用途也不同。在构建索引文件时,每个索引文件保存有该视频文件的索引信息,但该视频文件到底记录的是什么事件,在索引文件中并没有体现出来,这样在查询某一个视频源中的某一个事件的类型的索引数据,或某一个视频源的某一个时间段的索引数据时,要遍历所有的索引文件,当索引文件的数据量很大时往往整个过程消耗数分钟,甚至更长时间,影响查询效率,并且即使定位出来索引文件,但是该索引文件记录的该视频文件到底是不是关于这种类型的事件,也还是无法确定,只有查找到了该索引文件对应的视频文件,并通过人工为判定才能确定,因此现有技术中通过索引文件无法有效的提高视频文件的查询效率。
发明内容
本发明提供一种视频文件索引信息的构建和查询方法及装置,用以解决现有技术中,在查询索引文件的数据时效率低的问题。
为达到上述目的,本发明实施例公开了一种视频文件索引信息的构建方法,该方法包括:
针对待建立索引的视频文件,判断是否保存有采集所述视频文件的视频源的索引文件;
如果否,建立所述视频源对应的索引文件;
如果是,针对在所述视频文件中识别出的关键帧,识别所述关键帧包含的事件的第一类型,判断所述索引文件中是否保存有所述第一类型的事件对应的索引信息;如果否,在所述索引文件中建立所述第一类型的事件的索引信息,并建立所述索引信息中开始时间为所述关键帧的第一时间的索引子信息;如果是,判断所述关键帧的上一关键帧包含的事件的类型是否与所述第一类型相同,如果相同,则在针对所述第一类型的事件对应的索引信息中,更新所述索引信息中最后一条索引子信息中的结束时间,如果不同,则在所述第一类型的事件的索引信息中建立开始时间为所述关键帧的第一时间的索引子信息。
进一步地,所述针对在所述视频文件中识别出的关键帧,识别所述关键帧包含的事件的第一类型之前,所述方法还包括:
根据所述视频文件对应的时间段,判断所述索引文件中是否保存有所述时间段对应的第一时间周期的索引记录;
如果否,在所述索引文件中建立所述时间段对应的第一时间周期的索引记录;
如果是,针对所述索引文件中所述时间段对应的时间周期的索引记录进行后续操作。
进一步地,所述判断是否保存有采集所述视频文件的视频源的索引文件包括:
判断缓存文件中是否保存有采集所述视频文件的视频源的索引文件;
将所述视频文件中的每个关键帧的索引信息记录到索引文件中后,所述方法还包括:
判断当前是否满足将缓存文件中的索引信息进行保存的条件;
如果是,将缓存文件中的索引信息进行保存。
进一步地,所述判断当前是否满足将缓存文件中的索引信息进行保存的条件包括:
判断当前缓存时间是否达到将索引信息进行保存的第二时间周期阈值;
判断当前缓存文件的存储容量是否达到最大阈值。
进一步地,所述将缓存文件中的索引信息进行保存包括:
针对所述索引文件,按照索引信息保存条件对应的规则对所述索引文件中的索引信息划分到每个索引子文件中;
依次保存每个索引子文件。
进一步地,所述方法还包括:
根据所述索引子信息中的开始时间对应的第一关键帧和结束时间对应的第二关键帧的存储位置,在所述索引子信息中保存所述存储位置的信息。
进一步地,所述方法还包括:
根据索引子信息对应的视频文件,根据所述视频文件的开始时间对应的视频帧和结束时间对应的视频帧的存储位置,在所述索引信息中保存有所述存储位置的信息。
本发明实施例公开了一种基于所述视频文件索引信息的构建方法的视频文件索引信息的查询方法,所述方法包括:
接收用户发送的索引信息的查询请求,其中所述查询请求中携带待查询的视频源的标识信息、事件的类型及所述类型的事件发生的时间的信息;
根据生成的索引文件集合及所述视频源的标识信息,查找所述索引文件集合中是否包含所述视频源的目标索引文件;
如果是,在所述目标索引文件中查找是否包含所述类型的事件的索引信息,如果是,根据所述类型的事件发生的时间,查找所述索引信息中开始时间和结束时间与所述事件的发生的时间对应的索引子信息并显示。
进一步地,所述在所述索引文件中查找是否包含所述类型的事件的索引信息之前,所述方法还包括:
根据所述类型的事件发生的时间,确定所述时间对应的第三时间周期;
判断所述索引文件中是否保存有所述第三时间周期对应的索引记录;
如果是,进行后续步骤。
进一步地,所述根据生成的索引文件集合及所述视频源的标识信息,查找所述索引文件集合中是否包含所述视频源的目标索引文件包括:
在缓存文件中查找是否包含所述视频源的目标索引文件,如果是,进行后续步骤;
如果否,在保存的索引文件集合中查找是否包含所述视频源的目标索引文件,如果是,进行后续步骤。
进一步地,所述方法还包括:
根据查找到的索引信息中开始时间和结束时间与所述事件的发生的时间对应的索引子信息,及索引文件中记录的每个关键帧的存储位置的信息,查找与所述对应的索引子信息对应的关键帧的存储位置;
获取所述存储位置存储的关键帧并展示。
本发明实施例公开了一种视频文件索引信息的构建装置,所述装置包括:
判断模块,用于针对待建立索引的视频文件,判断是否保存有采集所述视频文件的视频源的索引文件;
建立模块,用于如果判断模块的判断结果为否,建立所述视频源对应的索引文件;
建立模块,还用于如果判断模块的判断结果为是,针对在所述视频文件中识别出的关键帧,识别所述关键帧包含的事件的第一类型,判断所述索引文件中是否保存有所述第一类型的事件对应的索引信息;如果否,在所述索引文件中建立所述第一类型的事件的索引信息,并建立所述索引信息中开始时间为所述关键帧的第一时间的索引子信息;如果是,判断所述关键帧的上一关键帧包含的事件的类型是否与所述第一类型相同,如果相同,则在针对所述第一类型的事件对应的索引信息中,更新所述索引信息中最后一条索引子信息中的结束时间,如果不同,则在所述第一类型的事件的索引信息中建立开始时间为所述关键帧的第一时间的索引子信息。
进一步地,所述建立模块,还用于根据所述视频文件对应的时间段,判断所述索引文件中是否保存有所述时间段对应的第一时间周期的索引记录;如果否,在所述索引文件中建立所述时间段对应的第一时间周期的索引记录;如果是,针对所述索引文件中所述时间段对应的时间周期的索引记录进行后续操作。
进一步地,所述判断模块,具体用于判断缓存文件中是否保存有采集所述视频文件的视频源的索引文件;
所述装置还包括:
判断保存模块,用于判断当前是否满足将缓存文件中的索引信息进行保存的条件;如果是,将缓存文件中的索引信息进行保存。
进一步地,所述判断保存模块,具体用于判断当前缓存时间是否达到将索引信息进行保存的第二时间周期阈值;判断当前缓存文件的存储容量是否达到最大阈值。
进一步地,所述判断保存模块,具体用于针对所述索引文件,按照索引信息保存条件对应的规则对所述索引文件中的索引信息划分到每个索引子文件中;依次保存每个索引子文件。
进一步地,所述装置还包括:
保存模块,用于根据所述索引子信息中的开始时间对应的第一关键帧和结束时间对应的第二关键帧的存储位置,在所述索引子信息中保存所述存储位置的信息。
进一步地,所述保存模块,还用于根据索引子信息对应的视频文件,根据所述视频文件的开始时间对应的视频帧和结束时间对应的视频帧的存储位置,在所述索引信息中保存有所述存储位置的信息。
本发明实施例公开了一种基于所述视频文件索引信息的构建装置的视频文件索引信息的查询装置,所述装置包括:
接收模块,用于接收用户发送的索引信息的查询请求,其中所述查询请求中携带待查询的视频源的标识信息、事件的类型及所述类型的事件发生的时间的信息;
查找模块,用于根据生成的索引文件集合及所述视频源的标识信息,查找所述索引文件集合中是否包含所述视频源的目标索引文件;
显示模块,用于如果查找模块的查找结果为是,在所述目标索引文件中查找是否包含所述类型的事件的索引信息,如果是,根据所述类型的事件发生的时间,查找所述索引信息中开始时间和结束时间与所述事件的发生的时间对应的索引子信息并显示。
进一步地,所述装置还包括:
确定判断模块,用于根据所述类型的事件发生的时间,确定所述时间对应的第三时间周期;判断所述索引文件中是否保存有所述第三时间周期对应的索引记录;如果是,进行后续步骤。
进一步地,所述查找模块,具体用于在缓存文件中查找是否包含所述视频源的目标索引文件,如果是,进行后续步骤;如果否,在保存的索引文件集合中查找是否包含所述视频源的目标索引文件,如果是,进行后续步骤。
进一步地,所述显示模块,还用于根据查找到的索引信息中开始时间和结束时间与所述事件的发生的时间对应的索引子信息,及索引文件中记录的每个关键帧的存储位置的信息,查找与所述对应的索引子信息对应的关键帧的存储位置;获取所述存储位置存储的关键帧并展示。
本发明实施例公开了一种视频文件索引信息的构建和查询方法及装置,所述方法包括:针对待建立索引的视频文件,判断是否保存有采集所述视频文件的视频源的索引文件;如果否,建立所述视频源对应的索引文件;如果是,针对在所述视频文件中识别出的关键帧,识别所述关键帧包含的事件的第一类型,判断所述索引文件中是否保存有所述第一类型的事件对应的索引信息;如果否,在所述索引文件中建立所述第一类型的事件的索引信息,并建立所述索引信息中开始时间为所述关键帧的第一时间的索引子信息;如果是,判断所述关键帧的上一关键帧包含的事件的类型是否与所述第一类型相同,如果相同,则在针对所述第一类型的事件对应的索引信息中,更新所述索引信息中最后一条索引子信息中的结束时间,如果不同,则在所述第一类型的事件的索引信息中建立开始时间为所述关键帧的第一时间的索引子信息。由于在本发明实施例中每个视频源对应一个索引文件,并且该索引文件中针对每种类型的事件保存有对应的索引信息,另外,该索引信息中还记录有该事件对应的开始时间和结束时间,因此方便了索引信息的查询,提高了查询的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种视频文件索引信息的构建过程示意图;
图2为本发明实施例提供的一种视频源采集的视频文件的索引示意图;
图3A为本发明实施例提供的一种索引文件示意图;
图3B为本发明实施例提供的一种将索引记录保存到索引文件的过程示意图;
图3C为本发明实施例提供的一种视频文件的在虚拟存储空间的映射表图;
图3D为本发明实施例提供的一种视频文件虚拟存储空间的起始偏移量、长度的信息图;
图3E为本发明实施例提供的一种重新建立索引记录的过程示意图;
图4为本发明实施例5提供的一种视频文件索引信息的查询过程示意图;
图5为本发明实施例提供的一种在索引文件中查找索引记录的过程示意图;
图6为本发明实施例1提供了一种视频文件索引信息的构建装置结构图;
图7为本发明实施例提供了一种视频文件索引信息的构建装置结构图;
图8为本发明实施例5提供的一种视频文件索引信息的查询装置结构图;
图9为本发明实施例提供的一种视频文件索引信息的查询装置。
具体实施方式
为了提高查询索引文件的速度,本发明实施例提供了一种视频文件索引信息的构建和查询方法及装置。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
图1为本发明实施例提供的一种视频文件索引信息的构建过程示意图,该过程包括以下步骤:
S101:针对待建立索引的视频文件,判断是否保存有采集所述视频文件的视频源的索引文件,如果否,进行S102,如果是,进行S103。
本发明实施例提供的视频文件索引信息的构建方法可以应用于电子设备,该电子设备中针对每个视频源保存有该视频源对应的索引文件。电子设备可以保存视频文件,每个视频文件对应的视频源可以相同,也可以不同。电子设备可以针对每个视频文件建立对应的索引。电子设备针对待建立索引的视频文件,可以识别出采集所述视频文件的视频源的标识信息,并判断是否保存所述标识信息的视频源的索引文件。所述视频源的标识信息可以是视频源的设备号,可以是视频源所在位置的信息等。
S102:建立所述视频源对应的索引文件,进行后续步骤。
如果电子设备判断出没有保存该视频源的索引文件,则建立所述视频源的索引文件。具体的,在电子设备中可以针对该视频源的标识信息,对应该标识信息建立该视频源的索引文件。
S103:针对在所述视频文件中识别出的关键帧,识别所述关键帧包含的事件的第一类型,判断所述索引文件中是否保存有所述第一类型的事件对应的索引信息;如果是,进行S105,如果否,进行S104。
电子设备可以识别视频文件中的关键帧,并且可以根据预先保存的识别方式,识别所述关键帧包含的事件的类型。所述事件的类型可以是包含人脸的事件、包含车牌的事件等。
在电子设备的每个索引文件中,可以针对每种类型的事件,保存该类型的事件对应的索引信息,每条索引信息中保存着事件的类型的信息及至少一条索引子信息,每条索引子信息中保存着该类型的事件的开始时间和结束时间。
当电子设备识别所述关键帧包含的事件的第一类型,并判断所述索引文件中是否保存有所述第一类型的事件对应的索引信息,其中所述索引信息中可以包含事件的类型的信息。每条索引信息中包含至少一条索引子信息,所述索引子信息中包含该类型的事件的开始时间和结束时间。
S104:在所述索引文件中建立所述第一类型的事件的索引信息,并建立所述索引信息中开始时间为所述关键帧的第一时间的索引子信息,进行后续步骤。
如果电子设备判断出索引文件中没有保存所述第一类型的事件对应的索引信息,则在所述索引文件中建立所述第一类型的事件的索引信息,所述索引信息中包含所述事件的类型的信息,并在建立的索引信息中再建立索引子信息,其中,所述索引子信息中包含该类型的事件的开始时间和结束时间,所述开始时间可以是所述关键帧的第一时间,所述结束时间可以是电子设备针对开始时间,自动生成的时间。
电子设备在识别出所述关键帧包含的事件的类型时,可以针对每种类型的事件分配对应的标识,针对每种类型的事件对应的标识建立索引信息。例如,可以是电子设备识别出所述关键帧包含的事件的类型为人脸,给该人脸分配对应的标识为A。电子设备识别到所述索引文件中没有包含事件的类型为A的事件对应的索引信息,则在所述索引文件中建立事件的类型为A的事件的索引信息a。该索引信息a中包含事件的类型的标识为A,并在所述索引信息a中建立开始时间为所述关键帧的第一时间的索引子信息,假如所述关键帧的第一时间为1:00,电子设备根据开始时间1:00自动生成的结束时间为1:01,则建立的索引子信息为[1:00-1:01]。则建立的索引信息a可以包括:类型A:[1:00-1:01]。
例如,可以是电子设备识别出所述关键帧包含的事件的类型为车牌,给该车牌分配对应的标识为B,电子设备识别到所述索引文件中没有包含事件的类型的标识为为B的事件对应的索引信息,则在所述索引文件中建立事件的类型为的标识为B的事件的索引信息b。该索引信息b中包含事件的类型的标识为B,并在所述索引信息b中建立开始时间为所述关键帧的第一时间的索引子信息,假如所述关键帧的第一时间为1:20,电子设备根据开始时间1:20自动生成的结束时间为1:21,则建立的索引子信息为[1:20-1:21]。则建立的索引信息b可以包括:类型B:[1:20-1:21]。
S105:判断所述关键帧的上一关键帧包含的事件的类型是否与所述第一类型相同,如果否,进行S106,如果是,进行S107。
电子设备识别出视频文件的关键帧后,识别该第一关键帧中包含的事件的类型并保存,当识别出下一关键帧时,该关键帧则为所述下一关键帧的上一关键帧,此时所述下一关键帧则为所述关键帧,电子设备识别所述关键帧包含的事件的第一类型与保存的上一关键帧的类型是否相同,若相同,则保存的事件的类型不变,若不相同,则将保存的事件的类型更新为所述关键帧包含的事件的第一类型,电子设备每识别出一个关键帧都会进行事件的类型的判断,从而确定是否进行更新。
如果电子设备判断出该索引文件中保存有所述第一类型的事件对应的索引信息,则判断该视频文件中保存的所述关键帧的上一关键帧包含的事件的类型是否与所述关键帧包含的事件的第一类型相同。
S106:在所述第一类型的事件的索引信息中建立开始时间为所述关键帧的第一时间的索引子信息。
如果电子设备判断出该视频文件中所述关键帧的上一关键帧包含的事件的类型与所述关键帧包含的事件的第一类型不同,可以确定该视频文件中包含第一类型的事件,并且可以认为该关键帧为该第一类型的事件的第一帧,因此可以在所述第一类型的事件的索引信息中建立开始时间为所述关键帧的第一时间的索引子信息。
电子设备在识别出所述关键帧包含的事件的类型时,可以针对每种类型的事件分配对应的标识,针对每种类型的事件对应的标识建立索引信息。具体的该步骤与上述S104相同,在这里就不再赘述。
S107:在针对所述第一类型的事件对应的索引信息中,更新所述索引信息中最后一条索引子信息中的结束时间。
当建立了第一类型的事件对应的索引信息后,可以根据每个包含第一类型的事件的关键帧,对该第一类型的事件中每个索引子信息中的结束时间进行更新。具体的,如果包含第一类型的事件的关键帧与其上一关键帧包含的事件的类型不同,则该关键帧为索引子信息的开始时间,并将该索引子信息的结束时间设置为一个默认时间,或者将其结束时间设置为与开始时间相同的时间,如果该关键帧与其上一关键帧包含的事件的类型相同,说明该事件的索引子信息已经建立,可以根据该关键帧的时间对索引子信息中的结束时间进行更新。
例如,可以是所述关键帧的上一关键帧包含的事件的类型为人脸,给该人脸分配对应的标识为A,所述关键帧包含的事件的类型的标识也为A,假如索引信息a包括:类型A:[1:00-1:01],则该索引信息a中的最后一条的索引子信息为[1:00-1:01],该索引子信息的开始时间是上一关键帧的时间,因此该关键帧与其上一关键帧包含的事件的类型相同,所以需要根据该关键帧的时间对该最后一条索引子信息中的结束时间进行更新。假如所述关键帧的第一时间为1:05,则将所述索引子信息的结束时间为1:01更新为1:05,更新后的索引子信息为[1:00-1:05],则索引信息a包括:类型A:[1:00-1:05]。
由于在本发明实施例中每个视频源对应一个索引文件,并且该索引文件中针对每种类型的事件保存有对应的索引信息,另外,该索引信息中还记录有该事件对应的开始时间和结束时间,因此方便了索引信息的查询,提高了查询的效率。
实施例2:
为了方便索引信息的查找,在针对每个视频源建立该视频源对应的索引文件时,可以将该视频源设定时间长度内采集的视频文件的索引保存为一个索引文件,并将该设定的时间长度划分为至少两个时间周期,在索引文件中针对每个时间周期保存该时间周期对应的索引记录。因此,在上述实施例的基础上,在本发明实施例中,所述针对在所述视频文件中识别出的关键帧,识别所述关键帧包含的事件的第一类型之前,所述方法还包括:
根据所述视频文件对应的时间段,判断所述索引文件中是否保存有所述时间段对应的第一时间周期的索引记录;
如果否,在所述索引文件中建立所述时间段对应的第一时间周期的索引记录;
如果是,针对所述索引文件中所述时间段对应的时间周期的索引记录进行后续操作。
电子设备针对每个视频源建立该视频源对应的索引文件,根据该视频源采集的视频文件的时间,在该索引文件中建立有多条索引记录,其中每条索引记录中记录有在对应时间周期采集的视频文件的索引信息,具体的在每条索引记录中可以针对每种类型的事件,保存该类型的事件对应的索引子信息。
其中该时间周期可以是预先设定的时间长度,例如可以是12小时,24小时等。因为在构建索引时是根据视频文件的采集时间,依次建立索引的,因此可以针对设定时间长度内采集的视频文件,将该设定时间长度划分至少两个时间周期,从而进行索引建立。例如该设定时间长度可以是3天,72小时,时间周期可以是24小时,则可知针对每个视频源在3天内采集的视频文件,将会建立一个索引文件,在该索引文件中包含3条索引记录,每条索引记录中记录有在该对应的时间周期内发生的事件对应的索引子信息。
在本发明实施例中,电子设备针对待建立索引的视频文件,可以识别出采集所述视频文件的视频源的标识信息,并判断是否保存有所述标识信息的视频源的索引文件。所述视频源的标识信息可以是视频源的设备号,可以是视频源所在位置的信息等唯一标识该视频源的信息。电子设备针对待建立索引的视频文件,可以识别出所述视频文件对应的时间段,即该视频文件的开始时间和结束时间。
如果电子设备判断出没有保存采集所述视频文件的视频源的索引文件,则根据所述视频源的标识信息,建立对应所述视频源的标识信息的索引文件。并根据该视频文件对应的时间周期,在该索引文件中建立对应的索引记录,根据该视频文件中包含的事件的类型,在该索引记录中建立所述第一类型的事件的索引信息,并建立所述索引信息中开始时间为所述关键帧的第一时间的索引子信息。
如果电子设备判断出保存有采集所述视频文件的视频源的索引文件,可以根据识别出的所述视频文件对应的时间段,判断所述索引文件中是否保存有所述时间段对应的第一时间周期的索引记录。如果电子设备判断出所述索引文件中没有保存所述时间段对应的第一时间周期的索引记录,可以是所述视频文件为所述第一时间周期内的第一个视频文件,电子设备可以在所述索引文件中建立所述时间段对应的第一时间周期的索引记录,根据该视频文件中包含的事件的类型,在该索引记录中建立所述第一类型的事件的索引信息,并建立所述索引信息中开始时间为所述关键帧的第一时间的索引子信息。
如果电子设备判断出所述索引文件中保存有所述时间段对应的第一时间周期的索引记录,可以针对在所述视频文件中识别出的关键帧,识别所述关键帧包含的事件的第一类型,判断所述索引记录中是否保存有所述第一类型的事件对应的索引信息;如果否,在所述索引记录中建立所述第一类型的事件的索引信息,并建立所述索引信息中开始时间为所述关键帧的第一时间的索引子信息;如果是,判断所述关键帧的上一关键帧包含的事件的类型是否与所述第一类型相同,如果相同,则在针对所述第一类型的事件对应的索引信息中,更新所述索引信息中最后一条索引子信息中的结束时间,如果不同,则在所述第一类型的事件的索引信息中建立开始时间为所述关键帧的第一时间的索引子信息。
图2所示为某一视频源在[2016年11月1日,2016年11月30日]采集的所有视频文件的索引,在该视频源对应的索引文件中,针对每一天保存有一条索引记录,在每一条索引记录中针对不同的事件,保存有对应的索引信息,在索引信息中包含有索引子信息,该索引子信息中记录有对应事件的开始时间和结束时间。
具体的,如图2所示,第一天11月1日对应第一条索引记录,则该第一条索引记录中包含有3个视频文件的索引信息,其中针对每个视频文件保存有该视频文件对应的时间段的信息,例如图2所示的,视频文件1的开始时间为1:00,结束时间为3:30,视频文件2的开始时间为4:00,结束时间为5:30,视频文件3的开始时间为12:00,结束时间为13:00。
并且,针对每个视频文件,根据该视频文件包含的事件的类型,保存有对应的索引子信息,在每条索引子信息中记录有对应事件的开始时间和结束时间。具体参见图2所示,视频文件1、视频文件2和视频文件3中均包含类型为A和类型为B的事件,因此在索引文件中记录有类型为A的事件和类型为B的事件对应的每条索引子信息,其中视频文件1中包含的类型为A的事件对应的一条索引子信息中记录有该事件的开始时间为1:00,结束时间为1:05,类型为B的事件对应的一条索引子信息中记录有该事件的开始时间为1:20,结束时间为1:25。视频文件2中包含的类型为A的事件对应的一条索引子信息中记录有该事件的开始时间为5:00,结束时间为5:05,类型为B的事件对应的一条索引子信息中记录有该事件的开始时间为5:20,结束时间为5:25。视频文件3中包含的类型为A的事件对应的一条索引子信息中记录有该事件的开始时间为12:00,结束时间为12:10,类型为B的事件对应的一条索引子信息中记录有该事件的开始时间为12:30,结束时间为12:40。
如图2所示,第二天11月2日对应第二条索引记录,因为11月2日该视频源没有采集视频文件,因此该索引记录没有保存对应的索引信息。
第三天11月3日对应第三条索引记录,该第三条索引记录中包含有2个视频文件,其中,针对每个视频文件保存该视频文件的时间段信息。视频文件1的开始时间为1:00,结束时间为3:30,视频文件2的开始时间为4:00,结束时间为5:30。并且,针对每个视频文件,根据该视频文件包含的事件的类型,保存有对应的索引子信息,在每条索引子信息中记录有对应事件的开始时间和结束时间。该视频文件包含的内容和第一条索引记录中的视频文件内容相似,在这里不进行赘述。
第三十天11月30日对应第三十条索引记录,该第三十条索引记录中包含一个视频文件,其中,针对该视频文件1保存该视频文件1的时间段信息。视频文件1的开始时间为1:00,结束时间为3:30。并且针对该视频文件1,根据该视频文件1包含的事件的类型,保存有对应的索引子信息,在每条索引子信息中记录有对应事件的开始时间和结束时间。视频文件1中包含类型为B的事件,因此在索引文件中记录有类型为B的事件对应的3条索引子信息,其中视频文件1中包含的类型为B的事件对应的第一条索引子信息中记录有该事件的开始时间为1:20,结束时间为1:25,第二条索引子信息中记录有该事件的开始时间为5:20,结束时间为5:25,第三条索引子信息中记录有该事件的开始时间为12:30,结束时间为12:40。
每条索引记录中包含的事件的类型可以相同,也可以不同。将针对每个视频文件对应的索引子信息按照设定的时间周期建立在一起,生成的一条条索引记录。这样在用户想查询某一个时间周期的索引子信息时,可以索引记录的时间信息方便快速的查找出来,提高了查询了效率。
实施例3:
电子设备在保存所述视频源的索引文件时,可以先将该索引文件暂时保存到缓存空间中,一般缓存空间的存储容量较小,这样在查询所述索引文件时,可以快速的查找到。当缓存空间的设定存储容量被占满时,则可以将缓存空间的索引文件进行保存。
所述判断是否保存有采集所述视频文件的视频源的索引文件包括:
判断缓存文件中是否保存有采集所述视频文件的视频源的索引文件;
将所述视频文件中的每个关键帧的索引信息记录到索引文件中后,所述方法还包括:
判断当前是否满足将缓存文件中的索引信息进行保存的条件;
如果是,将缓存文件中的索引信息进行保存。
在本发明实施例中,电子设备在判断是否保存有采集所述视频文件的视频源的索引文件时,因为是将索引信息先记录到缓存中的,因此电子设备先判断缓存文件中是否保存有采集所述视频文件的视频源的索引文件。当电子设备判断缓存文件中保存有所述索引文件时,可以将所述视频文件中的每个关键帧的索引信息记录到所述索引文件中,当电子设备判断缓存文件中没有保存所述索引文件时,可以在缓存中先建立所述视频源对应的索引文件,再将视频文件中的每个关键帧的索引信息记录到所述索引文件中。
当电子设备将视频文件中的每个关键帧的索引信息记录到所述索引文件中后,因为索引文件是保存在缓存文件中的,一般情况下,缓存文件中保存的索引信息容易被覆盖或不能长久保存,电子设备可以判断当前是否满足将所述索引文件中的索引信息保存的条件时,如果是,则将缓存文件中的索引信息进行保存,该保存可以是保存到电子设备的存储空间中。电子设备判断当前是否满足将所述索引文件中的索引信息保存的条件时,可以是判断是否接收到用户保存指令,当电子设备接收到用户的保存指令时,将缓存文件中的索引信息进行保存,或者判断当前是否满足将缓存文件中的索引信息进行保存的条件还可以包括:
判断当前缓存时间是否达到将索引信息进行保存的时间周期;
判断当前缓存文件的存储容量是否达到设定阈值。
电子设备中设定有将索引信息进行保存的时间周期,所述时间周期可以是任意时间长度,例如2个小时、48个小时,即2天,也可以是与索引记录的第一时间周期相同。当设定的将索引信息进行保存的时间周期与索引记录的第一时间周期相同时,则保存的该第一时间周期的所有索引信息即为一条索引记录。
电子设备分配给了缓存文件一定的缓存空间,该缓存空间的存储容量则是确定的值,缓存文件的数据量不能超过缓存空间的存储容量。电子设备判断当前是否满足将缓存文件中的索引信息进行保存的条件时,可以是判断当前缓存文件的存储容量是否达到设定阈值,当判断出当前缓存文件的存储容量达到设定阈值,则满足将缓存文件中的索引信息进行保存的条件,则将缓存文件中的索引信息进行保存。其中该设定阈值可以为该缓存空间的存储容量,或者也可以是该存储容量的95%、90%等对应的数值。
所述将缓存文件中的索引信息进行保存包括:
针对所述索引文件,按照索引信息保存条件对应的规则对所述索引文件中的索引信息划分到每个索引子文件中;
依次保存每个索引子文件。
电子设备在将所述将缓存文件中的索引信息进行保存时,可以是针对每个索引文件,按照设定的第二时间周期对所述索引文件中的索引信息划分到每个索引子文件中,依次保存每个索引子文件。所述第二时间周期可以是与所述索引文件中的索引记录的第一时间周期相同的时间周期,也可以是与所述第一时间周期不同的任意时间周期。当所述第二时间周期与所述第一时间周期相同时,则所述索引子文件即为所述索引记录。依次保存每个索引子文件即为依次保存每个索引记录。例如每个索引文件中记录有对应的视频源在3天内采集的视频文件的索引,可以按照时间周期为一天将所述索引文件划分为索引子文件,则该索引文件中包含3个索引子文件。
电子设备在将所述将缓存文件中的索引信息进行保存时,也可以是针对缓存空间的存储容量,将达到缓存空间的存储容量阈值时的时间段所对应的第二时间周期中所有索引信息划分到每个索引子文件中。缓存空间的存储容量由0达到阈值时的时间段,可以是大于第二时间周期的,则将该时间段中包含该第二时间周期的时间段中的所有索引信息划分到一个索引子文件中。缓存空间的存储容量由0达到阈值时的时间段,可以是小于第二时间周期的,则将该时间段中的所有索引信息划分到一个索引子文件中。
如图3A所示的索引文件示意图,所述第二时间周期与所述第一时间周期相同,该图3A中的索引记录即为索引子文件。索引文件中保存有索引记录(索引子文件)1、索引记录(索引子文件)2、……、索引记录(索引子文件)N,索引文件中还保存有页脚Footer和元数据Metadata,其中,Metadata中保存有索引记录(索引子文件)的数量number和每条索引记录(索引子文件)在索引文件中的偏移量offset和大小信息size,Footer的长度是固定的,Footer中保存有Metadata的偏移量、长度、开始时间和结束时间。
在将索引记录(索引子文件)N+1保存索引文件中时,具体地可以参考图3B所示的过程示意图:
S201:将索引文件的读写位置移动到所述索引文件的尾部,读取所述索引文件的Footer。
S202:根据读取的Footer解析出所述索引文件的Metadata在索引文件中的起始地址。
S203:根据所述Metadata在所述索引文件中的起始地址,读取所述Metadata中的数据信息,识别所述数据信息中的最后一条索引记录N的偏移量信息和大小信息。
S204:将所述Footer和Metadata写入临时文件中,将新的索引记录N+1在索引文件的Metadata的开始位置开始写入。
S205:根据所述新的索引记录的偏移量信息及大小信息,更新所述Metadata。
S206:将所述更新后的Metadata在所述索引文件的所述更新后的索引记录的结束位置开始写入。
S207:根据所述更新后的Metadata的偏移量及长度,更新所述Footer。
S208:将所述更新后的Footer在所述索引文件的所述更新后的Metadata的结束位置开始写入。
S209:删除所述临时文件。
一般情况下,Metadata和Footer会被存在缓存中,这样可以提高索引写入效率。具体根据在存储空间中写入已建立的索引的信息的方法将Metadata和Footer写入缓存中,在存储空间中写入已建立的索引的信息的过程属于现有技术,在本发明实施例中不再进行赘述。
实施例4:
电子设备将视频文件中的各种类型的事件对应建立索引子信息,为了可以根据索引子信息快速查找到该索引子信息中的关键帧的内容并展示,在上述各实施例的基础上,在本发明实施例中,所述方法还包括:
根据所述索引子信息中的开始时间对应的第一关键帧和结束时间对应的第二关键帧的存储位置,在所述索引子信息中保存所述存储位置的信息。
在本发明实施例中,电子设备中保存有视频文件中的关键帧包含的各种类型的事件对应的索引子信息,该索引子信息中保存有该类型的事件的开始时间和结束时间,开始时间为该类型的事件对应的第一关键帧的时间,结束时间为该类型的事件对应的最后一个关键帧的时间,将该最后一个关键帧称为第二关键帧。电子设备根据该所述索引子信息中的开始时间对应的第一关键帧和结束时间对应的第二关键帧的存储位置,在所述索引子信息中保存所述存储位置的信息。这样用户在查询到该索引子信息后,也可以根据所述索引子信息中保存所述存储位置的信息查找到该索引子信息中的关键帧的内容。当然可以针对所述索引子信息中的每个关键帧,在所述索引子信息中保存每个关键帧的存储位置。
当用户在查找到索引子信息时,也有可能不只是想看该索引子信息中的关键帧的内容,还会想看所述引子信息对应的视频文件中的全部帧的内容。所述方法还包括:
根据索引子信息对应的视频文件,根据所述视频文件的开始时间对应的视频帧和结束时间对应的视频帧的存储位置,在所述索引信息中保存有所述存储位置的信息。
每个索引子信息都有其对应的视频文件,该视频文件中包含该索引子信息对应关键帧的内容,和非关键帧内容。索引信息中保存有该索引子信息及该索引子信息对应的事件的类型,在该索引信息中保存该视频文件的开始时间对应的视频帧的存储位置和该视频文件的结束时间对应的视频帧的存储位置,这样用户在想查询该视频文件的存储位置时,就可以根据该视频的开始时间对应的视频帧的存储位置和该视频文件的结束时间对应的视频帧的存储位置,找到整个视频文件了。当然也可以在该索引信息中保存该视频文件的所有帧的存储位置。
电子设备在构建视频文件的索引信息时,可以包含采集该视频文件的视频源、视频文件的时间段,该时间段对应的时间周期,视频文件中事件的类型及该类型的事件的时间信息。当然也可以包括该视频文件中关键帧的绝对时间和该视频文件的偏移量,因为在构建索引文件时,是依靠视频源构建的,而不是一个个视频文件,这就需要建立映射表,将所有录像文件映射到一个地址空间中,具体的如图3C所示,为视频文件的在虚拟存储空间的映射表图,每个视频文件都会有对应的虚拟存储空间。在虚拟存储空间中,将视频文件1,视频文件2……视频文件N,依次在虚拟存储空间中存储。
如图3D所示,为视频文件虚拟存储空间的起始偏移量、长度的信息。可以看出视频文件1的起始偏移量为uint64:offset1,长度为uint64:size1;视频文件2的起始偏移量为uint64:offset1+size1,长度为uint64:size2;视频文件3的起始偏移量为uint64:offset1+size1+size2,长度为uint64:size3。
电子设备在建立该视频文件的索引信息时发现该视频文件被覆盖或者此时出现断电情况,则电子设备认为没有把视频文件的索引信息建立完整,可以针对该视频文件的时间段对应的第一时间周期重新建立索引记录。具体的,可以如图3E所示,为重新建立索引记录的过程示意图:
S301:将文件读写位置移动到索引文件的尾部,读取索引文件的Footer,解析结束时间。
S302:查找结束时间到此时的时间段对应的视频文件。
S303:根据所述视频文件生成索引记录并更新到索引文件中。
所述重新建立索引记录的过成属于现有技术,在本发明实施例中对该过程不进行详细赘述。
实施例5:
图4为本发明实施例5提供的一种视频文件索引信息的查询过程示意图,该过程包括以下步骤:
S401:接收用户发送的索引信息的查询请求,其中所述查询请求中携带待查询的视频源的标识信息、事件的类型及所述类型的事件发生的时间的信息。
本发明实施例提供的视频文件索引信息的查询方法可以应用于电子设备。电子设备可以接收用户发送的索引信息的查询请求,所述索引信息的查询请求中携带待查询的视频源的标识信息、事件的类型及所述类型的事件发生的时间的信息。所述视频源的标识信息可以是视频源的设备号,可以是视频源所在位置的信息。所述事件的类型可以是包含人脸的事件、包含车牌的事件等。所述事件的类型可以是类型的标识信息等,例如含人脸的事件的标识信息为A,包含车牌的事件的标识信息为B。所述类型的事件发生的时间可以是时间点,例如5:20,也可以是时间段,例如4:00-4:20。
S402:根据生成的索引文件集合及所述视频源的标识信息,查找所述索引文件集合中是否包含所述视频源的目标索引文件,如果是,进行S403,如果否,则结束。
电子设备生成的所有索引文件称为索引文件集合,电子设备的索引文件集合中保存有包含视频源的索引文件,在保存索引文件时,可以保存视频源的标识信息与索引文件的对应关系,具体的可以是视频源的标识信息与索引文件一一对应,例如,视频源的标识信息是设备号,如设备1、设备2……,所述对应关系可以是设备1-索引文件1,设备2-索引文件2。电子设备可以在所述索引文件集合中查找是否保存有用户的查询请求中携带的视频源的标识信息,如果有,则电子设备中保存有包含所述视频源的目标索引文件。
S403:在所述目标索引文件中查找是否包含所述类型的事件的索引信息,如果是,根据所述类型的事件发生的时间,查找所述索引信息中开始时间和结束时间与所述事件发生的时间对应的索引子信息并显示。
电子设备中保存的索引文件中包含有事件的类型及该类型的事件的索引信息,所述索引信息中还包含该类型的事件发生的时间。当电子设备查找到保存有所述视频源的目标索引文件时,则可以根据用户发送的所述查询请求中携带的事件的类型,在所述目标索引文件中查找是否包含该类型的事件的索引信息,如果在目标索引文件中查找到包含该类型的事件的索引信息,则可以根据用户发送的所述查询请求中携带的该类型的事件发生的时间,查找所述索引信息中开始时间和结束时间与所述事件发生的时间对应的索引子信息并显示。所述开始时间和结束时间与所述事件发生的时间对应的索引子信息可以是所述事件发生的时间在索引子信息的开始时间和结束时间之内或重合的时间。
例如,所述查询请求中携带的该类型的事件发生的时间为一个时间点5:20,所述索引信息中有索引子信息[1:20-1:25]和[5:20-5:25],则显示的索引子信息为[5:20-5:21]。例如,所述查询请求中携带的该类型的事件发生的时间为一个时间段1:22-5:22,所述索引信息中有索引子信息[1:20-1:25]和[5:20-5:21],则显示的索引子信息为[1:20-1:25]和[5:20-5:21]。
实施例6:
所述在所述索引文件中查找是否包含所述类型的事件的索引信息之前,所述方法还包括:
根据所述类型的事件发生的时间,确定所述时间对应的第三时间周期;
判断所述索引文件中是否保存有所述第三时间周期对应的索引记录;
如果是,进行后续步骤。
在本发明实施例中,电子设备在查找到包含用户发送的所述查询请求中携带的所述视频源的索引文件后,可以根据所述查询请求中携带的所述类型的事件发生的时间确定所述时间对应的第三时间周期,所述第三时间周期可以是与第一时间周期相同的时间周期。当电子设备判断出所述索引文件中保存有所述第三时间周期对应的索引记录时,则可以在所述索引记录中查找是否包含所述类型的事件的索引信息,如果是,根据所述类型的事件发生的时间,查找所述索引信息中开始时间和结束时间与所述事件发生的时间对应的索引子信息并显示。
如图5所示,为电子设备在索引文件中查找索引记录的过程示意图:
S501:将索引文件的读写位置移动到所述索引文件的尾部,读取所述索引文件的Footer。
S502:根据读取的Footer解析出所述索引文件的Metadata在索引文件中的起始地址。
S503:根据所述Metadata在所述索引文件中的起始地址读取所述Metadata中的数据信息,针对所述Metadata中的数据信息,查找待读取的索引记录的偏移量信息和大小信息。
S504:根据所述偏移量信息和大小读取所述待查找的索引记录。
所述根据生成的索引文件集合及所述视频源的标识信息,查找所述索引文件集合中是否包含所述视频源的索引文件包括:
在缓存文件中查找是否包含所述视频源的索引文件,如果是,进行后续步骤;
如果否,在保存的索引文件集合中查找是否包含所述视频源的索引文件,如果是,进行后续步骤。
在本发明实施例中,电子设备在查找是否保存有包含用户发送的所述查询请求中携带的所述视频源的目标索引文件时,可以是先在缓存文件中查找是否包含所述视频源的目标索引文件。若在缓存文件中查找到包含所述视频源的目标索引文件,则可以在所述目标索引文件中查找是否包含所述类型的事件的索引信息。若在缓存文件中没有查找到包含所述视频源的目标索引文件,则可以在保存的索引文件集合中查找是否包含所述视频源的目标索引文件,如果在保存的索引文件集合中查找到包含所述视频源的目标索引文件,则可以在所述目标索引文件中查找是否包含所述类型的事件的索引信息。
例如,用户想查询2016年5月3日12:00到2016年5月5日8:00之间的视频源1中类型A的索引信息,当电子设备接收到用户的查询请求时,根据用户的查询请求中携带的视频源的标识信息视频源1在缓存文件中查找到包含所述视频源1的索引文件1,若查找到所述视频源1的索引文件1,则在缓存文件中的所述索引文件1中查找是否包含日期在2016年5月3日至2016年5月5日之间的视频文件,若查找到,则在所述索引文件1中的2016年5月3日至2016年5月5日之间的所有索引信息中查找包含类型A的索引信息。若在缓存文件中只能查找到包含日期为2016年5月5日的视频文件1,则在所述视频文件1中查找包含类型A的索引信息。在保存的索引文件集合中查找包含日期为2016年5月3日至2016年5月4日的视频文件2,则在所述视频文件2中查找包含类型A的索引信息.
若在缓存文件中没有查找到包含所述视频源1的索引文件,则可以在保存的索引文件集合中查找是否包含所述视频源1的索引文件1,则在索引文件集合中的所述索引文件1中查找是否包含日期在2016年5月3日至2016年5月5日之间的视频文件,若查找到,则在所述索引文件1中的2016年5月3日至2016年5月5日之间的所有索引信息中查找包含类型A的索引信息。
实施例7:
用户在查询索引子信息时,电子设备可以查找到该索引子信息,为了显示更丰富的信息,也可能查找该索引子信息对应的关键帧并显示。在上述各实施例的基础上,在本发明实施例中,所述方法还包括:
根据查找到的索引信息中开始时间和结束时间与所述事件的发生的时间对应的索引子信息,及索引文件中记录的每个关键帧的存储位置的信息,查找与所述对应的索引子信息对应的关键帧的存储位置;
获取所述存储位置存储的关键帧并展示。
在本发明实施例中,电子设备还可以根据查找到索引信息中开始时间和结束时间与所述事件的发生的时间对应的索引子信息,及索引文件中记录的每个关键帧的存储位置的信息,查找与所述对应的索引子信息对应的关键帧的存储位置,从而获取对应的视频帧的信息并展示。
图6为本发明实施例1提供了一种视频文件索引信息的构建装置结构图,所述装置包括:
判断模块61,用于针对待建立索引的视频文件,判断是否保存有采集所述视频文件的视频源的索引文件;
建立模块62,用于如果判断模块的判断结果为否,建立所述视频源对应的索引文件;
建立模块62,还用于如果判断模块的判断结果为是,针对在所述视频文件中识别出的关键帧,识别所述关键帧包含的事件的第一类型,判断所述索引文件中是否保存有所述第一类型的事件对应的索引信息;如果否,在所述索引文件中建立所述第一类型的事件的索引信息,并建立所述索引信息中开始时间为所述关键帧的第一时间的索引子信息;如果是,判断所述关键帧的上一关键帧包含的事件的类型是否与所述第一类型相同,如果相同,则在针对所述第一类型的事件对应的索引信息中,更新所述索引信息中最后一条索引子信息中的结束时间,如果不同,则在所述第一类型的事件的索引信息中建立开始时间为所述关键帧的第一时间的索引子信息。
所述建立模块62,还用于根据所述视频文件对应的时间段,判断所述索引文件中是否保存有所述时间段对应的第一时间周期的索引记录;如果否,在所述索引文件中建立所述时间段对应的第一时间周期的索引记录;如果是,针对所述索引文件中所述时间段对应的时间周期的索引记录进行后续操作。
所述判断模块61,具体用于判断缓存文件中是否保存有采集所述视频文件的视频源的索引文件;
图7为本发明实施例提供了一种视频文件索引信息的构建装置结构图,在图6的基础上,所述装置还包括:
判断保存模块71,用于判断当前是否满足将缓存文件中的索引信息进行保存的条件;如果是,将缓存文件中的索引信息进行保存。
所述判断保存模块71,具体用于判断当前缓存时间是否达到将索引信息进行保存的第二时间周期阈值;判断当前缓存文件的存储容量是否达到最大阈值。
所述判断保存模块71,具体用于针对所述索引文件,按照索引信息保存条件对应的规则对所述索引文件中的索引信息划分到每个索引子文件中;依次保存每个索引子文件。
所述装置还包括:
保存模块72,用于根据所述索引子信息中的开始时间对应的第一关键帧和结束时间对应的第二关键帧的存储位置,在所述索引子信息中保存所述存储位置的信息。
所述保存模块72,还用于根据索引子信息对应的视频文件,根据所述视频文件的开始时间对应的视频帧和结束时间对应的视频帧的存储位置,在所述索引信息中保存有所述存储位置的信息。
图8为本发明实施例5提供的一种视频文件索引信息的查询装置结构图,所述装置包括:
接收模块81,用于接收用户发送的索引信息的查询请求,其中所述查询请求中携带待查询的视频源的标识信息、事件的类型及所述类型的事件发生的时间的信息;
查找模块82,用于根据生成的索引文件集合及所述视频源的标识信息,查找所述索引文件集合中是否包含所述视频源的目标索引文件;
显示模块83,用于如果查找模块的查找结果为是,在所述目标索引文件中查找是否包含所述类型的事件的索引信息,如果是,根据所述类型的事件发生的时间,查找所述索引信息中开始时间和结束时间与所述事件的发生的时间对应的索引子信息并显示。
图9为本发明实施例提供的一种视频文件索引信息的查询装置,在图8的基础上,所述装置还包括:
确定判断模块91,用于根据所述类型的事件发生的时间,确定所述时间对应的第三时间周期;判断所述索引文件中是否保存有所述第三时间周期对应的索引记录;如果是,进行后续步骤。
所述查找模块82,具体用于在缓存文件中查找是否包含所述视频源的目标索引文件,如果是,进行后续步骤;如果否,在保存的索引文件集合中查找是否包含所述视频源的目标索引文件,如果是,进行后续步骤。
所述显示模块83,还用于根据查找到的索引信息中开始时间和结束时间与所述事件的发生的时间对应的索引子信息,及索引文件中记录的每个关键帧的存储位置的信息,查找与所述对应的索引子信息对应的关键帧的存储位置;获取所述存储位置存储的关键帧并展示。
本发明实施例公开了一种视频文件索引信息的构建和查询方法及装置,所述方法包括:针对待建立索引的视频文件,判断是否保存有采集所述视频文件的视频源的索引文件;如果否,建立所述视频源对应的索引文件;如果是,针对在所述视频文件中识别出的关键帧,识别所述关键帧包含的事件的第一类型,判断所述索引文件中是否保存有所述第一类型的事件对应的索引信息;如果否,在所述索引文件中建立所述第一类型的事件的索引信息,并建立所述索引信息中开始时间为所述关键帧的第一时间的索引子信息;如果是,判断所述关键帧的上一关键帧包含的事件的类型是否与所述第一类型相同,如果相同,则在针对所述第一类型的事件对应的索引信息中,更新所述索引信息中最后一条索引子信息中的结束时间,如果不同,则在所述第一类型的事件的索引信息中建立开始时间为所述关键帧的第一时间的索引子信息。由于在本发明实施例中每个视频源对应一个索引文件,并且该索引文件中针对每种类型的事件保存有对应的索引信息,另外,该索引信息中还记录有该事件对应的开始时间和结束时间,因此方便了索引信息的查询,提高了查询的效率。
对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者一个操作与另一个实体或者另一个操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (22)
1.一种视频文件索引信息的构建方法,其特征在于,所述方法包括:
针对待建立索引的视频文件,判断是否保存有采集所述视频文件的视频源的索引文件;
如果否,建立所述视频源对应的索引文件;
如果是,针对在所述视频文件中识别出的关键帧,识别所述关键帧包含的事件的第一类型,判断所述索引文件中是否保存有所述第一类型的事件对应的索引信息;如果否,在所述索引文件中建立所述第一类型的事件的索引信息,并建立所述索引信息中开始时间为所述关键帧的第一时间的索引子信息;如果是,判断所述关键帧的上一关键帧包含的事件的类型是否与所述第一类型相同,如果相同,则在针对所述第一类型的事件对应的索引信息中,更新所述索引信息中最后一条索引子信息中的结束时间,如果不同,则在所述第一类型的事件的索引信息中建立开始时间为所述关键帧的第一时间的索引子信息。
2.根据权利要求1所述的方法,其特征在于,所述针对在所述视频文件中识别出的关键帧,识别所述关键帧包含的事件的第一类型之前,所述方法还包括:
根据所述视频文件对应的时间段,判断所述索引文件中是否保存有所述时间段对应的第一时间周期的索引记录;
如果否,在所述索引文件中建立所述时间段对应的第一时间周期的索引记录;
如果是,针对所述索引文件中所述时间段对应的时间周期的索引记录进行后续操作。
3.根据权利要求1所述的方法,其特征在于,所述判断是否保存有采集所述视频文件的视频源的索引文件包括:
判断缓存文件中是否保存有采集所述视频文件的视频源的索引文件;
将所述视频文件中的每个关键帧的索引信息记录到索引文件中后,所述方法还包括:
判断当前是否满足将缓存文件中的索引信息进行保存的条件;
如果是,将缓存文件中的索引信息进行保存。
4.根据权利要求3所述的方法,其特征在于,所述判断当前是否满足将缓存文件中的索引信息进行保存的条件包括:
判断当前缓存时间是否达到将索引信息进行保存的第二时间周期阈值;
判断当前缓存文件的存储容量是否达到最大阈值。
5.根据权利要求3所述的方法,其特征在于,所述将缓存文件中的索引信息进行保存包括:
针对所述索引文件,按照索引信息保存条件对应的规则对所述索引文件中的索引信息划分到每个索引子文件中;
依次保存每个索引子文件。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
根据所述索引子信息中的开始时间对应的第一关键帧和结束时间对应的第二关键帧的存储位置,在所述索引子信息中保存所述存储位置的信息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据索引子信息对应的视频文件,根据所述视频文件的开始时间对应的视频帧和结束时间对应的视频帧的存储位置,在所述索引信息中保存有所述存储位置的信息。
8.一种基于权利要求1-7任一项所述视频文件索引信息的构建方法的视频文件索引信息的查询方法,其特征在于,所述方法包括:
接收用户发送的索引信息的查询请求,其中所述查询请求中携带待查询的视频源的标识信息、事件的类型及所述类型的事件发生的时间的信息;
根据生成的索引文件集合及所述视频源的标识信息,查找所述索引文件集合中是否包含所述视频源的目标索引文件;
如果是,在所述目标索引文件中查找是否包含所述类型的事件的索引信息,如果是,根据所述类型的事件发生的时间,查找所述索引信息中开始时间和结束时间与所述事件的发生的时间对应的索引子信息并显示。
9.根据权利要求8所述的方法,其特征在于,所述在所述索引文件中查找是否包含所述类型的事件的索引信息之前,所述方法还包括:
根据所述类型的事件发生的时间,确定所述时间对应的第三时间周期;
判断所述索引文件中是否保存有所述第三时间周期对应的索引记录;
如果是,进行后续步骤。
10.根据权利要求8所述的方法,其特征在于,所述根据生成的索引文件集合及所述视频源的标识信息,查找所述索引文件集合中是否包含所述视频源的目标索引文件包括:
在缓存文件中查找是否包含所述视频源的目标索引文件,如果是,进行后续步骤;
如果否,在保存的索引文件集合中查找是否包含所述视频源的目标索引文件,如果是,进行后续步骤。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
根据查找到的索引信息中开始时间和结束时间与所述事件的发生的时间对应的索引子信息,及索引文件中记录的每个关键帧的存储位置的信息,查找与所述对应的索引子信息对应的关键帧的存储位置;
获取所述存储位置存储的关键帧并展示。
12.一种视频文件索引信息的构建装置,其特征在于,所述装置包括:
判断模块,用于针对待建立索引的视频文件,判断是否保存有采集所述视频文件的视频源的索引文件;
建立模块,用于如果判断模块的判断结果为否,建立所述视频源对应的索引文件;
建立模块,还用于如果判断模块的判断结果为是,针对在所述视频文件中识别出的关键帧,识别所述关键帧包含的事件的第一类型,判断所述索引文件中是否保存有所述第一类型的事件对应的索引信息;如果否,在所述索引文件中建立所述第一类型的事件的索引信息,并建立所述索引信息中开始时间为所述关键帧的第一时间的索引子信息;如果是,判断所述关键帧的上一关键帧包含的事件的类型是否与所述第一类型相同,如果相同,则在针对所述第一类型的事件对应的索引信息中,更新所述索引信息中最后一条索引子信息中的结束时间,如果不同,则在所述第一类型的事件的索引信息中建立开始时间为所述关键帧的第一时间的索引子信息。
13.根据权利要求12所述的装置,其特征在于,所述建立模块,还用于根据所述视频文件对应的时间段,判断所述索引文件中是否保存有所述时间段对应的第一时间周期的索引记录;如果否,在所述索引文件中建立所述时间段对应的第一时间周期的索引记录;如果是,针对所述索引文件中所述时间段对应的时间周期的索引记录进行后续操作。
14.根据权利要求12所述的装置,其特征在于,所述判断模块,具体用于判断缓存文件中是否保存有采集所述视频文件的视频源的索引文件;
所述装置还包括:
判断保存模块,用于判断当前是否满足将缓存文件中的索引信息进行保存的条件;如果是,将缓存文件中的索引信息进行保存。
15.根据权利要求14所述的装置,其特征在于,所述判断保存模块,具体用于判断当前缓存时间是否达到将索引信息进行保存的第二时间周期阈值;判断当前缓存文件的存储容量是否达到最大阈值。
16.根据权利要求14所述的装置,其特征在于,所述判断保存模块,具体用于针对所述索引文件,按照索引信息保存条件对应的规则对所述索引文件中的索引信息划分到每个索引子文件中;依次保存每个索引子文件。
17.根据权利要求14所述的装置,其特征在于,所述装置还包括:
保存模块,用于根据所述索引子信息中的开始时间对应的第一关键帧和结束时间对应的第二关键帧的存储位置,在所述索引子信息中保存所述存储位置的信息。
18.根据权利要求17所述的装置,其特征在于,所述保存模块,还用于根据索引子信息对应的视频文件,根据所述视频文件的开始时间对应的视频帧和结束时间对应的视频帧的存储位置,在所述索引信息中保存有所述存储位置的信息。
19.一种基于权利要求12-18任一项所述视频文件索引信息的构建装置的视频文件索引信息的查询装置,其特征在于,所述装置包括:
接收模块,用于接收用户发送的索引信息的查询请求,其中所述查询请求中携带待查询的视频源的标识信息、事件的类型及所述类型的事件发生的时间的信息;
查找模块,用于根据生成的索引文件集合及所述视频源的标识信息,查找所述索引文件集合中是否包含所述视频源的目标索引文件;
显示模块,用于如果查找模块的查找结果为是,在所述目标索引文件中查找是否包含所述类型的事件的索引信息,如果是,根据所述类型的事件发生的时间,查找所述索引信息中开始时间和结束时间与所述事件的发生的时间对应的索引子信息并显示。
20.根据权利要求19所述的装置,其特征在于,所述装置还包括:
确定判断模块,用于根据所述类型的事件发生的时间,确定所述时间对应的第三时间周期;判断所述索引文件中是否保存有所述第三时间周期对应的索引记录;如果是,进行后续步骤。
21.根据权利要求18所述的装置,其特征在于,所述查找模块,具体用于在缓存文件中查找是否包含所述视频源的目标索引文件,如果是,进行后续步骤;如果否,在保存的索引文件集合中查找是否包含所述视频源的目标索引文件,如果是,进行后续步骤。
22.根据权利要求18所述的装置,其特征在于,所述显示模块,还用于根据查找到的索引信息中开始时间和结束时间与所述事件的发生的时间对应的索引子信息,及索引文件中记录的每个关键帧的存储位置的信息,查找与所述对应的索引子信息对应的关键帧的存储位置;获取所述存储位置存储的关键帧并展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710079048.XA CN106933974B (zh) | 2017-02-14 | 2017-02-14 | 一种视频文件索引信息的构建和查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710079048.XA CN106933974B (zh) | 2017-02-14 | 2017-02-14 | 一种视频文件索引信息的构建和查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106933974A true CN106933974A (zh) | 2017-07-07 |
CN106933974B CN106933974B (zh) | 2020-02-14 |
Family
ID=59424621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710079048.XA Active CN106933974B (zh) | 2017-02-14 | 2017-02-14 | 一种视频文件索引信息的构建和查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106933974B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595508A (zh) * | 2018-03-22 | 2018-09-28 | 佛山市顺德区中山大学研究院 | 一种基于后缀数组的自适应索引构建方法及系统 |
CN108763465A (zh) * | 2018-05-25 | 2018-11-06 | 广州钱柜软件科技有限公司 | 一种基于大数据的视频存储分配方法 |
CN110971978A (zh) * | 2018-09-28 | 2020-04-07 | 浙江宇视科技有限公司 | 视频播放方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851701A (zh) * | 2005-11-29 | 2006-10-25 | 华为技术有限公司 | 一种二进制数据的访问方法 |
CN103793506A (zh) * | 2014-01-26 | 2014-05-14 | 深圳市华宝电子科技有限公司 | 一种视频文件管理方法和装置 |
CN103905694A (zh) * | 2014-04-10 | 2014-07-02 | 中央电视台 | 一种关键帧处理方法及系统 |
CN104575551A (zh) * | 2014-12-04 | 2015-04-29 | 青岛海信网络科技股份有限公司 | 一种车辆录像存储方法、车辆录像检索方法及相应的装置 |
CN104881474A (zh) * | 2015-05-30 | 2015-09-02 | 深圳市乾华数据科技有限公司 | 一种事务索引集合的生成方法及系统 |
CN105426463A (zh) * | 2015-11-13 | 2016-03-23 | 深圳市至壹科技开发有限公司 | 一种视频文件的索引方法及服务器 |
EP3099074A1 (en) * | 2015-01-16 | 2016-11-30 | Hangzhou Hikvision Digital Technology Co., Ltd. | Systems, devices and methods for video coding |
-
2017
- 2017-02-14 CN CN201710079048.XA patent/CN106933974B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851701A (zh) * | 2005-11-29 | 2006-10-25 | 华为技术有限公司 | 一种二进制数据的访问方法 |
CN103793506A (zh) * | 2014-01-26 | 2014-05-14 | 深圳市华宝电子科技有限公司 | 一种视频文件管理方法和装置 |
CN103905694A (zh) * | 2014-04-10 | 2014-07-02 | 中央电视台 | 一种关键帧处理方法及系统 |
CN104575551A (zh) * | 2014-12-04 | 2015-04-29 | 青岛海信网络科技股份有限公司 | 一种车辆录像存储方法、车辆录像检索方法及相应的装置 |
EP3099074A1 (en) * | 2015-01-16 | 2016-11-30 | Hangzhou Hikvision Digital Technology Co., Ltd. | Systems, devices and methods for video coding |
CN104881474A (zh) * | 2015-05-30 | 2015-09-02 | 深圳市乾华数据科技有限公司 | 一种事务索引集合的生成方法及系统 |
CN105426463A (zh) * | 2015-11-13 | 2016-03-23 | 深圳市至壹科技开发有限公司 | 一种视频文件的索引方法及服务器 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595508A (zh) * | 2018-03-22 | 2018-09-28 | 佛山市顺德区中山大学研究院 | 一种基于后缀数组的自适应索引构建方法及系统 |
CN108595508B (zh) * | 2018-03-22 | 2020-11-13 | 佛山市顺德区中山大学研究院 | 一种基于后缀数组的自适应索引构建方法及系统 |
CN108763465A (zh) * | 2018-05-25 | 2018-11-06 | 广州钱柜软件科技有限公司 | 一种基于大数据的视频存储分配方法 |
CN110971978A (zh) * | 2018-09-28 | 2020-04-07 | 浙江宇视科技有限公司 | 视频播放方法及装置 |
CN110971978B (zh) * | 2018-09-28 | 2021-12-28 | 浙江宇视科技有限公司 | 视频播放方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106933974B (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103577440B (zh) | 一种非关系型数据库中的数据处理方法和装置 | |
CN104794228B (zh) | 一种搜索结果提供方法及装置 | |
CN103412916B (zh) | 一种监控系统的多维度数据存储、检索方法及装置 | |
CN103488709B (zh) | 一种索引建立方法及系统、检索方法及系统 | |
US10394452B2 (en) | Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse | |
CN103678523B (zh) | 分布式高速缓存cache数据访问方法和装置 | |
CN106648446A (zh) | 一种用于时序数据的存储方法、装置及电子设备 | |
CN108255958A (zh) | 数据查询方法、装置和存储介质 | |
CN102629269B (zh) | 一种嵌入式数据库的检索及存储方法 | |
CN108399050B (zh) | 一种数据处理方法及装置 | |
CN102419752B (zh) | 一种工业数据库报文存储方法 | |
US20030018688A1 (en) | Method and apparatus to facilitate accessing data in network management protocol tables | |
CN107045531A (zh) | 一种优化hdfs小文件存取的系统及方法 | |
CN106682042B (zh) | 一种关系数据缓存及查询方法及装置 | |
CN106970958B (zh) | 一种流文件的查询与存储方法和装置 | |
CN106933974A (zh) | 一种视频文件索引信息的构建和查询方法及装置 | |
CN102591855A (zh) | 一种数据标识方法及系统 | |
CN102737068B (zh) | 一种用于对检索数据进行缓存管理的方法与设备 | |
US11777983B2 (en) | Systems and methods for rapidly generating security ratings | |
CN107707600A (zh) | 一种数据存储方法及装置 | |
CN104021223B (zh) | 一种集群数据库测点的访问方法及装置 | |
CN108897859A (zh) | 一种元数据检索方法、装置、设备及计算机可读存储介质 | |
CN104965793B (zh) | 一种云存储数据节点装置 | |
CN109033173A (zh) | 一种用于生成多维指标数据的数据处理方法及装置 | |
CN110020272A (zh) | 缓存方法、装置以及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |