CN106326439A - 一种实时视频存储、检索方法及装置 - Google Patents
一种实时视频存储、检索方法及装置 Download PDFInfo
- Publication number
- CN106326439A CN106326439A CN201610730673.1A CN201610730673A CN106326439A CN 106326439 A CN106326439 A CN 106326439A CN 201610730673 A CN201610730673 A CN 201610730673A CN 106326439 A CN106326439 A CN 106326439A
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- time
- page
- real
- 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/78—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- 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
Abstract
本发明提供了一种实时视频存储、检索方法及装置,其中,实时视频存储方法包括:从存储介质中选择用于存储实时视频的存储块,上述存储块包括多个页框,每个页框包括页头和页体;将接收的实时视频以视频帧为单位存储在页体内,确定每个视频帧在存储块内的偏移量,将占据页体的起始位置的视频帧的偏移量存储在页体对应的页头内。本发明中,存储块包括多个页框,每个页框包括页头和页体,将接收到的实时视频以视频帧为单位存储在页体内,将占据页体的起始位置的视频帧的偏移量存储在页体对应的页头内,通过按页框可以实现实时视频的检索,因此,即使存储块索引失效时,也能够实现实时视频的快速检索。
Description
技术领域
本发明涉及视频存储技术领域,具体而言,涉及一种实时视频存储、检索方法及装置。
背景技术
在安防等行业,实时视频存储系统需要将成千上万路的实时视频存储到存储介质中,同时还要支持按时间对视频的快速定位,实现视频的快速检索,定位准确度基本精确到帧级别。
为了提升存储系统的稳定性,相关技术中进行视频存储时,大都是提前将存储空间按块进行分配,然后将视频流写入每个块中,并为每个块建立一个索引文件,将该索引文件称为块索引文件,在块索引文件中存储着该块内所有的帧信息,当需要进行视频检索时,将对视频的检索转换成相应的块索引的检索。
但是,采用上述方法进行视频存储,当块索引文件损坏或者丢失时,视频检索就会变得非常低效,甚至无法检索,并且,即使块索引文件正常,如果内存不足也会导致块索引加载异常,从而导致无法快速检索视频,虽然,当块索引文件损坏或者丢失时,可以通过遍历块内的数据重建块索引文件,但是,这样无法实现快速检索视频。
发明内容
有鉴于此,本发明实施例的目的在于提供一种实时视频存储、检索方法及装置,以解决采用现有技术中的视频存储方法进行视频存储,当块索引文件损坏、丢失时,视频检索会变得非常低效、甚至无法检索,或者由于存储内存不足使得块索引文件加载异常,从而导致无法快速检索视频的问题。
第一方面,本发明实施例提供了一种实时视频存储方法,其中,所述方法包括:
从存储介质中选择用于存储实时视频的存储块,所述存储块包括多个页框,每个所述页框包括页头和页体;
将接收的所述实时视频以视频帧为单位存储在所述页体内,确定每个视频帧在所述存储块内的偏移量,将占据所述页体的起始位置的所述视频帧的偏移量存储在所述页体对应的页头内。
结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述将占据所述页体的起始位置的所述视频帧的偏移量存储在所述页体对应的页头内,包括:
当所述视频帧的帧头占据所述页体的起始位置时,将所述视频帧的偏移量存储在所述页体对应的页头内;
当所述视频帧的帧头未占据所述页体的起始位置,且所述视频帧存储在多个页框内时,将所述视频帧的偏移量存储在所述视频帧占据起始位置的页体对应的页头内。
结合第一方面,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,所述将占据所述页体的起始位置的所述视频帧的偏移量存储在所述页体对应的页头内之后,还包括:
获取所述存储块内存储的实时视频的视频帧信息,所述视频帧信息包括所述视频帧的帧号、所述视频帧的实际发生时间、所述视频帧在所述存储块内的偏移量、所述视频帧的大小及关键帧标识;
根据所述视频帧信息,生成所述存储块的块索引文件。
结合第一方面,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述从存储介质中选择用于存储实时视频的存储块,包括:
从所述存储介质中的无效块集合中选择用于存储所述实时视频的存储块,所述无效块集合用于放置存储的实时视频超过预设时间的存储块;
当所述无效块集合中不存在存储块时,则从所述存储介质的有效块集合中选择存储的实时视频的时间最长的存储块,所述有效块集合用于放置存储的实时视频没有超过所述预设时间的存储块。
结合第一方面,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,所述存储块的容量为所述页框的容量的整数倍。
第二方面,本发明实施例提供了一种实时视频检索方法,其中,所述方法包括:
确定存储块包括的页框的个数,根据所述页框的个数、所述存储块内存储的实时视频的时长以及待检索视频的时间,采用线性比例的方法定位出所述待检索视频所在的页框;
根据所述页框的页头获取所述页头对应的页体内的视频帧及视频帧信息,所述视频帧信息包括所述视频帧的时间;
将所述视频帧信息与所述待检索视频的时间进行比对,根据所述视频帧信息与所述待检索视频的时间的偏差,以所述视频帧为起始位置继续采用所述线性比例的方法进行检索,直至检索出与所述待检索视频的时间相匹配的视频帧。
结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述根据所述页框的个数、所述存储块内存储的视频的时长以及待检索视频的时间,采用线性比例的方法定位出所述待检索视频所在的页框,包括:
根据所述页框的个数、所述存储块内存储的视频的时长及待检索视频的时间,通过公式(1)计算所述待检索视频所在的页框:
其中,在公式(1)中,P为所述待检索视频所在的页框,M为所述页框的个数,t为所述存储块内存储的视频的时长,t1为所述待检索视频的时间。
第三方面,本发明实施例提供了一种实时视频存储装置,其中,所述装置包括:
选择模块,用于从存储介质中选择用于存储实时视频的存储块,所述存储块包括多个页框,每个所述页框包括页头和页体;
存储模块,用于将接收的所述实时视频以视频帧为单位存储在所述页体内,确定每个视频帧在所述存储块内的偏移量,将占据所述页体的起始位置的所述视频帧的偏移量存储在所述页体对应的页头内。
结合第三方面,本发明实施例提供了上述第三方面的第一种可能的实现方式,其中,所述存储模块包括:
第一存储单元,用于当所述视频帧的帧头占据所述页体的起始位置时,将所述视频帧的偏移量存储在所述页体对应的页头内;
第二存储单元,用于当所述视频帧的帧头未占据所述页体的起始位置,且所述视频帧存储在多个页框内时,将所述视频帧的偏移量存储在所述视频帧占据起始位置的页体对应的页头内。
结合第三方面,本发明实施例提供了上述第三方面的第二种可能的实现方式,其中,所述装置还包括:
获取模块,用于获取所述存储块内存储的实时视频的视频帧信息,所述视频帧信息包括所述视频帧的帧号、所述视频帧的实际发生时间、所述视频帧在所述存储块内的偏移量、所述视频帧的大小及关键帧标识;
生成模块,用于根据所述视频帧信息,生成所述存储块的块索引文件。
结合第三方面,本发明实施例提供了上述第三方面的第三种可能的实现方式,其中,所述选择模块包括:
第一选择单元,用于从所述存储介质中的无效块集合中选择用于存储所述实时视频的存储块,所述无效块集合用于放置存储的实时视频超过预设时间的存储块;
第二选择单元,用于当所述无效块集合中不存在存储块时,则从所述存储介质的有效块集合中选择存储的实时视频的时间最长的存储块,所述有效块集合用于放置存储的实时视频没有超过所述预设时间的存储块。
第四方面,本发明实施例提供了一种实时视频检索装置,其中,所述装置包括:
定位模块,用于确定存储块包括的页框的个数,根据所述页框的个数、所述存储块内存储的实时视频的时长以及待检索视频的时间,采用线性比例的方法定位出所述待检索视频所在的页框;
获取模块,用于根据所述页框的页头获取所述页头对应的页体内的视频帧及视频帧信息,所述视频帧信息包括所述视频帧的时间;
检索模块,用于将所述视频帧信息与所述待检索视频的时间进行比对,根据所述视频帧信息与所述待检索视频的时间的偏差,以所述视频帧为起始位置继续采用所述线性比例的方法进行检索,直至检索出与所述待检索视频的时间相匹配的视频帧。
本发明实施例提供的实时视频存储、检索方法及装置,存储块包括多个页框,每个页框包括页头和页体,将接收到的实时视频以视频帧为单位存储在页体内,将占据页体的起始位置的视频帧的偏移量存储在页体对应的页体内,通过按页框可以实现实时视频的检索,因此,即使存储块索引失效时,也能够实现实时视频的快速检索。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例1所提供的实时视频存储方法的流程图;
图2示出了本发明实施例1所提供的实时视频存储方法中存储块的结构示意图;
图3示出了本发明实施例2所提供的实时视频检索方法的流程图;
图4示出了本发明实施例3所提供的实时视频存储装置的结构示意图;
图5示出了本发明实施例4所提供的实时视频检索装置的结构示意图。
图2附图标记说明:
210,存储块;220,页头;230,页体。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到相关技术中在进行实时视频存储时,大都是提前将存储空间划分成多个存储块,将接收到的实时视频存储到存储块中,并建立块索引文件,这样当需要进行视频检索时,将对视频的检索转换成相应的块索引的检索,但是,采用上述方式进行视频存储,当块索引文件损坏或者丢失时,视频检索就会变得非常低效,甚至无法检索,并且,即使块索引文件正常,当内存不足时,也会导致块索引加载异常,从而导致无法快速检索视频。基于此,本发明实施例提供了一种实时视频存储、检索方法及装置,下面通过实施例进行描述。
实施例1
本发明实施例提供了一种实时视频存储方法,在本发明中,将存储介质划分为多个存储块,将每个存储块划分为多个页框,每个页框包括页体和页头,将实时视频存储在页体里,在页头记录实时视频索引,这样,通过页框就可以实现实时视频的快速检索,即使块索引文件异常时,也能够实现实时视频的快速检索。
如图1所示,采用本发明实施例提供的方法进行实时视频存储,包括步骤S110-S120,具体如下。
S110,从存储介质中选择用于存储实时视频的存储块,该存储块包括多个页框,每个页框包括页头和页体。
其中,上述存储介质可以是硬件,比如说,硬盘、SAN(storage area network,存储区域网络)、NAS(Network Attached Storage,网络附属存储)等,也可以是软件,比如说云存储等等,本发明实施例并不限定具体的存储介质。
在本发明实施例中,存储介质被划分为多个块,每个块称为存储块,当需要进行实时视频存储时,将该实时视频写入存储块中,每个存储块的存储容量很大,可能一次写入的实时视频数据并不能占据一个完整的存储块,这样,当下次再进行实时视频存储时,如果上次的存储块的容量还没有被完全占用,则选择上次的存储块继续进行实时视频存储,当该存储块的存储容量被完全占用时,需要选取新的存储块进行存储,由于存储介质中都包含有多个存储块,因此,从存储介质中选择用于存储实时视频的存储块,具体包括:
从上述存储介质的无效块集合中选择用于存储实时视频的存储块,上述无效块集合用于放置存储的实时视频超过预设时间的存储块;当上述无效块集合中不存在存储块时,则从上述存储介质的有效块集合中选择存储的实时视频的时间最长的存储块,上述有效块集合用于放置存储的实时视频没有超过上述预设时间的存储块。
其中,实时视频的存储具有时效性,即存储在存储块内的实时视频数据具有时效性,当存储块内存储的实时视频超过预设时间后,视频就会失效,即成为无用数据,这时候可以删除该存储块内存储的视频,继续在该存储块内存储新的实时视频,或者再次使用该存储块存储新的实时视频时,直接覆盖原来的实时视频数据。
上述预设时间为预先设定的时间值,该时间值可以为一个月,或者还可以为其它数值,上述预设时间的设定可以根据具体应用场景进行设置,本发明实施例并不限定上述预设时间的具体数值。
在本发明实施例中,存储介质中存在两个集合,分别是有效块集合和无效块集合,当存储块内存储的实时视频没有超过上述预设时间时,将该存储块放置在有效块集合中,当存储块内的实时视频的存储时间超过上述预设时间后,则将该存储块转移到无效块集合中,上述实时视频数据的失效是以存储块为单位的,从存储块开始写入实时视频开始计时。
上述存储介质会实时监测有效块集合中每个存储块内存储的实时视频的时间,并且定期将有效块集合中超过上述预设时间的存储块内存储的实时视频转移到无效块集合中。
在本发明实施例中,当存储的实时视频需要写入新的存储块时,首先从无效块集合中选取存储块,用来存储接收到的实时视频,如果当前无效块集合中不存在存储块,则从有效块集合中选取实时视频存储时间最长的存储块。
现有技术中,将实时视频数据存储到存储块内,并建立块索引文件,通过块索引文件来进行视频检索,但是,当块索引文件损坏或者异常时,则无法实现实时视频的快速检索,为了能够在块索引文件异常时,也能够实现实时视频的快速检索,本发明实施例中将存储块进行了更细致的划分,即将存储块划分为多个页框,因此,每个存储块包括多个页框,每个页框包括页头和页体。
其中,在将存储块划分为多个页框时,页框的容量大小可以自定义设置,一般为了避免存储空间的浪费,页框的容量大小一般设置为能够被存储块的容量整除,即存储块的容量为页框的容量的整数倍。
并且,页框的容量越大,在进行实时视频检索时检索效率越低,页框的容量越小,在进行实时视频检索时检索效率越高,因此页框的具体大小可以根据实际应用情况进行设置。
S120,将接收的实时视频以视频帧为单位存储在页体内,确定每个视频帧在存储块内的偏移量,将占据上述页体的起始位置的视频帧的偏移量存储在该页体对应的页头内。
当存储介质接收到实时视频后,首先将接收到的实时视频进行分割,将实时视频分割为一帧一帧连续的图像,每一帧图像称为一个视频帧,然后将分割后得到的视频以视频帧为单位进行存储,将上述视频帧存储在页体内。
其中,上述一个页体内可以存储有一个或者多个视频帧,还可以是一个视频帧占据多个页体。
当将视频帧存储在页体内后,需要确定每个视频帧在存储块内的偏移量,上述偏移量指的是每个视频帧的存储地址与存储块的起始存储地址之间的间隔,上述间隔可以是字节的偏移,因此,将每个视频帧与存储块的起始存储位置之间的字节偏移确定为每个视频帧在存储块内的偏移量。
当确定出每个视频帧在存储块内的偏移量之后,将占据页体的起始位置的视频帧的偏移量存储在页体对应的页头内,具体包括:
当视频帧的帧头占据页体的起始位置时,将上述视频帧的偏移量存储在页体对应的页头内;当视频帧的帧头未占据页体的起始位置,且视频帧存储在多个页框内时,将该视频帧的偏移量存储在该视频帧占据起始位置的页体对应的页头内。
为了更清楚的介绍上述将占据页体的起始位置的视频帧的偏移量存储在页体对应的页头内,下面将以其中一个存储块为例进行详细说明。
如图2所示为存储块210内的页框的示意图,图2只是画出了存储块210内的几个四个页框,并没有限定存储块210内的页框的具体个数,在图2中,210为存储介质中的任意一个存储块,220为页框的页头,230为页框的页体,将存储块210划分成了若干个页框,当接收到实时视频后,将实时视频以视频帧为单位存储在页体内,实时视频中的第一个视频帧,简称为帧1,存储在第一个页框和第二个页框中,且帧1的帧头占据了第一个页体230的起始位置,因此第一个页框的页头220存储帧1在存储块210内的偏移量,由于帧1还有一部分存储在第二个页框的页体内,且帧1占据了第二个页框的页体230的起始位置,因此,第二个页框的页头220存储帧1在存储块210内的偏移量,第二个视频帧,简称为帧2,存储在第二个页框、第三个页框及第四个页框内,且帧2的帧头没有占据第二个页框的页体230的起始位置,因此,第二个页框的页头220不存储帧2在存储块210内的偏移量,但是帧2占据了第三个页框的页体230及第四个页框的页体230的起始位置,因此第三个页框的页头220及第四个页框的页头220均存储帧2在存储块210内的偏移量,第三个视频帧(简称帧3)及四个视频帧(简称帧4)均没有占据第四个页框的页体230的起始位置,因此,第四个页框的页头220不存储帧3和帧4在存储块210内的偏移量。
上述将视频帧的偏移量存储在页体对应的页头内后,还需要生成上述存储块的块索引文件,具体过程包括:
获取存储块内存储的实时视频的视频帧信息,该视频帧信息包括视频帧的帧号、视频帧的实际发生时间、视频帧在存储块内的偏移量、视频帧的大小及关键帧标识;根据上述视频帧信息,生成存储块的块索引文件。
将上述视频帧存储在存储块内后,将视频帧按照存储的顺序进行编号,得到该视频帧的唯一编码(Identity,ID),该ID作为对应的视频帧的帧号;上述实时视频中每一个视频帧均有一个实际发生时间,该实际发生时间指的是摄像机等设备录制该视频帧的时间,当按照时间进行视频检索时,通过视频帧的实际发生时间可以实现视频的快速定位;视频帧在存储块内的偏移量指的是视频帧相对于存储块的起始位置的偏移量,该偏移量指的是视频帧与存储块的起始位置之间的字节偏移;上述视频帧的大小指的是该视频帧实际的占用空间,上述关键帧标识记录当前视频帧是否为关键帧,如果是关键帧则记录该关键帧的信息。
将上述获取的视频帧信息,存储在某一个数据库或者文件夹中,确定为该存储块的块索引文件。
本发明实施例提供的实时视频存储方法,存储块包括多个页框,每个页框包括页头和页体,将接收到的实时视频以视频帧为单位存储在页体内,将占据页体的起始位置的视频帧的偏移量存储在页体对应的页头内,通过按页框可以实现实时视频的检索,因此,即使存储块索引失效时,也能够实现实时视频的快速检索。
实施例2
本发明实施例提供了一种实时视频检索方法,如图3所示,包括步骤S310-S330,具体如下。
S310,确定存储块包括的页框的个数,根据页框的个数、存储块内存储的实时视频的时长以及待检索视频的时间,采用线性比例的方法定位出待检索视频所在的页框。
上述待检索视频的时间指的是待检索视频的实际发生时间,即该待检索视频帧的实际采集时间。
上述存储块包括的页框的个数可以根据存储块的容量及页框的容量,通过存储块的容量/页框的容量计算得出。
上述存储块内存储的实时视频的时长指的是上述存储块内存储的实时视频的总时间,比如说,上述存储块内存储了1个小时的实时视频,当然,存储的时长还可以是其它数值,本发明实施例并不限定上述时长的具体数值。
由于实时视频具有稳定码率的特性,因此可以采用线性比例的方法定位出待检索视频所在的页框,具体包括:
根据页框的个数、存储块内存储的视频的时长及待检索视频的时间,通过公式(1)计算待检索视频所在的页框;
其中,在公式(1)中,P为待检索视频所在的页框,M为页框的个数,t为存储块内存储的视频的时长,t1为待检索视频的时间。
通过上述方法可以定位出待检索视频所在的页框,比如说,上述存储块被分割成了100万个页框,该存储块内存储了1个小时的视频,待检索的视频为第37分56秒的,因此通过上述公式(1)可以定位出该待检索视频所在的页框为第632222个页框。
上述只是举例说明采用公式(1)定位出待检索视频所在的页框的具体过程,并没有限定上述存储块内页框的个数、存储块内存储的实时视频的时长以及待检索视频的时间。
S320,根据页框的页头获取上述页头对应的页体内的视频帧及视频帧信息,该视频帧信息包括视频帧的时间。
当定位出待检索视频所在的页框后,在该页框的页头内存储有占据该页框的页体的起始位置的视频帧的偏移量,根据该页框的页头可以定位出占据该页体的起始位置的视频帧,并视频帧获取该视频帧的视频帧信息,该视频帧信息包括该视频帧的时间,即摄像机等设备采集该视频帧是的实际发生时间。
S330,将上述视频帧信息与待检索视频的时间进行比对,根据视频帧信息与待检索视频的时间的偏差,以该视频帧为起始位置继续采用线性比例的方法进行检索,直至检索出与待检索视频的时间相匹配的视频帧。
当定位出上述视频帧后,将上述视频帧的时间与待检索视频的时间进行比对,如果两者的时间一致,这说明上述获取的视频帧就是待检索的视频;如果上述视频帧的时间与待检索视频的时间存在偏差,则计算两者之间的时间偏差,如果两者之间的时间偏差很小,即待检索视频就在当前定位出的页框的前两个或者后两个页框内时,这时,直接遍历当前页框的前面两个页框或者后面两个页框,从而检索出与待检索视频的时间相匹配的视频帧,如果两者之间的偏差较大,根据上述时间偏差向前或者向后继续采用线性比例的方法进行页框的定位,直到检索到与待检索的视频的时间相匹配的视频帧。
比如说,当前定位的视频帧的时间为30分,而待检索视频的时间为37分56秒,这时以30分的位置为起始位置,向后继续采用上述线性比例的方法定位待检索视频所在的页框,此处只是举例进行说明,并没有限定上述当前定位的视频帧的时间及待检索视频的时间。
本发明实施例提供的实时视频检索方法,可以采用线性比例的方法按页框进行实时视频检索,且检索效率高,在块索引文件异常时,也能够实现视频的快速检索。
实时例3
本发明实施例提供了一种实时视频存储装置,该装置用于执行上述实施例1所提供的实时视频存储方法。
如图4所示,本发明实施例提供的实时视频存储装置,包括选择模块410和存储模块420;
上述选择模块410,用于从存储介质中选择用于存储实时视频的存储块,该存储块包括多个页框,每个页框包括页头和页体;
上述存储模块420,用于将接收的实时视频以视频帧为单位存储在页体内,确定每个视频帧在存储块内的偏移量,将占据页体的起始位置的视频帧的偏移量存储在上述页体对应的页头内。
其中,上述存储模块将占据页体的起始位置的视频帧的偏移量存储在上述页体对应的页头内,是通过第一存储单元和第二存储单元来实现的,具体包括:
上述第一存储单元,用于当视频帧的帧头占据页体的起始位置时,将视频帧的偏移量存储在页体对应的页头内;上述第二存储单元,用于当视频帧的帧头未占据页体的起始位置,且视频帧存储在多个页框内时,将视频帧的偏移量存储在视频帧占据起始位置的页体对应的页头内。
当存储模块420将占据页体的起始位置的视频帧的偏移量存储在上述页体对应的页头内之后,还需要生成存储块的块索引文件,是通过获取模块和生成模块实现的,具体包括:
上述获取模块,用于获取存储块内存储的实时视频的视频帧信息,该视频帧信息包括视频帧的帧号、视频帧的实际发生时间、视频帧在存储块内的偏移量、视频帧的大小及关键帧标识;上述生成模块,用于根据上述视频帧信息,生成存储块的块索引文件。
其中,上述选择模块从存储介质中选择用于存储实时视频的存储块是通过第一选择单元和第二选择单元来实现的,具体包括:
上述第一选择单元,用于从存储介质的无效块集合中选择用于存储实时视频的存储块,该无效块集合用于放置存储的实时视频超过预设时间的存储块;上述第二选择单元,用于当上述无效块集合中不存在存储块时,从上述存储介质的有效块集合中选择存储的实时视频的时间最长的存储块,上述有效块集合用于放置存储的实时视频没有超过上述预设时间的存储块。
本发明实施例提供的实时视频存储装置,存储块包括多个页框,每个页框包括页头和页体,将接收到的实时视频以视频帧为单位存储在页体内,将占据页体的起始位置的视频帧的偏移量存储在页体对应的页头内,通过按页框可以实现实时视频的检索,因此,即使存储块索引失效时,也能够实现实时视频的快速检索。
实施例4
本发明实施例提供了一种实时视频检索装置,该装置用于执行上述实施例2提供的实时视频检索方法。
如图5所示,本发明实施例提供的实时视频检索装置,包括定位模块510、获取模块520和检索模块530;
上述定位模块510,用于确定存储块包括的页框的个数,根据页框的个数、存储块内存储的实时视频的时长及待检索视频的时间,采用限定比例的方法定位出上述待检索视频所在的页框;
上述获取模块520,用于根据上述页框的页头获取该页头对应的页体内的视频帧及视频帧信息,该视频帧信息包括该视频帧的时间;
上述检索模块530,用于将上述视频帧信息与待检索视频的时间进行比对,根据上述视频帧信息与待检索视频的时间的偏差,以上述视频帧为起始位置继续采用线性比例的方式进行检索,直至检索出与待检索视频的时间相匹配的视频帧。
上述待检索视频的时间指的是待检索视频的实际发生时间,即该待检索视频帧的实际采集时间。
上述存储块包括的页框的个数可以根据存储块的容量及页框的容量,通过存储块的容量/页框的容量计算得出。
上述存储块内存储的实时视频的时长指的是上述存储块内存储的实时视频的总时间,比如说,上述存储块内存储了1个小时的实时视频,当然,存储的时长还可以是其它数值,本发明实施例并不限定上述时长的具体数值。
本发明实施例提供的实时视频检索装置,可以采用线性比例的方法按页框进行实时视频检索,且检索效率高,在块索引文件异常时,也能够实现视频的快速检索。
本发明实施例所提供的实时视频存储装置和实时视频检索装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种实时视频存储方法,其特征在于,所述方法包括:
从存储介质中选择用于存储实时视频的存储块,所述存储块包括多个页框,每个所述页框包括页头和页体;
将接收的所述实时视频以视频帧为单位存储在所述页体内,确定每个视频帧在所述存储块内的偏移量,将占据所述页体的起始位置的所述视频帧的偏移量存储在所述页体对应的页头内。
2.根据权利要求1所述的方法,其特征在于,所述将占据所述页体的起始位置的所述视频帧的偏移量存储在所述页体对应的页头内,包括:
当所述视频帧的帧头占据所述页体的起始位置时,将所述视频帧的偏移量存储在所述页体对应的页头内;
当所述视频帧的帧头未占据所述页体的起始位置,且所述视频帧存储在多个页框内时,将所述视频帧的偏移量存储在所述视频帧占据起始位置的页体对应的页头内。
3.根据权利要求1所述的方法,其特征在于,所述将占据所述页体的起始位置的所述视频帧的偏移量存储在所述页体对应的页头内之后,还包括:
获取所述存储块内存储的实时视频的视频帧信息,所述视频帧信息包括所述视频帧的帧号、所述视频帧的实际发生时间、所述视频帧在所述存储块内的偏移量、所述视频帧的大小及关键帧标识;
根据所述视频帧信息,生成所述存储块的块索引文件。
4.根据权利要求1所述的方法,其特征在于,所述从存储介质中选择用于存储实时视频的存储块,包括:
从所述存储介质中的无效块集合中选择用于存储所述实时视频的存储块,所述无效块集合用于放置存储的实时视频超过预设时间的存储块;
当所述无效块集合中不存在存储块时,则从所述存储介质的有效块集合中选择存储的实时视频的时间最长的存储块,所述有效块集合用于放置存储的实时视频没有超过所述预设时间的存储块。
5.根据权利要求1所述的方法,其特征在于,所述存储块的容量为所述页框的容量的整数倍。
6.一种实时视频检索方法,其特征在于,所述方法包括:
确定存储块包括的页框的个数,根据所述页框的个数、所述存储块内存储的实时视频的时长以及待检索视频的时间,采用线性比例的方法定位出所述待检索视频所在的页框;
根据所述页框的页头获取所述页头对应的页体内的视频帧及视频帧信息,所述视频帧信息包括所述视频帧的时间;
将所述视频帧信息与所述待检索视频的时间进行比对,根据所述视频帧信息与所述待检索视频的时间的偏差,以所述视频帧为起始位置继续采用所述线性比例的方法进行检索,直至检索出与所述待检索视频的时间相匹配的视频帧。
7.根据权利要求6所述的方法,其特征在于,所述根据所述页框的个数、所述存储块内存储的视频的时长以及待检索视频的时间,采用线性比例的方法定位出所述待检索视频所在的页框,包括:
根据所述页框的个数、所述存储块内存储的视频的时长及待检索视频的时间,通过公式(1)计算所述待检索视频所在的页框:
其中,在公式(1)中,P为所述待检索视频所在的页框,M为所述页框的个数,t为所述存储块内存储的视频的时长,t1为所述待检索视频的时间。
8.一种实时视频存储装置,其特征在于,所述装置包括:
选择模块,用于从存储介质中选择用于存储实时视频的存储块,所述存储块包括多个页框,每个所述页框包括页头和页体;
存储模块,用于将接收的所述实时视频以视频帧为单位存储在所述页体内,确定每个视频帧在所述存储块内的偏移量,将占据所述页体的起始位置的所述视频帧的偏移量存储在所述页体对应的页头内。
9.根据权利要求8所述的装置,其特征在于,所述存储模块包括:
第一存储单元,用于当所述视频帧的帧头占据所述页体的起始位置时,将所述视频帧的偏移量存储在所述页体对应的页头内;
第二存储单元,用于当所述视频帧的帧头未占据所述页体的起始位置,且所述视频帧存储在多个页框内时,将所述视频帧的偏移量存储在所述视频帧占据起始位置的页体对应的页头内。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取所述存储块内存储的实时视频的视频帧信息,所述视频帧信息包括所述视频帧的帧号、所述视频帧的实际发生时间、所述视频帧在所述存储块内的偏移量、所述视频帧的大小及关键帧标识;
生成模块,用于根据所述视频帧信息,生成所述存储块的块索引文件。
11.根据权利要求8所述的装置,其特征在于,所述选择模块包括:
第一选择单元,用于从所述存储介质中的无效块集合中选择用于存储所述实时视频的存储块,所述无效块集合用于放置存储的实时视频超过预设时间的存储块;
第二选择单元,用于当所述无效块集合中不存在存储块时,则从所述存储介质的有效块集合中选择存储的实时视频的时间最长的存储块,所述有效块集合用于放置存储的实时视频没有超过所述预设时间的存储块。
12.一种实时视频检索装置,其特征在于,所述装置包括:
定位模块,用于确定存储块包括的页框的个数,根据所述页框的个数、所述存储块内存储的实时视频的时长以及待检索视频的时间,采用线性比例的方法定位出所述待检索视频所在的页框;
获取模块,用于根据所述页框的页头获取所述页头对应的页体内的视频帧及视频帧信息,所述视频帧信息包括所述视频帧的时间;
检索模块,用于将所述视频帧信息与所述待检索视频的时间进行比对,根据所述视频帧信息与所述待检索视频的时间的偏差,以所述视频帧为起始位置继续采用所述线性比例的方法进行检索,直至检索出与所述待检索视频的时间相匹配的视频帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610730673.1A CN106326439B (zh) | 2016-08-26 | 2016-08-26 | 一种实时视频存储、检索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610730673.1A CN106326439B (zh) | 2016-08-26 | 2016-08-26 | 一种实时视频存储、检索方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106326439A true CN106326439A (zh) | 2017-01-11 |
CN106326439B CN106326439B (zh) | 2019-08-23 |
Family
ID=57790580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610730673.1A Active CN106326439B (zh) | 2016-08-26 | 2016-08-26 | 一种实时视频存储、检索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106326439B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032962A (zh) * | 2018-07-12 | 2018-12-18 | 北京行易道科技有限公司 | 数据存储方法、装置和嵌入式系统 |
CN109982020A (zh) * | 2019-02-26 | 2019-07-05 | 南京邮电大学 | 一种视频存储及检索方法 |
CN111221468A (zh) * | 2018-11-26 | 2020-06-02 | 杭州海康威视系统技术有限公司 | 存储块数据删除方法、装置、电子设备及云存储系统 |
CN111400544A (zh) * | 2019-12-06 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 视频数据的存储方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096698A (zh) * | 2010-12-14 | 2011-06-15 | 青岛海信网络科技股份有限公司 | 一种视频数据存储格式、存储方法及检索方法 |
CN103500227A (zh) * | 2013-10-23 | 2014-01-08 | 腾讯科技(深圳)有限公司 | 视频帧存储管理方法和相关装置及通信系统 |
CN104427351A (zh) * | 2013-08-30 | 2015-03-18 | 北京计算机技术及应用研究所 | 用于视频监控的时间重叠视频流的快速定位方法及系统 |
US9100705B2 (en) * | 2014-07-09 | 2015-08-04 | David Allan Jones | Methods and apparatus for indexing and/or advertising in a user selected downloaded digital video recording |
CN105335387A (zh) * | 2014-07-04 | 2016-02-17 | 杭州海康威视系统技术有限公司 | 一种视频云存储系统的检索方法 |
-
2016
- 2016-08-26 CN CN201610730673.1A patent/CN106326439B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096698A (zh) * | 2010-12-14 | 2011-06-15 | 青岛海信网络科技股份有限公司 | 一种视频数据存储格式、存储方法及检索方法 |
CN104427351A (zh) * | 2013-08-30 | 2015-03-18 | 北京计算机技术及应用研究所 | 用于视频监控的时间重叠视频流的快速定位方法及系统 |
CN103500227A (zh) * | 2013-10-23 | 2014-01-08 | 腾讯科技(深圳)有限公司 | 视频帧存储管理方法和相关装置及通信系统 |
CN105335387A (zh) * | 2014-07-04 | 2016-02-17 | 杭州海康威视系统技术有限公司 | 一种视频云存储系统的检索方法 |
US9100705B2 (en) * | 2014-07-09 | 2015-08-04 | David Allan Jones | Methods and apparatus for indexing and/or advertising in a user selected downloaded digital video recording |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032962A (zh) * | 2018-07-12 | 2018-12-18 | 北京行易道科技有限公司 | 数据存储方法、装置和嵌入式系统 |
CN111221468A (zh) * | 2018-11-26 | 2020-06-02 | 杭州海康威视系统技术有限公司 | 存储块数据删除方法、装置、电子设备及云存储系统 |
CN111221468B (zh) * | 2018-11-26 | 2023-10-13 | 杭州海康威视系统技术有限公司 | 存储块数据删除方法、装置、电子设备及云存储系统 |
CN109982020A (zh) * | 2019-02-26 | 2019-07-05 | 南京邮电大学 | 一种视频存储及检索方法 |
CN111400544A (zh) * | 2019-12-06 | 2020-07-10 | 杭州海康威视系统技术有限公司 | 视频数据的存储方法、装置、设备及存储介质 |
CN111400544B (zh) * | 2019-12-06 | 2023-09-19 | 杭州海康威视系统技术有限公司 | 视频数据的存储方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106326439B (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106326439A (zh) | 一种实时视频存储、检索方法及装置 | |
CN101719095A (zh) | 一种回归测试的管理方法及装置 | |
CN101014061A (zh) | 测试脚本的生成方法及装置和测试方法及装置及系统 | |
CN103049355B (zh) | 一种数据库系统恢复方法及设备 | |
CN102023843B (zh) | 函数的调用方法、装置及智能卡 | |
CN107992492B (zh) | 一种数据区块的存储方法、读取方法、其装置及区块链 | |
CN104834650A (zh) | 一种有效查询任务生成方法及系统 | |
CN103593447B (zh) | 用于数据库表的数据处理方法和装置 | |
CN106372160A (zh) | 一种分布式数据库及管理方法 | |
CN106326014A (zh) | 一种资源访问方法及装置 | |
CN104636218B (zh) | 数据恢复方法及装置 | |
CN109033353B (zh) | 一种电能质量管理系统共享内存更新方法 | |
CN105653574A (zh) | 一种历史浏览记录的排序方法及系统 | |
CN109739854A (zh) | 一种数据存储方法及装置 | |
CN106503071A (zh) | Poi信息的处理方法及装置 | |
CN103078946A (zh) | 一种海量实时数据分布方法及其访问方法 | |
CN109271097A (zh) | 数据处理方法、数据处理装置和服务器 | |
CN101777077B (zh) | 嵌入式设备文件系统实现方法 | |
CN103761316A (zh) | 一种基于稀疏矩阵的数据压缩存储方法及装置 | |
CN106708445A (zh) | 链路选择方法及装置 | |
CN107544894A (zh) | 一种日志处理的方法、装置及服务器 | |
CN105718539A (zh) | 一种数据库应用方法及装置 | |
CN105488047A (zh) | 元数据读写方法和装置 | |
CN102447589B (zh) | 一种聚合记录的方法及装置 | |
CN110019508A (zh) | 一种数据同步方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right |
Effective date of registration: 20220726 Granted publication date: 20190823 |
|
PP01 | Preservation of patent right |