CN107229620B - 一种视频数据的存储方法及装置 - Google Patents
一种视频数据的存储方法及装置 Download PDFInfo
- Publication number
- CN107229620B CN107229620B CN201610169763.8A CN201610169763A CN107229620B CN 107229620 B CN107229620 B CN 107229620B CN 201610169763 A CN201610169763 A CN 201610169763A CN 107229620 B CN107229620 B CN 107229620B
- Authority
- CN
- China
- Prior art keywords
- data
- index
- video
- cached
- data block
- 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.)
- Active
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/71—Indexing; Data structures therefor; Storage structures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种视频数据的存储方法及装置,该方法包括:获得每一路视频数据的数据块,并缓存每一路视频数据的数据块,获得已缓存的各个数据块的索引值,根据索引值更新预先缓存的数据索引,判断所有已缓存的数据块的数据量之和是否大于第一预设阈值,若为是,则将已缓存的数据块存储至第一存储区域,判断第一存储区域中已存储的数据块的数据量是否大于第二预设阈值,若为是,将数据索引中已缓存的索引数据存储至第一存储区域中,并根据第一存储区域中已存储的数据块和索引数据,生成视频文件。应用本发明实施例提供的技术方案,简化了同步视频数据和索引数据的操作。
Description
技术领域
本发明涉及数据存储领域,特别涉及一种视频数据的存储方法及装置。
背景技术
目前,视频数据的存储方法主要包括如下几个步骤:
获得1个或多个摄像头采集的视频数据;
将所有摄像头采集的视频数据以合并写的方式写入存储器中的一个视频文件中,其中,每一个摄像头采集的视频数据以数据块为单位写入视频文件中;
针对该视频文件建立数据块索引文件,其中,数据块索引文件包括该视频文件的每个数据块对应的磁盘ID、视频文件名称、在视频文件中的起始位置、数据块长度、开始时间和结束时间;
针对该视频文件中的每个摄像头建立摄像头录像索引文件,其中,摄像头录像索引文件包括上述视频文件中每个数据块与摄像头之间的对应关系。
采用该方法存储视频数据后,可以根据摄像头录像索引文件和数据块索引文件从视频文件中查找需要的视频数据。
现有技术中,视频文件中仅存储了视频数据,视频数据对应的摄像头录像索引文件和数据块索引文件存储在存储器的另一固定区域中,当视频数据发生变化时(如:删除了部分视频数据或者发生了视频数据的循环覆盖),需要去存储器的另一固定区域中查找发生变化的视频数据对应的索引文件(包括:摄像头录像索引文件和数据块索引文件),并对索引文件进行修改,以保证视频数据与索引文件中的索引数据能够同步,这种视频数据存储方法使得同步视频数据和索引文件中的索引数据的操作非常繁琐,尤其在另一固定区域中存在多个索引文件时,需要一一查看各个索引文件,以保证视频数据与索引文件中的索引数据能够同步,这使得同步视频数据和索引文件中的索引数据的操作更加繁琐。
发明内容
本发明实施例的目的在于提供一种视频数据的存储方法及装置,以简化同步视频数据和索引数据的操作。
为达到上述目的,本发明实施例公开了一种视频数据的存储方法,所述方法包括步骤:
获得每一路视频数据的数据块,并缓存每一路视频数据的数据块;
获得已缓存的各个数据块的索引值,根据所述索引值更新预先缓存的数据索引,其中,所述数据索引用于记录已缓存的各个数据块的索引值以及数据块与其所属视频数据的对应关系;
判断所有已缓存的数据块的数据量之和是否大于第一预设阈值;
若为是,则将已缓存的数据块存储至第一存储区域;
判断所述第一存储区域中已存储的数据块的数据量是否大于第二预设阈值;
若为是,则将所述数据索引中已缓存的索引数据存储至所述第一存储区域中,并根据所述第一存储区域中已存储的数据块和索引数据,生成视频文件。
在本发明的一种具体实现方式中,所述获得已缓存的各个数据块的索引值,根据所述索引值更新预先缓存的数据索引,包括:
获得已缓存的各个数据块中I帧的时间戳和已缓存的各个数据块的数据量;
根据所获得的数据量,计算已缓存的各个数据块在所述第一存储区域中的存储位置;
根据所述存储位置与所述存储位置对应的数据块中I帧的时间戳,确定已缓存的各个数据块的索引值;
根据所述索引值,更新预先缓存的数据索引。
在本发明的一种具体实现方式中,所述方法还包括:
根据预先缓存的时间索引,获得每一路视频数据的最后一个时间段的结束时间,其中,所述时间索引,用于记录每一路视频数据的时间段的信息以及时间段与其所属视频数据的对应关系,所述时间段的信息包括:开始时间和结束时间;
根据所获得的结束时间,判断所获得的每一个I帧的时间戳是否满足以下表达式:
t1-t2>δ,
其中,t1为所获得的一个I帧的时间戳,t2为该I帧所属视频数据的最后一个时间段的结束时间,δ为预设时长;
若为是,则在所述时间索引中生成针对该I帧所属视频数据的新的时间段,其中,所述新的时间段的开始时间为该I帧的时间戳;
若为否,则将该I帧所属视频数据的最后一个时间段的结束时间更新为该I帧的时间戳。
在本发明的一种具体实现方式中,所述根据所述第一存储区域中已存储的数据块和索引数据,生成视频文件之后,还包括:
将所述时间索引中已缓存的数据及所述时间索引与所述视频文件的对应关系存储至第一数据库中。
在本发明的一种具体实现方式中,所述将所述时间索引中已缓存的数据及所述时间索引与所述视频文件的对应关系存储至第一数据库中之后,还包括:
清空所述数据索引中已缓存的索引数据和所述时间索引中已缓存的数据。
在本发明的一种具体实现方式中,所述将所述数据索引中已缓存的索引数据存储至所述第一存储区域中,并根据所述第一存储区域中已存储的数据块和索引数据,生成视频文件,包括:
将所述数据索引中已缓存的索引数据确定为视频文件尾数据,并将所述视频文件尾数据存储至所述第一存储区域中;
根据所述第一存储区域中已存储的数据块和所述视频文件尾数据,生成视频文件,其中,所述视频文件的文件头中包括:所述视频文件尾数据在所述第一存储区域中的存储位置。
在本发明的一种具体实现方式中,所述将所述视频文件尾数据存储至所述第一存储区域中,包括:
将所述视频文件尾数据以二进制的方式存储至所述第一存储区域中。
为达到上述目的,本发明实施例还公开了一种视频数据的存储装置,所述装置包括:视频数据获得模块、数据索引更新模块、第一数据量判断模块、视频数据存储模块、第二数据量判断模块和视频文件生成模块;
其中,所述视频数据获得模块,用于获得每一路视频数据的数据块,并缓存每一路视频数据的数据块;
所述数据索引更新模块,用于获得已缓存的各个数据块的索引值,根据所述索引值更新预先缓存的数据索引,其中,所述数据索引用于记录已缓存的各个数据块的索引值以及数据块与其所属视频数据的对应关系;
所述第一数据量判断模块,用于判断所有已缓存的数据块的数据量之和是否大于第一预设阈值,若为是,则触发所述视频数据存储模块;
所述视频数据存储模块,用于将已缓存的数据块存储至第一存储区域;
所述第二数据量判断模块,用于判断所述第一存储区域中已存储的数据块的数据量是否大于第二预设阈值,若为是,则触发所述视频文件生成模块;
所述视频文件生成模块,用于将所述数据索引中已缓存的索引数据存储至所述第一存储区域中,并根据所述第一存储区域中已存储的数据块和索引数据,生成视频文件。
在本发明的一种具体实现方式中,所述数据索引更新模块,包括:数据信息获得子模块、存储位置计算子模块、索引值确定子模块和数据索引更新子模块;
其中,所述数据信息获得子模块,用于获得已缓存的各个数据块中I帧的时间戳和已缓存的各个数据块的数据量;
所述存储位置计算子模块,用于根据所获得的数据量,计算已缓存的各个数据块在所述第一存储区域中的存储位置;
所述索引值确定子模块,用于根据所述存储位置与所述存储位置对应的数据块中I帧的时间戳,确定已缓存的各个数据块的索引值;
所述数据索引更新子模块,用于根据所述索引值,更新预先缓存的数据索引。
在本发明的一种具体实现方式中,所述装置还包括:时间获得模块、时间判断模块、时间段生成模块和时间更新模块;
其中,所述时间获得模块,用于根据预先缓存的时间索引,获得每一路视频数据的最后一个时间段的结束时间,其中,所述时间索引,用于记录每一路视频数据的时间段的信息以及时间段与其所属视频数据的对应关系,所述时间段的信息包括:开始时间和结束时间;
所述时间判断模块,用于根据所获得的结束时间,判断所获得的每一个I帧的时间戳是否满足以下表达式:
t1-t2>δ,
其中,t1为所获得的一个I帧的时间戳,t2为该I帧所属视频数据的最后一个时间段的结束时间,δ为预设时长;
若为是,则触发所述时间段生成模块,若为否,则触发所述时间更新模块;
所述时间段生成模块,用于在所述时间索引中生成针对该I帧所属视频数据的新的时间段,其中,所述新的时间段的开始时间为该I帧的时间戳;
所述时间更新模块,用于将该I帧所属视频数据的最后一个时间段的结束时间更新为该I帧的时间戳。
在本发明的一种具体实现方式中,所述装置还包括:时间数据存储模块,用于将所述时间索引中已缓存的数据及所述时间索引与所述视频文件的对应关系存储至第一数据库中。
在本发明的一种具体实现方式中,所述装置还包括:数据清空模块,用于清空所述数据索引中已缓存的索引数据和所述时间索引中已缓存的数据。
在本发明的一种具体实现方式中,所述视频文件生成模块,包括:索引数据存储子模块和视频文件生成子模块;
其中,所述索引数据存储子模块,用于将所述数据索引中已缓存的索引数据确定为视频文件尾数据,并将所述视频文件尾数据存储至所述第一存储区域中;
所述视频文件生成子模块,用于根据所述第一存储区域中已存储的数据块和所述视频文件尾数据,生成视频文件,其中,所述视频文件的文件头中包括:所述视频文件尾数据在所述第一存储区域中的存储位置。
在本发明的一种具体实现方式中,所述索引数据存储子模块,具体用于:
将所述数据索引中已缓存的索引数据确定为视频文件尾数据,并将所述视频文件尾数据以二进制的方式存储至所述第一存储区域中。
由上可见,本发明实施例中,在获得每一路视频数据的数据块后,缓存每一路视频数据的数据块,并获得已缓存的各个数据块的索引值,根据获得的索引值更新预先缓存的数据索引,在所有已缓存的数据块的数据量之和大于第一预设阈值的情况下,将已缓存的视频数据的数据块存储至第一存储区域中,在第一存储区域中已存储的数据块的数据量大于第二预设阈值的情况下,将数据索引中已缓存的索引数据存储至第一存储区域中,并根据第一存储区域中已存储的数据块和索引数据,生成视频文件。可见,生成的视频文件中存储了视频数据和数据索引中已缓存的索引数据,在视频数据发生变化时,仅需要在同一视频文件中进行操作即可,这样简化了同步视频数据和索引数据的操作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频数据的存储方法的流程示意图;
图2为本发明实施例提供的数据BUF中数据块排布的结构示意图;
图3为本发明实施例提供的另一种视频数据的存储方法的流程示意图;
图4为本发明实施例提供的数据索引的结构示意图;
图5为本发明实施例提供的时间索引的结构示意图;
图6为本发明实施例提供的另一种视频数据的存储方法的流程示意图;
图7为本发明实施例提供的视频文件的结构示意图;
图8为本发明实施例提供的一种视频数据的存储装置的结构示意图;
图9为本发明实施例提供的另一种视频数据的存储装置的结构示意图;
图10为本发明实施例提供的另一种视频数据的存储装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面通过具体实施例,对本发明进行详细说明。
参考图1,图1为本发明实施例提供的一种视频数据的存储方法的流程示意图,该方法可以包括如下步骤:
S101:获得每一路视频数据的数据块,并缓存每一路视频数据的数据块;
本发明实施例中,上述视频数据的存储方法可以应用于处理视频数据的服务器上,也可以应用于其他终端设备上,而视频数据往往由多个视频采集装置(如摄像头)采集,再通过网络将视频数据发送至终端设备。假设,本发明实施例应用于服务器上,服务器在获得每一路视频数据的数据块后,可以将视频数据的数据块缓存在内存中,以加快视频数据的处理速度。当然,也可以将视频数据的数据块存储在硬盘中,以避免视频数据因断电或服务器崩溃等原因丢失。
另外,在本发明实施例提供的一种具体实现方式中,可以在内存中预先创建一个数据缓冲区,该缓冲区可以称为数据BUF,用来缓存所有路的视频数据的数据块。
需要说明的是,通常情况下,视频数据是以数据块为单位的,数据BUF缓存的是所有路视频数据的数据块,数据BUF中数据块的排布结构如图2所示,图2为本发明实施例提供的数据BUF中数据块排布的结构示意图,其中,数据块1、数据块2…数据块n均表示一路视频数据的一个数据块,这些数据块可以来自不同路的视频数据。
S102:获得已缓存的各个数据块的索引值,根据所述索引值更新预先缓存的数据索引;
其中,数据索引用于记录已缓存的各个数据块的索引值以及数据块与其所属视频数据的对应关系。
具体地,终端设备在接收并缓存各路视频数据的数据块后,获得已缓存的各路视频数据中各个数据块的索引值,并将获得的索引值写入预先缓存的数据索引。如,终端设备接收到了数据块a,则缓存数据块a并获得数据块a的索引值,将该索引值,写入预先缓存的数据索引。另外,数据索引中还可以记录数据块与其所属视频数据的对应关系。这样,当用户想要获得指定的A路的视频数据的一个数据块a时,可以根据数据索引中记录的数据块与其所属视频数据的对应关系,获得A路的视频数据的所有数据块,再根据索引值,获得指定的数据块a。
在本发明的一种具体实现方式中,上述数据索引可以预先创建并缓存在内存中,这样可以以加快视频数据的处理速度。当然,数据索引也可以预先创建在硬盘中,以避免数据索引中的数据因断电或服务器崩溃等原因丢失。
S103:判断所有已缓存的数据块的数据量之和是否大于第一预设阈值,若为是,则执行步骤S104;
在本发明的一种具体实现方式中,若缓存的所有路视频数据的数据块的数据量之和不大于第一预设阈值,则返回继续执行步骤S101。
S104:将已缓存的数据块存储至第一存储区域;
实际应用中,如果每获得一次数据,就将该数据写入到硬盘中,会增加对硬盘的写操作过程,降低对数据的处理速度,然而,若一直将获得数据缓存在内存中,占用过多的内存空间也会降低对数据的处理速度,因此,在不影响对数据的处理速度的情况下,将获得的数据缓存在内存中,当达到一定的缓存在内存中数据达到一定阈值时,再将数据写入到硬盘中。
假设,第一预设阈值为50kB,若缓存的所有路视频数据的数据块的数据量之和达到了40kB,即上述数据BUF中缓存了40kB的视频数据的数据块,40kB<50kB,则继续执行上述获得每一路视频数据的数据块,并缓存每一路视频数据的数据块的步骤;若缓存的所有路视频数据的数据块的数据量之和达到了51kB,即上述数据BUF中缓存了51kB的视频数据的数据块,51kB>50kB,则将上述数据BUF中缓存的数据块存储至第一存储区域。
S105:判断所述第一存储区域中已存储的数据块的数据量是否大于第二预设阈值,若为是,则执行步骤S106;
在本发明的一种具体实现方式中,若缓存的所有路视频数据的数据块的数据量之和不大于第一预设阈值,则返回继续执行步骤S103。
S106:将所述数据索引中已缓存的索引数据存储至所述第一存储区域中,并根据所述第一存储区域中已存储的数据块和索引数据,生成视频文件。
其中,索引数据中包括每一路视频数据的各个数据块的索引值以及数据块与其所属视频数据的对应关系。
一种具体实现方式中,索引数据中的数据经序列化转换为可存储的窗体后,再存储至第一存储区域中。
假设,第二预设阈值为1000kB,若第一存储区域中视频数据的数据块的数据量为900kB,900kB<1000kB,则继续执行上述判断所有已缓存的数据块的数据量之和是否大于第一预设阈值的步骤;若第一存储区域中视频数据的数据块的数据量为1001kB,1001kB>1000kB,则将数据索引中已存储的索引数据存储至第一存储区域中,并根据第一存储区域中已存储的数据,生成视频文件。当再次存储视频数据时,重新创建一个存储区域,用于存储新获得的视频数据。
在本发明实施例提供的一种具体实现方式中,第一存储区域可以为一个空的视频文件F1,当缓存的所有路视频数据的数据块的数据量之和大于第一预设阈值时,将缓存的视频数据的数据块更新到该视频文件F1中,当该视频文件F1中视频数据的数据块的数据量大于第二预设阈值时,将数据索引中已存储的索引数据存储至该视频文件F1,关闭该视频文件F1,再创建一个新的空的视频文件F2,当终端设备获得新的视频数据的数据块时,根据上述方法,将视频数据的数据块存储至该视频文件F2中。
应用图1所示实施例,在获得每一路视频数据的数据块后,缓存每一路视频数据的数据块,并获得已缓存的各个数据块的索引值,根据获得的索引值更新预先缓存的数据索引,在所有已缓存的数据块的数据量之和大于第一预设阈值的情况下,将已缓存的视频数据的数据块存储至第一存储区域中,在第一存储区域中已存储的数据块的数据量大于第二预设阈值的情况下,将数据索引中已缓存的索引数据存储至第一存储区域中,并根据第一存储区域中已存储的数据块和索引数据,生成视频文件。可见,生成的视频文件中存储了视频数据和数据索引中已缓存的索引数据,在视频数据发生变化时,仅需要在同一视频文件中进行操作即可,这样简化了同步视频数据和索引数据的操作。
参考图3,图3为本发明实施例提供的另一种视频数据的存储方法的流程示意图,该方法中,步骤S102可以包括:
S1021:获得已缓存的各个数据块中I帧的时间戳和已缓存的各个数据块的数据量;
其中,视频数据以数据块为单元,通常情况下,一个数据块由至少一个I帧和若干个P帧、B帧组成,在获得每一路视频数据后,获得每一路视频数据的数据块中I帧的时间戳和每一路视频数据中各个数据块的数据量。另外,在缓存每一路视频数据时,可以按照每一路视频数据的数据块中I帧的时间戳的先后顺序缓存,这样可以便于查找指定时间点的视频数据的数据块。
S1022:根据所获得的数据量,计算已缓存的各个数据块在所述第一存储区域中的存储位置;
假设,目前获得的视频数据有A路视频数据的数据块1和B路视频数据块2、数据块3,它们在缓冲区(即上述数据BUF)中的顺序为数据块1、数据块2、数据块3,且第一存储区域中没有存储的数据块,数据块1的数据量为10kB、数据块2的数据量为10kB、数据块3的数据量为10kB,则通过计算得到,数据块1应存储在第一存储区域中起始存储位置为0kB对应的存储位置,数据块2应存储在第一存储区域中起始存储位置为10kB对应的存储位置,数据块3应存储在第一存储区域中起始存储位置为20kB对应的存储位置,此时若获得了数据块4,则可以计算得到数据块4应存储在第一存储区域中起始存储位置为30kB对应的存储位置。
S1023:根据所述存储位置与所述存储位置对应的数据块中I帧的时间戳,确定已缓存的各个数据块的索引值;
S1024:根据所述索引值,更新预先缓存的数据索引。
具体地,上述根据索引值,更新预先缓存的数据索引,可以包括:将计算得到的每一数据块在第一存储区域中的存储位置和获得该存储位置对应的数据块中的I帧的时间戳,存储至预先缓存的数据索引中。
另外,各个数据块的索引值还可以包括数据块的数据量和帧率,可参考图4,图4为本发明实施例提供的数据索引的结构示意图,该数据索引可称为数据索引MAP,用于缓存所有路视频数据的索引数据,其中,I帧时间是指数据块的I帧的时间戳,文件位置是指该数据块在第一存储区域中的相对于第一数据块的偏移量,即该数据块在第一存储区域中的存储位置,数据块大小是指该索引数据所对应的数据块的数据量,帧率是该视频数据播放的帧率。当然索引值还可以包括其他值,本发明对此不进行限定。此时,在更新数据索引时,将数据块的数据量和帧率同样存储至该数据索引中。
需要说明的是,上述数据索引MAP可以以每一路视频数据在数据索引中的唯一编码(如UUID(Universally Unique Identifier,通用唯一识别码))作为键(KEY),该键值对应的值(VALUE)结构为图4中的索引节点构成的集合,其中,一个索引节点为一路视频数据中一个数据块对应索引值。终端设备在获得视频数据的数据块后,可以按照I帧的时间戳的先后顺序和/或获得视频数据的数据块的先后顺序,依次根据各个数据块的索引值,更新数据索引。另外,在数据索引中还可以针对每一路视频数据设置子数据索引,如:当前有4路视频数据,则设置4个子数据索引,终端设备在获得视频数据的数据块后,将视频数据的各个数据块的索引值存储在相应的子数据索引下,并在总的数据索引下存储各个子数据索引的存储位置。假设,当前有4路视频数据,A路视频数据对应a1子数据索引,存储在b1区域,B路视频数据对应a2子数据索引,存储在b2区域,C路视频数据对应a3子数据索引,存储在b3区域,D路视频数据对应a4子数据索引,存储在b4区域,此时,若获得了A路视频数据的数据块11,则将数据块11的索引值存储在a1子数据索引中,其他数据块的索引值的存储以此类推,在总的数据索引下存储a1-a4子数据索引的存储位置信息。这种存储索引值的方法,便于获得一段时间内某一路视频数据的所有数据块。
实际应用中,由于考虑到码率等因素,通常1秒对应的视频数据中只包含一个I帧,这样数据索引中的数据和时间索引中的数据是可期的。采用上述视频数据的存储方法存储视频数据后,用户在回放视频数据的时候,可以在索引数据中找到一个I帧的时间戳,根据该I帧的时间戳获得该I帧,并从该I帧开始正常播放视频数据。
另外,目前,视频数据同样以数据块为单元,但该数据块中包含了一段时间的视频数据,如果用户需要定位一个时间点回放视频数据,则需要通过索引数据,遍历包含该时间点的数据块才能准确的定位该时间点对应的播放位置。然而,在本发明实施例中,该I帧的时间戳的精度可以为毫秒级,在用户需要定位一个时间点回放视频数据时,只需要通过索引数据就可以一次性准确定位时间点对应的播放位置。
一种具体实现方式中,上述视频数的存储方法还可以包括:
S1、根据预先缓存的时间索引,获得每一路视频数据的最后一个时间段的结束时间,其中,时间索引,用于记录每一路视频数据的时间段的信息以及时间段与其所属视频数据的对应关系,时间段的信息包括:开始时间和结束时间;
具体地,可参考图5,图5为本发明实施例提供的时间索引的结构示意图,该时间索引可以称为时间段信息MAP,以每一路视频数据的唯一编码(如UUID)作为键(KEY),该键值对应的值(VALUE)结构为图5中的时间段节点构成的集合,其中,一个时间段节点为一路视频数据对应的一个时间段,包括开始时间和结束时间,开始时间指的是一段连续的视频数据的开始时间,结束时间是指该段连续视频数据的结束时间。若视频数据一直没有中断,就只需要一直更改该节点的结束时间即可,如果发生中断(通常以两I帧的时间相差达到一个用户确定的阈值来判断),就需要新产生一个如图5所示的时间段节点。
假设,当前记录的A路视频数据的时间索引中的时间信息如表1所示,此时,获得的A路视频数据的最后一个时间段的结束时间为10:00:14。
表1
开始时间 | 结束时间 |
9:00:01 | 10:00:03 |
10:00:09 | 10:00:14 |
在本发明的一种具体实现方式中,上述时间索引可以预先创建并缓存在内存中,这样可以加快视频数据的处理速度。当然,时间索引也可以预先创建在硬盘中,以避免时间索引中的数据因断电或服务器崩溃等原因丢失。
S2、根据所获得的结束时间,判断所获得的每一个I帧的时间戳是否满足表达式:t1-t2>δ,其中,t1为所获得的一个I帧的时间戳,t2为该I帧所属视频数据的最后一个时间段的结束时间,δ为预设时长,若为是,则执行步骤S3,若为否,则执行步骤S4;
S3、在时间索引中生成针对该I帧所属视频数据的新的时间段,其中,新的时间段的开始时间为该I帧的时间戳;
此时,新的时间段为该路视频数据的最后一个时间段,而该新的时间段的结束时间可以为该I帧对应的P帧的时间戳,也可以为A路视频数据的下一数据块中I帧的时间戳,本发明对此不进行限定。
S4、将该I帧所属视频数据的最后一个时间段的结束时间更新为该I帧的时间戳。
根据步骤S1中假设,预设时长δ为5s,若获得的A路视频数据的下一数据块中I帧的时间戳为10:00:20,此时10:00:20-10:00:14=6s,6s>5s,则重新创建一个A路视频数据的时间段,其中,I帧的时间戳为10:00:20为该时间段的开始时间,另外,该时间段的结束时间可以为该I帧对应的P帧的时间戳,也可以为A路视频数据的下一数据块中I帧的时间戳,此时,新生成的时间段为该路视频数据的最后一个时间段;若A路视频数据的下一数据块中I帧的时间戳为10:00:16,此时10:00:16-10:00:14=2s,2s<5s,则将该路视频数据的最后一个时间段的结束时间更新为该I帧的时间戳,即将表1中的10:00:14更新为10:00:16。
一种具体实现方式中,上述根据第一存储区域中已存储的数据块和索引数据,生成视频文件之后,还可以包括:
将时间索引中已缓存的数据及该时间索引与视频文件的对应关系存储至第一数据库中。
目前,当用户想要查询某一天或者几天的视频数据的情况的时候(仅仅只是查看哪些时间段有视频数据,不需要回放视频数据),由于数据量比较大,可能跨越了很多视频文件,这时就需要打开所有这些视频文件相应的索引文件,然后把连续的时间段进行合并,不连续的话就需要生成一条新的时间段,这一过程花费的时间会因为查询的数据量的变化而变化,当数据量很大时,需要的时间很久,效率低下,用户体验不佳。然而,在本发明实施例中,第一数据库可以为嵌入式的小型数据块aqlite,当用户需要查询视频数据的时间段信息时,终端设备完全不需要去查看视频文件,仅仅只需要通过简单的数据库查询,就可以快速获得指定视频数据的时间段信息,并反馈给用户,这样简单快速的获得了用户需要的时间段信息,提高了用户的体验。另外,只有需要回放时才通过数据库查询到用户需求的时间点或时间段所对应的视频文件,然后获得对应的索引数据进行视频数据的数据块的准确定位。
需要说明的是,采用嵌入式的小型数据库sqlite,协助存储文件的时间段信息,使得开发人员可以使用熟悉的SQL语句来对时间段信息进行增删改查等处理,大大简化了现有技术中复杂的处理逻辑,稳定性更好。
一种具体实现方式中,若视频数据发生变化,只需要更新发生变化的视频数据对应的时间段信息即可;当然,若在更新发生变化的视频数据对应的时间段信息时发生异常,也可以通过简单的数据库信校验来保证时间段信息与对应的视频文件中视频数据同步,该方法为现有技术,此处不再赘述。
另外,将时间索引中的数据存储至第一数据库中,可以避免时间索引中的数据因断电或服务器崩溃等原因丢失。
一种具体实现方式中,上述将时间索引中已缓存的数据及该时间索引与视频文件的对应关系存储至第一数据库中之后,还可以包括:
清空数据索引中已缓存的索引数据和的时间索引中已缓存的数据。
这样可以避免不必要的数据占用过多存储空间,影响数据的处理速度,另外,清空数据索引中已缓存的索引数据和时间索引中已缓存的数据,也是为了方便新的视频数据的索引数据的缓存。
应用图3所示实施例,获得已缓存的各个数据块中I帧的时间戳和已缓存的各个数据块的数据量,根据所获得的数据量,计算已缓存的各个数据块在第一存储区域中的存储位置,从而确定已缓存的各个数据块的索引值,根据所确定的索引值,更新预先缓存的数据索引。因为,通常1秒对应的视频数据中只包含一个I帧,根据I帧更新数据索引,能够实现时间点的一次性准确定位。
参考图6,图6为本发明实施例提供的另一种视频数据的存储方法的流程示意图,该方法中,步骤S106可以包括:
S1061:将所述数据索引中已缓存的索引数据确定为视频文件尾数据,并将所述视频文件尾数据存储至所述第一存储区域中;
一种具体实现方式中,上述将视频文件尾数据存储至第一存储区域中,可以包括:
将视频文件尾数据以二进制的方式序列化到一个缓冲区中,然后将该缓冲区中的数据存储至第一存储区域中。
这种情况下,反序列化第一存储区域中的视频文件尾数据后,就可以将视频文件尾数据还原为存储时使用的数据结构,保证了终端设备一直都是使用较高查询效率的数据结构来执行索引数据的查找,并且更加简化了代码的编写,给开发人员减轻了负担。
S1062:根据所述第一存储区域中已存储的数据块和所述视频文件尾数据,生成视频文件。
其中,视频文件的文件头中包括:视频文件尾数据在第一存储区域中的存储位置。
具体地,当第一存储区域中视频数据的数据块的数据量大于第二预设阈值时,将数据索引中已缓存的索引数据作为视频文件尾数据存储至第一存储区域中,根据第一存储区域中数据块和该视频文件尾数据生产视频文件,如图7所示,图7为本发明实施例提供的视频文件的结构示意图,假设,存储至第一存储区域中的最后一个数据块为数据块n,则索引数据作为视频文件尾数据存储在数据块n之后,表示一个文件结束,进而生成视频文件,在该视频文件的文件头中包括视频文件尾数据在该视频文件中的相对于第一数据块的偏移量,即该视频文件尾数据在该视频文件中的存储位置,另外,该视频文件的文件头中还可以包括:该视频文件的标识和其他文件属性字段。
应用图6所示实施例,将数据索引中已缓存的索引数据确定为视频文件尾数据,并将视频文件尾数据存储至第一存储区域中,根据第一存储区域中已存储的数据块和视频文件尾数据,生成视频文件。可见,生成的视频文件中存储了视频数据和数据索引中已缓存的索引数据,在视频数据发生变化时,仅需要在同一视频文件中进行操作即可,这样简化了同步视频数据和索引数据的操作。
参考图8,图8为本发明实施例提供的一种视频数据的存储装置的结构示意图,该装置可以包括:视频数据获得模块801、数据索引更新模块802、第一数据量判断模块803、视频数据存储模块804、第二数据量判断模块805和视频文件生成模块806;
其中,视频数据获得模块801,用于获得每一路视频数据的数据块,并缓存每一路视频数据的数据块;
数据索引更新模块802,用于获得已缓存的各个数据块的索引值,根据索引值更新预先缓存的数据索引,其中,数据索引用于记录已缓存的各个数据块的索引值以及数据块与其所属视频数据的对应关系;
第一数据量判断模块803,用于判断所有已缓存的数据块的数据量之和是否大于第一预设阈值,若为是,则触发视频数据存储模块804;
视频数据存储模块804,用于将已缓存的数据块存储至第一存储区域;
第二数据量判断模块805,用于判断第一存储区域中已存储的数据块的数据量是否大于第二预设阈值,若为是,则触发视频文件生成模块806;
视频文件生成模块806,用于将数据索引中已缓存的索引数据存储至第一存储区域中,并根据第一存储区域中已存储的数据块和索引数据,生成视频文件。
应用图8所示实施例,在获得每一路视频数据的数据块后,缓存每一路视频数据的数据块,并获得已缓存的各个数据块的索引值,根据获得的索引值更新预先缓存的数据索引,在所有已缓存的数据块的数据量之和大于第一预设阈值的情况下,将已缓存的视频数据的数据块存储至第一存储区域中,在第一存储区域中已存储的数据块的数据量大于第二预设阈值的情况下,将数据索引中已缓存的索引数据存储至第一存储区域中,并根据第一存储区域中已存储的数据块和索引数据,生成视频文件。可见,生成的视频文件中存储了视频数据和数据索引中已缓存的索引数据,在视频数据发生变化时,仅需要在同一视频文件中进行操作即可,这样简化了同步视频数据和索引数据的操作。
参考图9,图9为本发明实施例提供的另一种视频数据的存储装置的结构示意图,该装置中,数据索引更新模块802,可以包括:数据信息获得子模块8021、存储位置计算子模块8022、索引值确定子模块8023和数据索引更新子模块8024;
其中,数据信息获得子模块8021,用于获得已缓存的各个数据块中I帧的时间戳和已缓存的各个数据块的数据量;
存储位置计算子模块8022,用于根据所获得的数据量,计算已缓存的各个数据块在第一存储区域中的存储位置;
索引值确定子模块8023,用于根据存储位置与存储位置对应的数据块中I帧的时间戳,确定已缓存的各个数据块的索引值;
数据索引更新子模块8024,用于根据索引值,更新预先缓存的数据索引。
一种具体实现方式中,上述视频数据的存储装置还可以包括:时间获得模块、时间判断模块、时间段生成模块和时间更新模块(图9中未示出);
其中,时间获得模块,用于根据预先缓存的时间索引,获得每一路视频数据的最后一个时间段的结束时间,其中,时间索引,用于记录每一路视频数据的时间段的信息以及时间段与其所属视频数据的对应关系,时间段的信息包括:开始时间和结束时间;
时间判断模块,用于根据所获得的结束时间,判断所获得的每一个I帧的时间戳是否满足以下表达式:
t1-t2>δ,
其中,t1为所获得的一个I帧的时间戳,t2为该I帧所属视频数据的最后一个时间段的结束时间,δ为预设时长;
若为是,则触发时间段生成模块,若为否,则触发时间更新模块;
时间段生成模块,用于在时间索引中生成针对该I帧所属视频数据的新的时间段,其中,新的时间段的开始时间为该I帧的时间戳;
时间更新模块,用于将该I帧所属视频数据的最后一个时间段的结束时间更新为该I帧的时间戳。
一种具体实现方式中,上述视频数据的存储装置还可以包括:时间数据存储模块,用于将时间索引中已缓存的数据及时间索引与视频文件的对应关系存储至第一数据库中。
一种具体实现方式中,上述视频数据的存储装置还可以包括:数据清空模块,用于清空数据索引中已缓存的索引数据和时间索引中已缓存的数据。
应用图9所示实施例,获得已缓存的各个数据块中I帧的时间戳和已缓存的各个数据块的数据量,根据所获得的数据量,计算已缓存的各个数据块在第一存储区域中的存储位置,从而确定已缓存的各个数据块的索引值,根据所确定的索引值,更新预先缓存的数据索引。因为,通常1秒对应的视频数据中只包含一个I帧,根据I帧更新预设的数据索引,能够实现时间点的一次性准确定位。
参考图10,图10为本发明实施例提供的另一种视频数据的存储装置的结构示意图,该装置中,视频文件生成模块806,可以包括:索引数据存储子模块8061和视频文件生成子模块8062;
其中,索引数据存储子模块8061,用于将数据索引中已缓存的索引数据确定为视频文件尾数据,并将视频文件尾数据存储至第一存储区域中;
视频文件生成子模块8062,用于根据第一存储区域中已存储的数据块和视频文件尾数据,生成视频文件,其中,视频文件的文件头中包括:视频文件尾数据在第一存储区域中的存储位置。
一种具体实现方式中,索引数据存储子模块8061,具体用于:
将数据索引中已缓存的索引数据确定为视频文件尾数据,并将视频文件尾数据以二进制的方式存储至第一存储区域中。
应用图10所示实施例,将数据索引中已缓存的索引数据确定为视频文件尾数据,并将视频文件尾数据存储至第一存储区域中,根据第一存储区域中已存储的数据块和视频文件尾数据,生成视频文件。可见,生成的视频文件中存储了视频数据和数据索引中已缓存的索引数据,在视频数据发生变化时,仅需要在同一视频文件中进行操作即可,这样简化了同步视频数据和索引数据的操作。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种视频数据的存储方法,其特征在于,所述方法包括步骤:
获得每一路视频数据的数据块,并缓存每一路视频数据的数据块;
获得已缓存的各个数据块的索引值,根据所述索引值更新预先缓存的数据索引,其中,所述数据索引用于记录已缓存的各个数据块的索引值以及数据块与其所属视频数据的对应关系;
判断所有已缓存的数据块的数据量之和是否大于第一预设阈值;
若为是,则将已缓存的数据块存储至第一存储区域;
判断所述第一存储区域中已存储的数据块的数据量是否大于第二预设阈值;
若为是,则将所述数据索引中已缓存的索引数据存储至所述第一存储区域中,并根据所述第一存储区域中已存储的数据块和索引数据,生成视频文件。
2.根据权利要求1所述的方法,其特征在于,所述获得已缓存的各个数据块的索引值,根据所述索引值更新预先缓存的数据索引,包括:
获得已缓存的各个数据块中I帧的时间戳和已缓存的各个数据块的数据量;
根据所获得的数据量,计算已缓存的各个数据块在所述第一存储区域中的存储位置;
根据所述存储位置与所述存储位置对应的数据块中I帧的时间戳,确定已缓存的各个数据块的索引值;
根据所述索引值,更新预先缓存的数据索引。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据预先缓存的时间索引,获得每一路视频数据的最后一个时间段的结束时间,其中,所述时间索引,用于记录每一路视频数据的时间段的信息以及时间段与其所属视频数据的对应关系,所述时间段的信息包括:开始时间和结束时间;
根据所获得的结束时间,判断所获得的每一个I帧的时间戳是否满足以下表达式:
t1-t2>δ,
其中,t1为所获得的一个I帧的时间戳,t2为该I帧所属视频数据的最后一个时间段的结束时间,δ为预设时长;
若为是,则在所述时间索引中生成针对该I帧所属视频数据的新的时间段,其中,所述新的时间段的开始时间为该I帧的时间戳;
若为否,则将该I帧所属视频数据的最后一个时间段的结束时间更新为该I帧的时间戳。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一存储区域中已存储的数据块和索引数据,生成视频文件之后,还包括:
将所述时间索引中已缓存的数据及所述时间索引与所述视频文件的对应关系存储至第一数据库中。
5.根据权利要求4所述的方法,其特征在于,所述将所述时间索引中已缓存的数据及所述时间索引与所述视频文件的对应关系存储至第一数据库中之后,还包括:
清空所述数据索引中已缓存的索引数据和所述时间索引中已缓存的数据。
6.根据权利要求1所述的方法,其特征在于,所述将所述数据索引中已缓存的索引数据存储至所述第一存储区域中,并根据所述第一存储区域中已存储的数据块和索引数据,生成视频文件,包括:
将所述数据索引中已缓存的索引数据确定为视频文件尾数据,并将所述视频文件尾数据存储至所述第一存储区域中;
根据所述第一存储区域中已存储的数据块和所述视频文件尾数据,生成视频文件,其中,所述视频文件的文件头中包括:所述视频文件尾数据在所述第一存储区域中的存储位置。
7.根据权利要求6所述的方法,其特征在于,所述将所述视频文件尾数据存储至所述第一存储区域中,包括:
将所述视频文件尾数据以二进制的方式存储至所述第一存储区域中。
8.一种视频数据的存储装置,其特征在于,所述装置包括:视频数据获得模块、数据索引更新模块、第一数据量判断模块、视频数据存储模块、第二数据量判断模块和视频文件生成模块;
其中,所述视频数据获得模块,用于获得每一路视频数据的数据块,并缓存每一路视频数据的数据块;
所述数据索引更新模块,用于获得已缓存的各个数据块的索引值,根据所述索引值更新预先缓存的数据索引,其中,所述数据索引用于记录已缓存的各个数据块的索引值以及数据块与其所属视频数据的对应关系;
所述第一数据量判断模块,用于判断所有已缓存的数据块的数据量之和是否大于第一预设阈值,若为是,则触发所述视频数据存储模块;
所述视频数据存储模块,用于将已缓存的数据块存储至第一存储区域;
所述第二数据量判断模块,用于判断所述第一存储区域中已存储的数据块的数据量是否大于第二预设阈值,若为是,则触发所述视频文件生成模块;
所述视频文件生成模块,用于将所述数据索引中已缓存的索引数据存储至所述第一存储区域中,并根据所述第一存储区域中已存储的数据块和索引数据,生成视频文件。
9.根据权利要求8所述的装置,其特征在于,所述数据索引更新模块,包括:数据信息获得子模块、存储位置计算子模块、索引值确定子模块和数据索引更新子模块;
其中,所述数据信息获得子模块,用于获得已缓存的各个数据块中I帧的时间戳和已缓存的各个数据块的数据量;
所述存储位置计算子模块,用于根据所获得的数据量,计算已缓存的各个数据块在所述第一存储区域中的存储位置;
所述索引值确定子模块,用于根据所述存储位置与所述存储位置对应的数据块中I帧的时间戳,确定已缓存的各个数据块的索引值;
所述数据索引更新子模块,用于根据所述索引值,更新预先缓存的数据索引。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:时间获得模块、时间判断模块、时间段生成模块和时间更新模块;
其中,所述时间获得模块,用于根据预先缓存的时间索引,获得每一路视频数据的最后一个时间段的结束时间,其中,所述时间索引,用于记录每一路视频数据的时间段的信息以及时间段与其所属视频数据的对应关系,所述时间段的信息包括:开始时间和结束时间;
所述时间判断模块,用于根据所获得的结束时间,判断所获得的每一个I帧的时间戳是否满足以下表达式:
t1-t2>δ,
其中,t1为所获得的一个I帧的时间戳,t2为该I帧所属视频数据的最后一个时间段的结束时间,δ为预设时长;
若为是,则触发所述时间段生成模块,若为否,则触发所述时间更新模块;
所述时间段生成模块,用于在所述时间索引中生成针对该I帧所属视频数据的新的时间段,其中,所述新的时间段的开始时间为该I帧的时间戳;
所述时间更新模块,用于将该I帧所属视频数据的最后一个时间段的结束时间更新为该I帧的时间戳。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:时间数据存储模块,用于将所述时间索引中已缓存的数据及所述时间索引与所述视频文件的对应关系存储至第一数据库中。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:数据清空模块,用于清空所述数据索引中已缓存的索引数据和所述时间索引中已缓存的数据。
13.根据权利要求8所述的装置,其特征在于,所述视频文件生成模块,包括:索引数据存储子模块和视频文件生成子模块;
其中,所述索引数据存储子模块,用于将所述数据索引中已缓存的索引数据确定为视频文件尾数据,并将所述视频文件尾数据存储至所述第一存储区域中;
所述视频文件生成子模块,用于根据所述第一存储区域中已存储的数据块和所述视频文件尾数据,生成视频文件,其中,所述视频文件的文件头中包括:所述视频文件尾数据在所述第一存储区域中的存储位置。
14.根据权利要求13所述的装置,其特征在于,所述索引数据存储子模块,具体用于:
将所述数据索引中已缓存的索引数据确定为视频文件尾数据,并将所述视频文件尾数据以二进制的方式存储至所述第一存储区域中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610169763.8A CN107229620B (zh) | 2016-03-23 | 2016-03-23 | 一种视频数据的存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610169763.8A CN107229620B (zh) | 2016-03-23 | 2016-03-23 | 一种视频数据的存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107229620A CN107229620A (zh) | 2017-10-03 |
CN107229620B true CN107229620B (zh) | 2019-11-22 |
Family
ID=59931536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610169763.8A Active CN107229620B (zh) | 2016-03-23 | 2016-03-23 | 一种视频数据的存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107229620B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989428B (zh) * | 2018-07-17 | 2021-09-21 | 深圳市联新移动医疗科技有限公司 | 蓝牙终端升级方法、服务器、计算机可读存储介质及系统 |
CN111355910B (zh) * | 2019-04-23 | 2022-09-02 | 杭州海康威视数字技术股份有限公司 | 一种视频存储、视频搜索方法及装置 |
CN111914116B (zh) * | 2019-05-09 | 2024-04-05 | 浙江宇视科技有限公司 | 视频数据存储方法、装置、终端设备及可读存储介质 |
CN110543496B (zh) * | 2019-09-06 | 2022-04-15 | 中国联合网络通信集团有限公司 | 用于时序数据库集群的数据处理方法和装置 |
CN115174490B (zh) * | 2022-06-16 | 2023-10-17 | 浙江华睿科技股份有限公司 | 一种数据传输方法及网络应用终端 |
CN116578741B (zh) * | 2023-07-12 | 2023-10-20 | 南京奥看信息科技有限公司 | 视图混合存储方法、装置及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102194011A (zh) * | 2011-06-17 | 2011-09-21 | 北京互信互通信息技术股份有限公司 | 一种多路视频数据读写方法 |
CN102577382A (zh) * | 2009-10-15 | 2012-07-11 | 汤姆森特许公司 | 用于视频编码器和解码器的有效自适应滤波的方法和装置 |
CN103647935A (zh) * | 2013-11-19 | 2014-03-19 | 长沙中联重科环卫机械有限公司 | 视频数据存储方法及视频监控装置 |
CN104125430A (zh) * | 2013-04-28 | 2014-10-29 | 华为技术有限公司 | 视频运动目标检测方法、装置以及视频监控系统 |
CN104809117A (zh) * | 2014-01-24 | 2015-07-29 | 深圳市云帆世纪科技有限公司 | 视频数据聚合处理方法、聚合系统及视频搜索平台 |
-
2016
- 2016-03-23 CN CN201610169763.8A patent/CN107229620B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102577382A (zh) * | 2009-10-15 | 2012-07-11 | 汤姆森特许公司 | 用于视频编码器和解码器的有效自适应滤波的方法和装置 |
CN102194011A (zh) * | 2011-06-17 | 2011-09-21 | 北京互信互通信息技术股份有限公司 | 一种多路视频数据读写方法 |
CN104125430A (zh) * | 2013-04-28 | 2014-10-29 | 华为技术有限公司 | 视频运动目标检测方法、装置以及视频监控系统 |
CN103647935A (zh) * | 2013-11-19 | 2014-03-19 | 长沙中联重科环卫机械有限公司 | 视频数据存储方法及视频监控装置 |
CN104809117A (zh) * | 2014-01-24 | 2015-07-29 | 深圳市云帆世纪科技有限公司 | 视频数据聚合处理方法、聚合系统及视频搜索平台 |
Also Published As
Publication number | Publication date |
---|---|
CN107229620A (zh) | 2017-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107229620B (zh) | 一种视频数据的存储方法及装置 | |
TWI702506B (zh) | 用於合併樹廢棄項目指標之系統、機器可讀媒體及機器實施之方法 | |
US11032368B2 (en) | Data processing method, apparatus, and system | |
US10740308B2 (en) | Key_Value data storage system | |
CN107870973B (zh) | 一种加快多路监控同时回放的文件存储系统 | |
US20160253352A1 (en) | Method and apparatus for file synchronization and sharing with cloud storage | |
US8099421B2 (en) | File system, and method for storing and searching for file by the same | |
CN107577436B (zh) | 一种数据存储方法及装置 | |
KR102031588B1 (ko) | 파일 저장 시의 색인 구현 방법 및 시스템 | |
CN107851122B (zh) | 大规模存储和检索具有良有界生命的数据 | |
US9576609B2 (en) | Subtitle processing device and associated method and subtitle parsing method | |
CN108399047B (zh) | 一种闪存文件系统及其数据管理方法 | |
WO2013030595A1 (en) | Identifying data items | |
US20170199817A1 (en) | Data storage device, data storage method, and non-transitory computer readable medium | |
CN108829720B (zh) | 数据处理方法及装置 | |
CN106649722B (zh) | 一种监控系统高频数据的存储及查询方法 | |
JP2015518223A (ja) | メモリ検索、リアルタイム検索システム及び方法、コンピュータ記憶媒体 | |
CN105912675B (zh) | 一种针对小文件合并的批量删除/查询方法与装置 | |
JPWO2003079359A1 (ja) | データ記録方法、データ記録装置、データ記録媒体、データ再生方法及びデータ再生装置 | |
CN109542330A (zh) | 数据存储方法、数据查询方法及装置 | |
CN108363791A (zh) | 一种数据库的数据同步方法和装置 | |
CN108287869A (zh) | 一种基于快速存储设备的海量小文件解决方法 | |
CN104270605A (zh) | 一种视频监控数据的处理方法及装置 | |
CN110032543A (zh) | 一种存储文件系统的管理方法 | |
JP2012256318A (ja) | 多重範囲スキャンでのnソートクエリを最適に処理する方法及び装置 |
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 |