CN110572691B - 视频读取方法、装置、设备和存储介质 - Google Patents

视频读取方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN110572691B
CN110572691B CN201910707187.1A CN201910707187A CN110572691B CN 110572691 B CN110572691 B CN 110572691B CN 201910707187 A CN201910707187 A CN 201910707187A CN 110572691 B CN110572691 B CN 110572691B
Authority
CN
China
Prior art keywords
time
video
node
file
data
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
Application number
CN201910707187.1A
Other languages
English (en)
Other versions
CN110572691A (zh
Inventor
王亚奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202210035561.XA priority Critical patent/CN114363670B/zh
Priority to CN201910707187.1A priority patent/CN110572691B/zh
Publication of CN110572691A publication Critical patent/CN110572691A/zh
Application granted granted Critical
Publication of CN110572691B publication Critical patent/CN110572691B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种视频读取方法、装置、设备和存储介质。所述方法包括:接收视频查询时间,在预先构建的时间池中,获取视频查询时间对应的时间节点,根据时间节点内的数据节点标识,在预先构建的数据池中获取时间节点对应的数据节点,在数据节点内的视频文件存储位置处读取视频文件。采用本方法能够提高视频读取的效率。

Description

视频读取方法、装置、设备和存储介质
技术领域
本申请涉及数据存储技术领域,特别是涉及一种视频读取方法、装置、设备和存储介质。
背景技术
随着视频监控技术的发展,摄像机在进行场景监控时,还能够实现报警录像、动检录像等视频片段的录制。例如,检测到监控画面内发生预设的报警事项时,触发报警,同步存储报警前后各5秒的视频,得到10秒时长的报警视频。又如,检测到监控画面发生变化时,同步存储检测到监控画面发生变化前后各5秒的视频,得到10秒时长的动检视频。因此,在服务器中、或者录像机的本地硬盘中存储着大量的视频片段,用户可以通过读取这些视频片段,准确了解到监控区域内相应事件的具体情况。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
报警录像、动检录像等视频片段的数量极多、且视频时长较短,在众多的视频文件中查询一段视频片段十分耗时。
发明内容
基于此,有必要针对上述技术问题,提供一种能够视频文件读取效率的视频读取方法、装置、设备和存储介质。
一种视频读取方法,所述方法包括:
接收视频查询时间;
在预先构建的时间池中,获取所述视频查询时间对应的时间节点;
根据所述时间节点内的数据节点标识,在预先构建的数据池中获取所述时间节点对应的数据节点;
在所述数据节点内的视频文件存储位置处读取视频文件。
在其中一个实施例中,所述在预先构建的时间池中,获取所述视频查询时间对应的时间节点的步骤,包括:
根据所述时间池的预设基准时间与所述视频查询时间之间的时间差,确定时间索引值,在所述时间池内获取时间节点标识为所述时间索引值的时间节点。
在其中一个实施例中,所述时间节点内设有文件标识,所述文件标识为文件头标识、文件体标识或文件尾标识;所述根据所述时间节点内的数据节点标识,在预先构建的数据池中获取所述时间节点对应的数据节点的步骤,包括:
按照所述时间节点内的文件标识对所述时间节点进行遍历,得到所述视频文件的时间节点序列;
按照所述时间节点序列中各时间节点内的数据节点标识,在所述数据池中获取所述各时间节点对应的数据节点。
在其中一个实施例中,所述时间节点内还设有业务类型标识;所述按照所述时间节点内的文件标识对所述时间节点进行遍历,得到所述视频文件的时间节点序列的步骤,包括:
按照所述时间节点内的文件标识和业务类型标识对所述时间节点进行遍历,得到各类所述视频文件的时间节点序列。
在其中一个实施例中,所述根据所述时间节点内的数据节点标识,在预先构建的数据池中获取所述时间节点对应的数据节点的步骤,包括:
根据所述时间池的预设基准时间,将所述时间节点内的时间节点标识设置为相应的视频拍摄时间,将设置好的所述时间节点发送至客户终端;
接收所述客户终端返回的视频读取请求,在所述数据池中获取所述视频读取请求中各时间节点内的数据节点标识所对应的数据节点。
在其中一个实施例中,所述在所述数据节点内的视频文件存储位置处读取视频文件的步骤,包括:
每隔预设时长,依次从预设数量个所述时间节点对应的数据节点中读取出视频文件,并发送至客户终端。
一种视频读取方法,所述方法包括:
接收视频查询时间,将所述视频查询时间发送给存储终端;
接收所述存储终端返回的时间节点,根据所述时间节点生成视频读取请求,并将所述视频读取请求发送给所述存储终端;
接收所述存储终端返回的视频文件。
在其中一个实施例中,所述时间节点内设有文件标识,所述文件标识为文件头标识、文件体标识或文件尾标识;所述接收所述存储终端返回的时间节点,根据所述时间节点生成视频读取请求的步骤,包括:
按照所述时间节点内的文件标识对所述时间节点进行遍历,得到所述视频文件的时间节点序列;
根据所述视频文件的时间节点序列生成所述视频读取请求。
一种视频读取装置,所述装置包括:
查询时间获取模块,用于接收视频查询时间;
时间节点获取模块,用于在预先构建的时间池中,获取所述视频查询时间对应的时间节点;
数据节点获取模块,用于根据所述时间节点内的数据节点标识,在预先构建的数据池中获取所述时间节点对应的数据节点;以及
视频文件读取模块,用于在所述数据节点内的视频文件存储位置处读取视频文件。
一种视频读取装置,所述装置包括:
查询时间收发模块,用于接收视频查询时间,将所述视频查询时间发送给存储终端;
读取请求生成模块,用于接收所述存储终端返回的时间节点,根据所述时间节点生成视频读取请求,并将所述视频读取请求发送给所述存储终端;以及
视频文件接收模块,用于接收所述存储终端返回的视频文件。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述视频读取方法的各步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述视频读取方法的各步骤。
上述视频读取方法、装置、设备和存储介质,预先构建时间池和数据池,时间池中有时间节点,数据池中有数据节点,在接收到视频查询时间时,在时间池中获取视频查询时间对应的时间节点,根据获取的时间节点内的数据节点标识,在数据池中获取时间节点对应的数据节点,从获取的数据节点内的视频文件存储位置处读取视频文件,从而通过时间池、数据池、以及时间池内时间节点与数据池内数据节点之间的对应关系,有效地提高视频文件读取效率。
附图说明
图1为一个实施例中视频读取方法的应用环境图;
图2为一个实施例中视频读取方法的流程示意图;
图3为另一个实施例中视频读取方法的流程示意图;
图4为一个实施例中视频读取装置的结构框图;
图5为一个实施例中视频读取装置的结构框图;以及
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的视频读取方法,可以应用于如图1所示的应用环境中。其中,客户终端102通过网络与存储终端104通过网络进行通信。存储终端104中存储着摄像机拍摄的视频文件,客户终端102能够从存储终端104中读取出这些视频文件,视频文件可以指一段视频,也可以指多段视频。其中,客户终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,存储终端104可以用独立的服务器或者是多个服务器组成的服务器集群来实现,也可以是网络硬盘录像机、数字硬盘录像机、磁带录像机等视频存储设备。
在一个实施例中,如图2所示,提供了一种视频读取方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤202,接收视频查询时间。
其中,视频查询时间为用户输入的或客户终端发送的时间,用来查询在视频查询时间拍摄的视频文件。视频查询时间可为一个单独的时间,例如2019年6月1日13点,或者又如2019年6月1日。视频查询时间也可以包括开始时间和结束时间,例如视频查询时间的开始时间为2019年6月1日13点、结束时间为2019年6月1号16点。当视频查询时间为单个时间时,可认为用户想要查询在该时间内拍摄的视频文件,例如,视频查询时间为2019年6月1日13点时,可表示查询在2019年6月1日13点00分00秒至2019年6月1日13点59分59秒内拍摄的视频文件。当视频查询时间包括开始时间和结束时间时,可认为用户想要查询在开始时间到结束时间内拍摄的视频文件,例如,视频查询时间的开始时间为2019年6月1日13点、结束时间为2019年6月1号16点时,可表示查询在2019年6月1日13点00分00秒到2019年6月1号16点00分00秒内拍摄的视频文件。
步骤204,在预先构建的时间池中,获取视频查询时间对应的时间节点。
其中,预先构建有时间池,时间池内存有多个时间节点,每个时间节点的节点内容包括相应的时间节点标识,每个时间节点的时间节点标识是唯一的。
具体地,计算视频查询时间对应的时间索引值,获取时间节点标识等于该时间索引值的时间节点,该时间节点即为视频查询时间对应的时间节点。当视频查询时间包括开始时间和结束时间时,则分别计算开始时间、结束时间对应的时间索引值,依据开始时间对应的时间索引值、结束时间对应的时间索引值,在时间池中获取视频查询时间对应的时间点,此时,视频查询时间对应的时间节点包括时间节点标识为开始时间对应的时间索引值的时间节点、时间节点标识位于开始时间对应的时间索引值和结束时间对应的时间索引值之间的时间节点、以及时间节点标识为结束时间对应的时间索引值的时间节点。
步骤206,根据时间节点内的数据节点标识,在预先构建的数据池中获取时间节点对应的数据节点。
其中,预先构建有数据池,数据池内存有多个数据节点,每个数据节点的节点内容包括相应的数据节点标识,每个数据节点的数据节点标识是唯一。时间节点的节点内容除相应的时间节点标识外,还可包括相应的数据节点标识。包含数据节点标识的时间节点和包含该数据节点标识的数据节点互相对应。
其中,时间节点内的数据节点标识的数量可为1个或多个,也可为0个。若为1个,则表示该时间节点对应1个数据节点;若为多个(两个或两个以上)时,则表示该时间节点对应多个数据节点;若为0个,则表示该时间节点不存在对应的数据节点,因此,通过时间节点与数据节点之间的灵活对应关系,有效解决视频文件数量不稳定时的数据存储问题。视频文件数量不稳定是指摄像头在任一时间可能没有拍摄视频、也可能拍摄了多段视频,当没有拍摄视频时,该时间对应的时间节点不存在对应的数据节点,当拍摄了多段视频时,该时间对应的时间节点很可能需要多个对应的数据节点,以分开存储视频文件。其中,时间节点与拍摄时间之间的对应关系,在确定视频查询时刻与时间节点的对应关系时进行了描述,不再赘述。
具体地,在获得视频查询时间对应的时间节点后,获取这些时间节点内的数据节点标识,在数据池内获取这些数据节点标识分别对应的数据节点,获取的这些数据节点即视频查询时间所对应时间节点分别对应的数据节点。
步骤208,在数据节点内的视频文件存储位置处读取视频文件。
其中,每个数据节点的节点内容还包括视频文件存储位置,用来存储视频文件。在数据节点内的视频文件存储位置处所存储的视频文件,是在该数据节点所对应时间节点对应的拍摄时间拍摄的。
具体地,在获得视频查询时间所对应时间节点分别对应的数据节点后,在这些数据节点内的视频文件存储位置处,读取拍摄时间符合视频查询时间的视频文件。当视频查询时间为单个时间时,读取的这些视频文件的拍摄时间即视频查询时间。当视频查询时间包括开始时间和结束时间时,读取的这些视频文件的拍摄时间即从开始时间开始到结束时间结束的时间段。
上述视频读取方法中,预先构建时间池和数据池,在时间池获取视频查询时间对应的时间节点,在数据池获取这些时间节点对应的数据节点,从获取的数据节点内的视频文件存储位置处读取视频文件,从而通过时间节点与拍摄时间的对应关系、时间节点与数据节点的对应关系、以及数据节点与视频文件存储位置的对应关系,读取到拍摄时间符合视频查询时间的视频文件,无需进行复杂的查询过程,有效地提高视频文件读取效率。
在一个实施例中,时间池内除时间节点外,还包括预设基准时间。基于预设基准时间与视频文件的拍摄时间之间的时间差,可构建视频文件的拍摄时间与时间节点之间的对应关系,从而提高时间节点获取效率。
作为示例地,预设基准时间为2019年6月1日0点00分00秒,视频文件的拍摄时间为2019年6月1日3点00分00秒,两者的时间差3小时。若时间节点标识的单位为小时,则视频文件的拍摄时间对应的时间节点的时间节点标识为3;若时间节点标识的单位为分,则视频文件的拍摄时间对应的时间节点的时间节点标识为180;若时间节点标识的单位为秒,则视频文件的拍摄时间对应的时间节点的时间节点标识为10800。
具体地,在获取视频查询时间对应的时间节点时,计算时间池的预设基准时间与视频查询时间之间的时间差,根据该时间差确定相应的时间索引值,时间池中时间节点标识为该时间索引值的时间节点即视频查询时间对应的时间节点,从而基于预设基准时间提高了时间节点获取效率。
具体地,可在时间池内设置一块公共区域作为头节点,头节点的节点内容包括预设基准时间。鉴于摄像机可以输出多种码流,头节点的节点内容还可包括码流类型(或码流属性),码流类型可根据业务需求进行设置。例如,在监控行业,码流类型可分为主码流、辅助码流和第三码流。
在一个实施例中,摄像头每秒能够拍摄几十帧图像,存储终端在几秒或者十几秒的时间便可接收到多个数据包,而且在视频读取时可能需要定位指定秒的图像。因此,可将时间节点标识的单位设置为秒,使得时间池内存放大量以秒为单位的时间节点,提高视频文件的存储效果和查询效果。
具体地,当时间节点标识的单位设置为秒时,若按照每个时间节点32字节、且1年365天共计31536000秒进行计算,1年的时间节点消耗的存储空间为31536000×32/1024/1024/1024≈0.94G。目前视频监控行业的码流存储,很可能1小时消耗2G的硬盘存储空间,假设按照1小时2G进行计算,1年消耗的存储空间为2×24×365=17472GB。时间节点所消耗的存储空间大小与码流所消耗的存储空间大小之间比例为0.94/17472=0.000054。可见,时间节点标识以秒为单位时,相对于码流所消耗的存储空间,时间池所消耗的存储空间可以忽略不计。因此,时间池的构建和使用具有可行性。
具体地,每个包括数据节点和视频文件存储位置的数据节点的大小也不会超过32个子节,根据上述对1年的时间节点消耗的存储空间的估计,1年的数据节点消耗的存储空间相对于一年码流所消耗的存储空间同样可以忽略不计。因此数据池的构建和使用也具有可行性。
在一个实施例中,当存储终端连接多路摄像头时,可为每个摄像头分别设置时间池和数据池,以控制单个时间池和数据池的大小,提高视频存储效率和视频读取效率。
在一个实施例中,时间节点的节点内容还包括文件标识,文件标识为文件头标识、文件体标识或文件尾标识。当时间节点内的文件标识分别为文件头标识、文件体标识或文件尾标识时,该时间节点所对应数据节点内的视频文件存储处的视频文件分别为一段视频的开始文件、中间文件和结束文件,从而通过文件标识可以定位一段视频的文件开头和结尾,便于视频片段的完整获取。
具体地,在获得视频查询时间对应的时间节点后,这些时间节点按照时间节点标识的大小顺序排序。根据这些时间节点内的文件标识,依次对这些时间节点进行遍历。在遍历时,先查找文件标识为文件头标识的时间节点,若查找到,则继续遍历后续节点,直至查找到文件标识为文件尾标识的时间节点,由文件标识为文件头标识的时间节点、文件标识为文件尾标识的时间节点以及两者之间的时间节点,构成一个视频片段的时间节点序列。若在文件标识为文件尾标识的时间节点的后面还存在未遍历的时间节点,则重复上述遍历过程,以查找出下一个视频片段的时间节点序列,从而充分考虑到摄像头在视频查询时间拍摄的视频文件包含多个视频片段的情形,提高视频文件读取的完整性。
具体地,通过上述遍历过程的描述,可知视频文件的时间节点序列可能包括1个或多个视频片段的时间节点序列。在获得视频文件的时间节点序列后,按照每个时间节点序列中各时间节点内的数据节点标识,在数据池中获取每个时间节点序列中各时间节点对应的数据节点,进而在这些数据节点内的视频文件存储位置处读取视频文件,得到在视频查询时间拍摄的所有视频片段。
在一个实施例中,每个时间节点的节点内容还包括业务类型标识,业务类型标识用来标识时间节点所对应数据节点内的视频存储位置处所存储视频文件的业务类型,使得读取视频文件时可以同时了解到视频文件的业务类型,提高了视频文件读取效果。例如,在监控行业,视频文件的业务类型可包括区域入侵报警和动态监测报警,当业务类型为区域入侵报警时,表示该视频文件是在检测到监控区域有目标对象(例如人、车辆)进入时拍摄的,当业务类型为动态检测报警时,表示该视频文件时在检测到监控区域发生变化(例如有人离开监控区域)时拍摄的。
具体地,在根据时间节点的文件标识遍历时间节点时,可同时对时间节点内的业务类型标识进行判断,获得业务类型标识的值相同的时间节点序列,进一步依据业务类型标识提高视频文件读取的完整性。
此外,也可以单独依据业务类型标识对时间节点进行遍历,在视频查询时间对应的时间节点中,将业务类型标识的值相同的连续时间节点作为一个时间节点序列,以提高视频文件读取的完整性。
具体地,可将第一个业务类型标识为真的时间节点设置为第一个时间节点序列中的第一个时间节点,依次遍历后续时间节点,直至得到业务类型标识为假的时间节点,将该时间节点的上一个时间节点设置为第一个时间节点序列中的最后一个时间节点,得到完整的第一个时间节点序列。若还存在未遍历的时间节点,则继续循环上述遍历过程,得到后续的多个时间节点序列。
在一个实施例中,在获得视频拍摄时间对应的时间节点后,取出这些时间节点,并基于时间池的预设基准时间,将这些时间节点的时间节点标识换算为相应的视频拍摄时间,将换算后的时间节点发送客户终端,以在客户终端进行时间节点的遍历过程,减少存储终端的工作量。在接收到客户终端返回的视频读取请求时,在数据池中获取视频读取请求中各时间节点的数据节点标识对应的数据节点,在这些数据节点的视频文件存储位置处读取视频文件。其中,客户终端在接收到时间节点并遍历后,可以输出遍历后各时间节点序列的时间节点标识,以便用户选择,将用户选择的拍摄时间所对应的时间节点连同视频读取请求发送给存储终端。
存储终端将视频文件发送给客户终端后,客户终端以视频播放速度进行视频播放。然而,存储终端发送视频文件的速度很难按照视频播放速度进行控制,客户终端需要不断地向存储终端发送暂停请求,以确保视频文件传输速度的合理性。为解决该问题,可每隔预设时长,依次从预设数量各时间节点对应的数据节点中读取出视频文件,并发送给客户终端,以有效地控制视频文件的传输速度。尤其地,当时间节点标识以秒为单位(也即时间节点以秒为单位)时,可以每秒在一个时间节点对应的数据节点内的视频文件存储位置处,读取视频文件,有效地降低了视频文件传输速度的控制难度。
在一个实施例中,如图3所示,提供了一种视频读取方法,以该方法应用于图1中的客户终端为例进行说明,包括以下步骤:
步骤302,接收视频查询时间,将视频查询时间发送给存储终端。
具体地,视频查询时间在步骤202中进行了详细描述,不再赘述。用户可以在手机、计算机等客户终端上输入视频查询时间,以获取在视频查询时间拍摄的视频文件。
步骤304,接收存储终端返回的时间节点,根据时间节点生成视频读取请求。并将视频读取请求发送给存储终端。
具体地,接收存储终端返回的时间节点,这些时间节点为视频查询时间对应的时间节点,存储终端获取时间节点的过程可参照图2对应的实施例。可按照时间节点内的文件标识和/或业务标识,对这些时间节点进行遍历,得到视频文件的时间节点序列,其中,视频文件的时间节点序列可包括1个或多个视频片段的时间节点序列。
具体地,生成视频读取请求,视频读取请求中包括视频文件的时间节点序列,以便存储终端从时间节点序列中各时间节点对应的数据节点内的视频文件存储位置处读取视频文件。也可以先将时间节点序列中各时间节点对应的拍摄时间输出,以供用户选择想要播放的时间段,根据用户选择生成视频读取请求,此时的视频读取请求中包括用户所选择的时间段对应的时间节点序列。
步骤306,接收存储终端返回的视频文件。
具体地,接收服务器返回的视频文件并播放。
上述视频读取方法中,将视频查询时间发送给存储终端,接收存储终端返回的时间节点,根据这些时间节点生成视频读取请求,将视频读取请求发送给存储终端,接收存储终端返回的视频文件,从而实现指定时间的视频文件读取,同时借助时间节点和数据节点降低视频文件读取复杂度,提高读取效率。
在一个实施例中,上述视频读取方法都建立在时间池和数据池的基础上。因此,对时间池和数据池的建立过程和维护过程进行描述,具体包括:
1、时间池和数据池的建立过程
具体地,时间池包括多个时间节点和预设基准时间,预设基准时间存储在时间池内的头节点中。在初始化时间池时,可以先根据时间节点的单位(即时间节点标识的单位,例如秒)和业务需求确定时间节点的数量,在缓存中一次性申请符合时间节点数量要求的时间池(时间池的数据结构可以为数组结构)。在头节点的节点内容中写入预设基准时间,并对每个时间节点的时间节点标识进行+1操作。将初始化好的时间池存储至硬盘空间,以加快时间池的硬盘写入速度。若存储终端的缓存不足,可以对时间池分批申请和存放,具体视缓存空间大小而定。其中,预设基准时间可以为初始化时存储终端的当前系统时间。
具体地,数据池的初始化过程可以参照时间池的初始化过程。
2、时间池和数据池的维护过程
(1)视频文件的存储
具体地,接收到需要存储的视频文件,例如,当存储终端直接与摄像头连接时,存储终端接收摄像头发送的码流。获取视频文件的拍摄时间和业务类型,在时间池中获取拍摄时间按对应的时间节点标识,获取该时间节点标识对应的时间节点。根据视频文件的业务类型更新时间节点的业务类型标识,根据视频文件位于一段视频的开头还是结尾,更新时间节点的文件标识。检测该时间节点内是否存在数据节点标识,若不存在则创建数据节点,将创建的数据节点的数据节点标识更新至时间节点内,并将视频文件存储至该数据节点内的视频存储位置处。若存在,将视频文件存在至数据节点标识对应的数据节点。
其中,由于存储设备以数据包的形式接收视频文件,可能出现多个数据包写入同一个数据节点内的视频文件存储位置处。为了避免数据包之间相互覆盖导致数据丢失,视频文件存储位置还包括开始位置和结束位置。开始位置为第一个数据包在硬盘中的文件头位置,结束位置为最后一个数据包的文件尾位置。在将一个新的数据包写入数据节点的视频存储位置时,检测开始位置是否为零或者空,若为零或者空,则该数据包为第一个数据包,将数据包写入硬盘,并数据包的存储位置更新数据节点内的开始位置和结束位置。若不为零且不为空,则按照数据节点内的结束位置将该数据包写入硬盘,并更新结束位置。
(2)系统时间更新
具体地,在对存储终端进行维护时,存储终端的系统时间可能会进行定期校时,导致存储终端的系统时间发生变化,例如校时前的系统时间为2019年6月1号1点00分00秒,校时后的系统时间为2019年6月1日0点59分00秒,导致存储终端在2019年6月1号1点00分00秒接收到摄像头发送的码流,变化为在2019年6月1日0点59分00秒接收到的,并将这段码流按照2019年6月1日0点59分00秒对应的时间节点进行写入。因此,当系统时间发生变化、且摄像头在持续向存储终端发送码流时,可以采取录像覆盖的方式进行处理,即校时之后写入的视频文件覆盖校时之前写入的视频文件。此外,还可以采取录像重复保存方式,确定校时之后的视频文件所对应的时间节点,在该时间节点所对应的数据节点分别设置第一起始位置、第一结束位置、第二起始位置和第二结束位置,第一起始位置和第一结束位置用来记录校时之前写入的视频文件的存储位置,第二起始位置和第二结束位置用来记录校时之后写入的视频文件的存储位置。
(3)网络波动时的异常处理
具体地,存储终端在通过网络接收视频文件时,由于网络波动的影响,可能出现某一秒或者几秒未接收到视频文件,导致视频文件存储时部分时间节点没有对应的视频文件。在当前秒对应的时间节点无数据时,可以通过在时间节点内文件标识(包括文件头标识、文件体标识和文件尾标识),判断前后秒对应的时间节点所对应的视频文件是否为一个连续的视频段,还是单独的视频段。
(4)存储终端与摄像头时间不同步的处理
具体地,当存储终端实时接收摄像头发送的码流并存储时,由于网络延迟、不同设备的系统时间可能不同等原因,将存储终端接收到码流的时间作为码流的拍摄时间是存在时间偏差的。因此,可以在接收到码流时,解析码流中的帧,得到码流的时间戳,该时间戳即摄像头实际拍摄该码流的时间,按照解析得到的时间戳确定码流对应的时间节点,能够有效地提高视频文件存储的准确度。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种视频读取装置400,包括:查询时间获取模块402、时间节点获取模块404、数据节点获取模块406和视频文件读取模块408,其中:
查询时间获取模块402,用于接收视频查询时间;
时间节点获取模块404,用于在预先构建的时间池中,获取视频查询时间对应的时间节点;
数据节点获取模块406,用于根据时间节点内的数据节点标识,在预先构建的数据池中获取时间节点对应的数据节点;以及
视频文件读取模块408,用于在数据节点内的视频文件存储位置处读取视频文件。
在一个实施例中,时间节点获取模块404包括:
时间节点获取子模块,用于根据时间池的预设基准时间与视频查询时间之间的时间差,确定时间索引值,在时间池内获取时间节点标识为时间索引值的时间节点。
在一个实施例中,时间节点内设有文件标识,文件标识为文件头标识、文件体标识或文件尾标识;数据节点获取模块406包括:
节点遍历模块,用于按照时间节点内的文件标识对时间节点进行遍历,得到视频文件的时间节点序列;以及
数据节点获取子模块,用于按照时间节点序列中各时间节点内的数据节点标识,在数据池中获取各时间节点对应的数据节点。
在一个实施例中,时间节点内还设有业务类型标识;节点遍历模块包括:
节点遍历子模块,用于按照时间节点内的文件标识和业务类型标识对时间节点进行遍历,得到各类视频文件的时间节点序列。
在一个实施例中,数据节点获取模块406包括:
时间节点发送模块,用于根据时间池的预设基准时间,将时间节点内的时间节点标识设置为相应的视频拍摄时间,将设置好的时间节点发送至客户终端;以及
读取请求处理模块,用于接收客户终端返回的视频读取请求,在数据池中获取视频读取请求中各时间节点内的数据节点标识所对应的数据节点。
在一个实施例中,视频文件读取模块408包括:
视频文件读取子模块,用于每隔预设时长,依次从预设数量个时间节点对应的数据节点中读取出视频文件,并发送至客户终端。
上述视频读取方法中,预先构建时间池和数据池,在时间池获取视频查询时间对应的时间节点,在数据池获取这些时间节点对应的数据节点,从获取的数据节点内的视频文件存储位置处读取视频文件,从而通过时间节点与拍摄时间的对应关系、时间节点与数据节点的对应关系、以及数据节点与视频文件存储位置的对应关系,读取到拍摄时间符合视频查询时间的视频文件,无需进行复杂的查询过程,有效地提高视频文件读取效率。
在一个实施例中,如图5所示,提供了一种视频读取装置500,包括:查询时间收发模块502、读取请求生成模块504和视频文件接收模块506,其中:
查询时间收发模块502,用于接收视频查询时间,将视频查询时间发送给存储终端;
读取请求生成模块504,用于接收存储终端返回的时间节点,根据时间节点生成视频读取请求,并将视频读取请求发送给存储终端;以及
视频文件接收模块506,用于接收存储终端返回的视频文件。
在一个实施例中,时间节点内设有文件标识,文件标识为文件头标识、文件体标识或文件尾标识;读取请求生成模块504包括:
节点序列生成模块,用于按照时间节点内的文件标识对时间节点进行遍历,得到视频文件的时间节点序列;以及
请求生成模块,用于根据视频文件的时间节点序列生成视频读取请求。
上述视频读取方法中,将视频查询时间发送给存储终端,接收存储终端返回的时间节点,根据这些时间节点生成视频读取请求,将视频读取请求发送给存储终端,接收存储终端返回的视频文件,从而实现指定时间的视频文件读取,同时借助时间节点和数据节点降低视频文件读取复杂度,提高读取效率。
关于视频读取装置的具体限定可以参见上文中对于视频读取方法的限定,在此不再赘述。上述视频读取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储时间池、数据池和视频文件等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种视频文件读取方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述方法实施例中的各步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中的各步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (11)

1.一种视频读取方法,其特征在于,所述方法包括:
接收视频查询时间;
根据时间节点内的时间节点标识,在预先构建的时间池中,获取所述视频查询时间对应的时间节点;
根据所述时间节点内的数据节点标识,在预先构建的数据池中获取所述时间节点对应的数据节点;
在所述数据节点内的视频文件存储位置处读取视频文件;
所述在预先构建的时间池中,获取所述视频查询时间对应的时间节点的步骤,包括:
根据所述时间池的预设基准时间与所述视频查询时间之间的时间差,确定时间索引值,在所述时间池内获取时间节点标识为所述时间索引值的时间节点。
2.根据权利要求1所述的方法,其特征在于,所述时间节点内设有文件标识,所述文件标识为文件头标识、文件体标识或文件尾标识;所述根据所述时间节点内的数据节点标识,在预先构建的数据池中获取所述时间节点对应的数据节点的步骤,包括:
按照所述时间节点内的文件标识对所述时间节点进行遍历,得到所述视频文件的时间节点序列;
按照所述时间节点序列中各时间节点内的数据节点标识,在所述数据池中获取所述各时间节点对应的数据节点。
3.根据权利要求2所述的方法,其特征在于,所述时间节点内还设有业务类型标识;所述按照所述时间节点内的文件标识对所述时间节点进行遍历,得到所述视频文件的时间节点序列的步骤,包括:
按照所述时间节点内的文件标识和业务类型标识对所述时间节点进行遍历,得到各类所述视频文件的时间节点序列。
4.根据权利要求1所述的方法,其特征在于,所述根据所述时间节点内的数据节点标识,在预先构建的数据池中获取所述时间节点对应的数据节点的步骤,包括:
根据所述时间池的预设基准时间,将所述时间节点内的时间节点标识设置为相应的视频拍摄时间,将设置好的所述时间节点发送至客户终端;
接收所述客户终端返回的视频读取请求,在所述数据池中获取所述视频读取请求中各时间节点内的数据节点标识所对应的数据节点。
5.根据权利要求1所述的方法,其特征在于,所述在所述数据节点内的视频文件存储位置处读取视频文件的步骤,包括:
每隔预设时长,依次从预设数量个所述时间节点对应的数据节点中读取出视频文件,并发送至客户终端。
6.一种视频文件读取方法,其特征在于,所述方法包括:
接收视频查询时间,将所述视频查询时间发送给存储终端;
接收所述存储终端返回的时间节点,根据所述时间节点生成视频读取请求,并将所述视频读取请求发送给所述存储终端;
接收所述存储终端返回的视频文件;
所述时间节点为所述存储终端根据时间池的预设基准时间与所述视频查询时间之间的时间差确定时间索引值后,在所述时间池内获取的时间节点标识为所述时间索引值的时间节点。
7.根据权利要求6所述的方法,其特征在于,所述时间节点内设有文件标识,所述文件标识为文件头标识、文件体标识或文件尾标识;所述接收所述存储终端返回的时间节点,根据所述时间节点生成视频读取请求的步骤,包括:
按照所述时间节点内的文件标识对所述时间节点进行遍历,得到所述视频文件的时间节点序列;
根据所述视频文件的时间节点序列生成所述视频读取请求。
8.一种视频读取装置,其特征在于,所述装置包括:
查询时间获取模块,用于接收视频查询时间;
时间节点获取模块,用于根据时间节点内的时间节点标识,在预先构建的时间池中,获取所述视频查询时间对应的时间节点;
数据节点获取模块,用于根据所述时间节点内的数据节点标识,在预先构建的数据池中获取所述时间节点对应的数据节点;以及
视频文件读取模块,用于在所述数据节点内的视频文件存储位置处读取视频文件;
所述时间节点获取模块,还用于根据所述时间池的预设基准时间与所述视频查询时间之间的时间差,确定时间索引值,在所述时间池内获取时间节点标识为所述时间索引值的时间节点。
9.一种视频读取装置,其特征在于,所述装置包括:
查询时间收发模块,用于接收视频查询时间,将所述视频查询时间发送给存储终端;
读取请求生成模块,用于接收所述存储终端返回的时间节点,根据所述时间节点生成视频读取请求,并将所述视频读取请求发送给所述存储终端;以及
视频文件接收模块,用于接收所述存储终端返回的视频文件;
所述时间节点为所述存储终端根据时间池的预设基准时间与所述视频查询时间之间的时间差确定时间索引值后,在所述时间池内获取的时间节点标识为所述时间索引值的时间节点。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5、或权利要求6至7中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5、或权利要求6至7中任一项所述的方法的步骤。
CN201910707187.1A 2019-08-01 2019-08-01 视频读取方法、装置、设备和存储介质 Active CN110572691B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210035561.XA CN114363670B (zh) 2019-08-01 2019-08-01 视频读取方法、装置、设备和存储介质
CN201910707187.1A CN110572691B (zh) 2019-08-01 2019-08-01 视频读取方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910707187.1A CN110572691B (zh) 2019-08-01 2019-08-01 视频读取方法、装置、设备和存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210035561.XA Division CN114363670B (zh) 2019-08-01 2019-08-01 视频读取方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110572691A CN110572691A (zh) 2019-12-13
CN110572691B true CN110572691B (zh) 2022-05-20

Family

ID=68774295

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210035561.XA Active CN114363670B (zh) 2019-08-01 2019-08-01 视频读取方法、装置、设备和存储介质
CN201910707187.1A Active CN110572691B (zh) 2019-08-01 2019-08-01 视频读取方法、装置、设备和存储介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210035561.XA Active CN114363670B (zh) 2019-08-01 2019-08-01 视频读取方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (2) CN114363670B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114363670B (zh) * 2019-08-01 2024-05-28 浙江大华技术股份有限公司 视频读取方法、装置、设备和存储介质
CN113297424A (zh) * 2021-06-11 2021-08-24 杭州海康威视系统技术有限公司 录像计划配置、录像内容查询方法及装置
CN113660517A (zh) * 2021-08-17 2021-11-16 浙江大华技术股份有限公司 视频文件的存储方法及装置、存储介质、电子装置
CN113867632A (zh) * 2021-09-23 2021-12-31 恒睿(重庆)人工智能技术研究院有限公司 云视频识别方法、设备及计算机存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017032245A1 (zh) * 2015-08-27 2017-03-02 阿里巴巴集团控股有限公司 一种视频文件索引信息的生成方法和设备
CN108717458A (zh) * 2018-05-24 2018-10-30 昆明联诚科技股份有限公司 一种用于监控行业的历史视频文件格式存储方法及系统
CN109213898A (zh) * 2018-07-18 2019-01-15 北京世纪东方通讯设备有限公司 视频监控系统的录像检索方法及装置
CN109862422A (zh) * 2019-02-28 2019-06-07 腾讯科技(深圳)有限公司 视频处理方法、装置、计算机可读存储介质和计算机设备

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8325036B1 (en) * 2008-11-06 2012-12-04 Target Brands, Inc. In stock analytic monitoring
CN102129474B (zh) * 2011-04-20 2015-02-11 浙江宇视科技有限公司 一种视频数据检索方法及其装置和系统
CN102194011A (zh) * 2011-06-17 2011-09-21 北京互信互通信息技术股份有限公司 一种多路视频数据读写方法
CN103248853B (zh) * 2012-02-10 2017-06-13 华为技术有限公司 实现录像检索的方法、设备和系统
CN103309930B (zh) * 2013-03-13 2016-05-11 四川天翼网络服务有限公司 基于索引服务的历史视频检索与下载方法
CN103605778B (zh) * 2013-11-28 2017-02-15 中安消技术有限公司 一种视频文件的定位方法、装置及系统
US10102285B2 (en) * 2014-08-27 2018-10-16 International Business Machines Corporation Consolidating video search for an event
JP6443173B2 (ja) * 2015-03-27 2018-12-26 富士通株式会社 映像データ処理装置、映像データ処理システム、映像データ処理方法、及び、映像データ処理プログラム
CN104811645B (zh) * 2015-04-30 2017-11-14 安徽清新互联信息科技有限公司 一种嵌入式录像数据存储方法
CN105120321A (zh) * 2015-08-21 2015-12-02 北京佳讯飞鸿电气股份有限公司 一种视频搜索方法、视频存储方法和相关装置
CN108874826B (zh) * 2017-05-12 2021-03-16 杭州海康威视数字技术股份有限公司 视频段排序方法和云存储系统
CN107493458A (zh) * 2017-09-13 2017-12-19 郑州云海信息技术有限公司 一种存取监控视频的方法及系统
CN108337482A (zh) * 2018-02-08 2018-07-27 北京信息科技大学 监控视频的存储方法和系统
CN109327680A (zh) * 2018-09-21 2019-02-12 北京世纪东方国铁科技股份有限公司 多路视频数据并发存储及读取方法
CN109189992A (zh) * 2018-09-27 2019-01-11 北京邮电大学 一种用于云监控系统中的视频时间检索方法
CN109977135A (zh) * 2019-03-28 2019-07-05 北京奇艺世纪科技有限公司 一种数据查询方法、装置及服务器
CN114363670B (zh) * 2019-08-01 2024-05-28 浙江大华技术股份有限公司 视频读取方法、装置、设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017032245A1 (zh) * 2015-08-27 2017-03-02 阿里巴巴集团控股有限公司 一种视频文件索引信息的生成方法和设备
CN108717458A (zh) * 2018-05-24 2018-10-30 昆明联诚科技股份有限公司 一种用于监控行业的历史视频文件格式存储方法及系统
CN109213898A (zh) * 2018-07-18 2019-01-15 北京世纪东方通讯设备有限公司 视频监控系统的录像检索方法及装置
CN109862422A (zh) * 2019-02-28 2019-06-07 腾讯科技(深圳)有限公司 视频处理方法、装置、计算机可读存储介质和计算机设备

Also Published As

Publication number Publication date
CN114363670A (zh) 2022-04-15
CN110572691A (zh) 2019-12-13
CN114363670B (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
CN110572691B (zh) 视频读取方法、装置、设备和存储介质
US8676027B2 (en) Method for event initiated video capturing and a video camera for capture event initiated video
CN109842781B (zh) 监控视频播放方法、装置、系统、媒体服务器及存储介质
CN110633277A (zh) 时序数据存储方法、装置、计算机设备和存储介质
RU2688757C1 (ru) Устройство и способ для анализа импортированного видео
US9578279B1 (en) Preview streaming of video data
CN108076377B (zh) 一种视频的存储、播放方法、装置、电子设备及存储介质
CN109788224B (zh) 视频录制方法、装置、网络摄像器及存储介质
WO2020093164A1 (en) Methods and systems for detection of anomalous motion in a video stream and for creating a video summary
CN111796948A (zh) 一种共享内存访问方法、装置、计算机设备和存储介质
CN110913272A (zh) 视频播放方法、装置、计算机可读存储介质和计算机设备
CN112311902B (zh) 基于微服务的文件发送方法及装置
CN111047622A (zh) 视频中对象的匹配方法和装置、存储介质及电子装置
CN111860313A (zh) 基于人脸识别的信息查询方法、装置、计算机设备和介质
CN112579820B (zh) 时间跳变的录像数据处理方法、装置、介质及电子设备
CN113596019A (zh) 高性能网络流量数据表示和提取方法和系统
CN113032621A (zh) 数据采样方法、装置、计算机设备和存储介质
CN112752100A (zh) 录像完整性的确定方法、装置及可读存储介质
CN110837529B (zh) 大数据分析监察方法、装置、服务器及可读存储介质
CN106570068B (zh) 信息推荐方法及装置
CN110659376A (zh) 图片查找方法、装置、计算机设备和存储介质
CN115866211A (zh) 一种设备位置跟踪方法、装置、电子设备及介质
CN111147778A (zh) 基于数字视频录像机的轨迹录像方法、装置及存储介质
CN114143486A (zh) 视频流同步方法、装置、计算机设备和存储介质
CN112765404B (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