CN111757037B - 一种录像文件读写方法及装置 - Google Patents
一种录像文件读写方法及装置 Download PDFInfo
- Publication number
- CN111757037B CN111757037B CN202010569017.4A CN202010569017A CN111757037B CN 111757037 B CN111757037 B CN 111757037B CN 202010569017 A CN202010569017 A CN 202010569017A CN 111757037 B CN111757037 B CN 111757037B
- Authority
- CN
- China
- Prior art keywords
- fragments
- information
- fragment
- video
- video file
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/781—Television signal recording using magnetic recording on disks or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本申请实施例提供了一种录像文件读写方法及装置,方法包括:获取录像文件包括的多个视频帧中发生的事件信息,事件信息为对视频帧进行图像识别后得到的;基于预设分片时长范围和多个视频帧中发生的事件信息,对录像文件进行分片处理,得到多个分片;对每一分片的属性信息进行结构化处理,得到每一分片的结构化信息,分片的结构化信息包括分片的属性信息;基于分片的结构化信息,将多个分片上传至云存储设备。基于录像文件包括多个分片的结构化信息,确定满足目标回放信息的结构化信息对应的目标分片;从云存储设备下载目标分片。应用本申请实施例提供的技术方案,提高了录像文件上传和下载的效率。
Description
技术领域
本申请涉及视频监控技术领域,特别是涉及一种录像文件读写方法及装置。
背景技术
传统的网络硬盘录像机(Net Video Recorder,NVR)在接收到网络摄像机采集的视频码流后,将视频码流转换为录像文件存储在NVR的本机硬盘或固态硬盘(Solid StateDisk,SSD)中。这种录像文件存储方式中,录像文件会随着本机硬盘或SSD的寿命到期而丢失,或随着本机硬盘或SSD被偷盗而丢失。
随着云存储技术的快速发展和成熟,云存储设备具有便于集中管理、扩充存储空间以及防偷窃的优点,采用云存储设备代替NVR的本机硬盘或SSD来存储录像文件成为较佳的选择。
目前,采用云存储设备存储录像文件的方法中,NVR将录像文件整体上传至云存储设备,进而云存储设备存储该录像文件。在回放该录像文件时,从云存储设备整体下载该录像文件。然而,若NVR将录像文件上传至云存储设备中的过程中出现中断,或NVR从云存储设备下载录像文件的过程中出现中断,则NVR需要重新上传或下载该录像文件。这导致录像文件上传和下载的效率较低。
发明内容
本申请实施例的目的在于提供一种录像文件读写方法及装置,以提高录像文件上传和下载的效率。具体技术方案如下:
第一方面,本申请实施例提供了一种录像文件写方法,所述方法包括:
获取录像文件包括的多个视频帧中发生的事件信息,所述事件信息为对所述视频帧进行图像识别后得到的;
基于预设分片时长范围和所述多个视频帧中发生的事件信息,对所述录像文件进行分片处理,得到多个分片;
对每一所述分片的属性信息进行结构化处理,得到每一所述分片的结构化信息,所述分片的结构化信息包括所述分片的属性信息;
基于所述分片的结构化信息,将多个所述分片上传至云存储设备。
可选的,所述对每一所述分片的属性信息进行结构化处理,得到每一所述分片的结构化信息的步骤,包括:
根据预设的事件信息与优先级的对应关系,以及每一所述分片中发生的事件信息,确定每一所述分片的优先级;
对每一所述分片的属性信息以及每一所述分片的优先级进行结构化处理,得到每一所述分片的结构化信息,所述分片的结构化信息包括所述分片的属性信息和所述分片的优先级;
所述基于所述分片的结构化信息,将多个所述分片上传至云存储设备的步骤,包括:
按照所述分片的结构化信息包括的优先级从高到低的顺序,将所述多个分片依次上传至云存储设备。
可选的,所述按照所述分片的结构化信息包括的优先级从高到低的顺序,将所述多个分片依次上传至云存储设备的步骤,包括:
按照所述分片的结构化信息包括的优先级从高到低的顺序,采用多线程将所述多个分片依次并发上传至云存储设备。
可选的,在得到多个所述分片后,所述方法还包括:
为多个所述分片创建上传位图,所述上传位图中比特位与所述分片一一对应,且每一比特位的值为第一预设值;
对于每一所述分片,若该分片成功上传至所述云存储设备,则将所述上传位图中该分片对应的比特位的值设置为第二预设值。
可选的,所述方法还包括:
在多个所述分片上传的过程中断后,获取所述上传位图中所述第一预设值的比特位对应的剩余分片;
将所述剩余分片上传至云存储设备;
在所述剩余分片成功上传至所述云存储设备后,将所述上传位图中所述剩余分片对应的比特位的值设置为所述第二预设值。
可选的,所述分片以关键帧开始,所述分片包括的多个视频帧中发生的事件信息相同。
可选的,所述方法还包括:
将多个所述分片的结构化信息上传至云存储设备。
第二方面,本申请实施例提供了一种录像文件读方法,所述方法包括:
获取针对录像文件的目标回放信息;
基于所述录像文件包括多个分片的结构化信息,确定满足所述目标回放信息的结构化信息对应的目标分片;
从云存储设备下载所述目标分片。
可选的,所述结构化信息包括所述分片的录像时间;
所述获取针对录像文件的目标回放信息的步骤,包括:
获取针对录像文件的回放游标所指示的第一目标录像时间;
所述基于所述录像文件包括多个分片的结构化信息,确定满足所述目标回放信息的结构化信息对应的目标分片的步骤,包括:
基于所述录像文件包括多个分片的结构化信息,确定以所述第一目标录像时间为起始时间的预设时长内的分片,作为目标分片。
可选的,所述结构化信息包括所述分片中发生的事件信息;
所述获取针对录像文件的目标回放信息的步骤,包括:
获取针对录像文件的目标事件信息;
所述基于所述录像文件包括多个分片的结构化信息,确定满足所述目标回放信息的结构化信息对应的目标分片的步骤,包括:
基于所述录像文件包括多个分片的结构化信息,确定发生所述目标事件信息的分片,作为目标分片。
可选的,所述方法还包括:
获取针对所述录像文件的回放游标所指示的第二目标录像时间;
以所述第二目标录像时间为起始时间,按照录像时间的先后顺序,从云存储设备下载所述目标分片。
第三方面,本申请实施例提供了一种录像文件写装置,所述装置包括:
第一获取单元,用于获取录像文件包括的多个视频帧中发生的事件信息,所述事件信息为对所述视频帧进行图像识别后得到的;;
分片单元,用于基于预设分片时长范围和所述多个视频帧中发生的事件信息,对所述录像文件进行分片处理,得到多个分片;
结构化单元,用于对每一所述分片的属性信息进行结构化处理,得到每一所述分片的结构化信息,所述分片的结构化信息包括所述分片的属性信息;
上传单元,用于基于所述分片的结构化信息,将多个所述分片上传至云存储设备。
可选的,所述结构化单元,具体用于根据预设的事件信息与优先级的对应关系,以及每一所述分片中发生的事件信息,确定每一所述分片的优先级;对每一所述分片的属性信息以及每一所述分片的优先级进行结构化处理,得到每一所述分片的结构化信息,所述分片的结构化信息包括所述分片的属性信息和所述分片的优先级;
所述上传单元,具体用于按照所述分片的结构化信息包括的优先级从高到低的顺序,将所述多个分片依次上传至云存储设备。
可选的,所述上传单元,具体用于按照所述分片的结构化信息包括的优先级从高到低的顺序,采用多线程将所述多个分片依次并发上传至云存储设备。
可选的,所述装置还包括:
创建单元,用于在得到多个所述分片后,为多个所述分片创建上传位图,所述上传位图中比特位与所述分片一一对应,且每一比特位的值为第一预设值;
设置单元,用于对于每一所述分片,若该分片成功上传至所述云存储设备,则将所述上传位图中该分片对应的比特位的值设置为第二预设值。
可选的,所述装置还包括:第二获取单元;
所述第二获取单元,用于在多个所述分片上传的过程中断后,获取所述上传位图中所述第一预设值的比特位对应的剩余分片;
所述上传单元,还用于将所述剩余分片上传至云存储设备;
所述设置单元,还用于在所述剩余分片成功上传至所述云存储设备后,将所述上传位图中所述剩余分片对应的比特位的值设置为所述第二预设值。
可选的,所述分片以关键帧开始,所述分片包括的多个视频帧中发生的事件信息相同。
可选的,所述上传单元,还用于将多个所述分片的结构化信息上传至云存储设备。
第四方面,本申请实施例提供了一种录像文件读装置,所述装置包括:
获取单元,用于获取针对录像文件的目标回放信息;
确定单元,用于基于所述录像文件包括多个分片的结构化信息,确定满足所述目标回放信息的结构化信息对应的目标分片;
下载单元,用于从云存储设备下载所述目标分片。
可选的,所述结构化信息包括所述分片的录像时间;
所述获取单元,具体用于获取针对录像文件的回放游标所指示的第一目标录像时间;
所述确定单元,具体用于基于所述录像文件包括多个分片的结构化信息,确定以所述第一目标录像时间为起始时间的预设时长内的分片,作为目标分片。
可选的,所述结构化信息包括所述分片中发生的事件信息;
所述获取单元,具体用于获取针对录像文件的目标事件信息;
所述确定单元,具体用于基于所述录像文件包括多个分片的结构化信息,确定发生所述目标事件信息的分片,作为目标分片。
可选的,所述获取单元,还用于获取针对所述录像文件的回放游标所指示的第二目标录像时间;
所述下载单元,还用于以所述第二目标录像时间为起始时间,从云存储设备下载所述目标分片。
第五方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面提供的任一所述的方法步骤。
第六方面,本申请实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第二方面提供的任一所述的方法步骤。
第七方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面提供的任一所述的方法步骤。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第二方面提供的任一所述的方法步骤。
第九方面,本申请实施例提供了本申请实施例还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行第一方面提供的任一所述的方法步骤。
第十方面,本申请实施例提供了本申请实施例还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行第二方面提供的任一所述的方法步骤。
本申请实施例有益效果:
本申请实施例提供的技术方案中,基于预设分片时长范围和多个视频帧中发生的事件信息,将录像文件切分为多个分片,将多个分片上传至云存储设备。同理,从云存储设备下载分片。这种情况下,若将分片上传至云存储设备中的过程中出现中断,或者,从云存储设备下载分片的过程中出现中断,只需要重新上传或下载相应的分片即可,有效提高了录像文件上传和下载的效率。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种录像文件读写系统的一种结构示意图;
图2为本申请实施例提供的一种录像文件写方法的第一种流程示意图;
图3为本申请实施例提供的一种录像文件写方法的第二种流程示意图;
图4(a)为本申请实施例提供的上传位图的一种示意图;
图4(b)为对图4(a)所示的上传位图进行设置后的一种示意图;
图5为本申请实施例提供的一种录像文件写方法的第三种流程示意图;
图6为本申请实施例提供的一种录像文件写方法的第四种流程示意图;
图7为本申请实施例提供的一种录像文件读方法的第一种流程示意图;
图8为本申请实施例提供的一种录像文件读方法的第二种流程示意图;
图9为本申请实施例提供的一种录像文件读方法的第三种流程示意图;
图10为本申请实施例提供的进度条的一种示意图;
图11为本申请实施例提供的一种录像文件读方法的第四种流程示意图;
图12为本申请实施例提供的一种录像文件读方法的第五种流程示意图;
图13为本申请实施例提供的进度条的另一种示意图;
图14为本申请实施例提供的一种录像文件写装置的一种结构示意图;
图15为本申请实施例提供的一种录像文件读装置的一种结构示意图;
图16为本申请实施例提供的一种电子设备的第一种结构示意图;
图17为本申请实施例提供的一种电子设备的第二种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
NVR:通过网络接收网络摄像机传输的视频码流,实现监控以及音视频数据的集中存储和检索。
目前,为了便于集中管理、扩充存储空间以及提高防偷窃的性能,通常采用云存储设备存储NVR获取的录像文件。而采用云存储设备存储NVR获取的录像文件的方法中,若NVR将录像文件上传至云存储设备中的过程中出现中断,或NVR从云存储设备下载录像文件的过程中出现中断,则NVR需要重新上传或下载该录像文件。这导致录像文件上传和下载的效率较低。
为解决上述问题,本申请实施例提供了一种录像文件读写系统,如图1所示。该系统包括NVR 10和云存储设备11。其中,NVR 10获取录像文件,获取录像文件包括的多个视频帧中发生的事件信息,事件信息为对视频帧进行图像识别后得到的;基于预设分片时长范围和多个视频帧中发生的事件信息,对录像文件进行分片处理,得到多个分片;对每一分片的属性信息进行结构化处理,得到每一分片的结构化信息;基于分片的结构化信息,将多个分片上传至云存储设备11。云存储设备11存储NVR 10上传的分片。
在回放录像文件时,NVR 10获取针对录像文件的目标回放信息;基于录像文件包括的多个分片的结构化信息,确定满足目标回放信息的结构化信息对应的目标分片;从云存储设备11下载目标分片。进而实现录像文件的回放。
本申请实施例提供的技术方案中,基于预设分片时长范围和多个视频帧中发生的事件信息,将录像文件切分为多个分片,将多个分片上传至云存储设备。同理,从云存储设备下载分片。这种情况下,若将分片上传至云存储设备中的过程中出现中断,或者,从云存储设备下载分片的过程中出现中断,只需要重新上传或下载相应的分片即可,有效提高了录像文件上传和下载的效率。
基于上述录像文件读写系统,本申请实施例提供了一种录像文件写方法和一种录像文件读方法。下面通过具体实施例,分别对本申请实施例提供的录像文件写方法和录像文件读方法进行详细说明。
参考图2,图2为本申请实施例提供的一种录像文件写方法的第一种流程示意图。该录像文件写方法可以应用于如图所示的NVR 10、或具有NVR功能的设备上。为便于理想,下面以NVR为执行主体进行说明,并不起限定作用。上述录像文件写方法包括如下步骤。
步骤21,获取录像文件包括的多个视频帧中发生的事件信息,事件信息为对视频帧进行图像识别后得到的。
本申请实施例中,录像文件可以为NVR基于网络摄像机传输的视频码流生成的,也可以为NVR从预设录像文件的数据库中获取的,还可以为用户输入NVR的。对此不做具体限定。事件信息包括但不限于:无事件的信息、移动侦测录像事件的信息、人脸事件的信息、车辆事件的信息、入侵事件的信息和告警事件的信息等。
一个实施例中,录像文件包括多个视频帧。存储录像文件时,NVR从录像文件中每隔预设数量个视频帧提取一个视频帧,并对提取的视频帧进行图像识别,进而得到该提取的视频帧中发生的事件信息。
另一个实施例中,录像文件包括多个视频帧和多个视频帧中发生的事件信息。具体的,NVR接收网络摄像机传输的视频帧,并每隔预设数量个视频帧,对接收的视频帧进行图像识别,进而得到该提取的视频帧中发生的事件信息。基于接收到的所有视频帧,以及对视频帧进行图像识别后得到的事件信息,生成录像文件。存储录像文件时,NVR直接从录像文件中获取到多个视频帧中发生的事件信息。
上述预设数量可以根据实际需求进行设定,例如,预设数量可以为0、1、2等。每隔预设数量个视频帧分析得到一个事件信息,而一个事件信息的发生一般会存在一段时间从,才会消失,因此,可以理解为,得到对一个视频帧进行图像识别得到该视频帧中发生的事件信息a后,直至下一个进行图像识别的视频帧间的预设数量个视频帧中均发生了事件信息a。
本申请实施例中,可以利用卷积神经网络对视频帧进行图像识别,也可以采用其他图像识别算法对视频帧进行图像识别,对此不做具体限定。
步骤22,基于预设分片时长范围和多个视频帧中发生的事件信息,对录像文件进行分片处理,得到多个分片。
本申请实施例中,分片时长为分片包括的视频帧的总播放时长。NVR中预设有分片时长范围,即预设分片时长范围。NVR基于预设分片时长范围,以及录像文件包括的多个视频帧中发生的事件信息,对录像文件进行分片处理,得到多个分片。这里,分片间不重叠,将多个分片按照录像时间先后顺序拼合在一起,可以得到完整的录像文件。
本申请实施例中,预设分片时长范围的大小可以根据实际需求进行设定,例如,预设分片时长范围可以为0~30秒、10~30秒等。基于预设分片时长范围和多个视频帧中发生的事件信息的分片规则可以根据实际需求设定。
一个示例中,分片规则可以为:一个分片的分片时长在预设分片时长范围,且一个分片中发生事件信息的数量小于等于预设事件阈值。分片中发生的事件信息为分片包括的视频帧中发生的事件信息。
另一个示例中,分片规则可以为:一个分片的分片时长在预设分片时长范围,且一个分片中发生事件信息的数量为1,即一个分片包括的每一视频帧中发生的事件信息相同。分片中发生的事件信息为分片包括的视频帧中发生的事件信息。
例如,录像文件包括1500个视频帧,每个视频帧的播放时长为40毫秒。按照录像时间的先后顺序,上述1500个视频帧中发生的事件信息如下:
第1~300视频帧中发生的事件信息为无事件;
第301~1100视频帧中发生的事件信息为车辆事件;
第1101~1500视频帧中发生的事件信息为人脸事件。
其中,第1~300视频帧的总播放时长为300*40毫秒=12000毫秒=12秒。0<12<30,将第1~300视频帧划分为一个分片1。第301~1100视频帧的总播放时长为(1100-300)*40毫秒=32000毫秒=32秒。32>30,则将第301~1100视频帧中的前30秒的视频帧划分为一个分片2,30秒*1000/40=750,300+750=1050,即将第301~1050视频帧划分为一个分片2,将剩余的2秒的视频帧划分为一个分片3,即将第1051~1100视频帧划分为一个分片3。第1101~1500视频帧的总播放时长为400*40毫秒=16000毫秒=16秒。0<16<30,将第1101~1500视频帧划分为一个分片4。
步骤23,对每一分片的属性信息进行结构化处理,得到每一分片的结构化信息,分片的结构化信息包括分片的属性信息。
本申请实施例中,分片的属性信息包括但不限于:分片所属片段用户标识(UserIdentity,UID)、分片号、偏移开始、长度大小、开始时间、结束时间、事件描述等。
其中,分片所属片段UID,指这个分片所属的原始录像文件的UID。通过分片所属片段UID,可将分片与原始录像文件关联。
分片号,指示分片为第几个分片。一个示例中,分片的录像时间越早,分片号越小。
偏移开始,指分片相应于原始录像文件的开始的偏移量。通过偏移开始可精确定位到分片。
长度大小,指分片的长度到小。
开始时间,指分片的起始录像时间。
结束时间,指分片的结束录像时间。结束时间与开始时间之间的差值即为分片的播放时长。
事件描述,指分片中发生的事件信息的描述。例如,人脸属性、人脸模型、车辆的车牌车型等。
NVR在得到录像文件的多个分片后,提取每一分片的属性信息,对每一分片的属性信息进行结构化处理,得到每一分片的结构化信息。例如,分片的属性信息包括分片所属片段UID、分片号、偏移开始、长度大小、开始时间、结束时间和事件描述,NVR对分片的属性信息进行结构化处理,得到结构化信息,如表1所示。
表1
在本申请的一个实施例中,每个分片以关键帧开始,即以I帧开始,保证了每个分片可以独立播放,在下载了分片后即可播放。
在本申请的另一个实施例中,分片不是以关键帧开始。这种情况下,分片的属性信息还可以包括关联分片。关联分片中包括能使设备正确解码当前分片中视频帧的关键帧。NVR在下载一分片时还需要该分片的关联分片,以保证正常播放分片。
步骤24,基于分片的结构化信息,将多个分片上传至云存储设备。
本申请实施例中,NVR基于多个分片的结构化信息,将得到的录像文件的多个分片上传至云存储设备。云存储设备将多个分片和多个分片的结构化信息对应存储。这样,后续回放录像文件时,NVR可以基于分片的结构化信息,从云存储设备下载多个分片。
一个示例中,分片的结构化信息中包括分片的开始录像时间。NVR按照分片的结构化信息中包括分片的开始录像时间从早到晚的顺序,将多个分片上传至云存储设备。
在本申请实施例中,录像文件读写系统中除了NVR外,还包括其他设备。为了便于其他设备下载录像文件,NVR还可以将多个分片的结构化信息上传至云存储设备。当其他设备下载录像文件时,其他设备可从云存储设备下载多个分片的结构化信息,进而基于结构化信息从云存储设备下载分片,便于其他设备下载分片。
在本申请的一个实施例中,NVR将多个分片依次上传至云存储设备之后,再将多个分片的结构化信息上传至云存储设备,避免了分片上传过程中断后,无法按照结构化信息上传分片的问题。
在本申请的一个实施例中,NVR可以将多个分片的结构化信息组成分片索引文件,将分片索引文件上传至云存储设备。云存储设备将多个分片和分片索引文件对应存储。后续回放录像文件时,NVR或其他设备可直接下载分片索引文件,进而得到多个分片的结构化信息,提高了结构化信息下载的效率。
本申请实施例提供的技术方案中,基于预设分片时长范围和多个视频帧中发生的事件信息,将录像文件切分为多个分片,将多个分片上传至云存储设备。这种情况下,若将分片上传至云存储设备中的过程中出现中断,只需要重新上传剩余分片即可,有效提高了录像文件上传的效率。
基于上述图2所示的录像文件写方法,本申请实施例还提供了一种录像文件写方法。如图3所示,该录像文件写方法中步骤23可以细化为步骤231和步骤232,步骤24可以细化为步骤241。具体如下,
步骤231,根据预设的事件信息与优先级的对应关系,以及每一分片中发生的事件信息,确定每一分片的优先级。
本申请实施例中,分片的优先级可以分为高、中、低三级,也可以分为1、2、3、4级等。
NVR中预先设定了事件信息与优先级的对应关系。以分片的优先级可以分为高、中、低为例,预先设定了事件信息与优先级的对应关系可以如表2所示。
表2
具体事件信息的优先级的划分方式可以根据实际需求设定。
在确定录像文件的每一分片中发生的事件信息后,NVR从预设的事件信息与优先级的对应关系中,确定每一分片中发生的事件信息对应的优先级,该确定的优先级即为分片的优先级。
一个示例中,若分片中发生的事件信息为一个,则NVR从预设的事件信息与优先级的对应关系中,确定该事件信息对应的优先级为该分片的优先级。
另一个示例中,若分片中发生的事件信息为多个,则NVR从预设的事件信息与优先级的对应关系中,确定每个事件信息对应的优先级;选择最高优先级作为该分片的优先级。
步骤232,对每一分片的属性信息以及每一分片的优先级进行结构化处理,得到每一分片的结构化信息,分片的结构化信息包括分片的属性信息和分片的优先级。
本申请实施例中,NVR对每一分片的属性信息以及每一分片的优先级进行结构化处理,得到每一分片的结构化信息。
例如,分片的属性信息包括分片所属片段UID、分片号、偏移开始、长度大小、开始时间、结束时间和事件描述,NVR对分片的属性信息进行结构化处理,得到结构化信息,如表3所示。
表3
步骤241,按照分片的结构化信息包括的优先级从高到低的顺序,将多个分片依次上传至云存储设备。
本申请实施例中,NVR对录像文件进行分片处理,得到多个分片,多个分片的优先级可能完全相同,也可能不完全相同。这种情况下,NVR按照分片的结构化信息包括的优先级从高到低的顺序,将多个分片依次上传至云存储设备。例如,NVR按照分片的结构化信息包括的优先级从高到低的顺序,将分片加入到上传队列,NVR将上传队列中的分片上传至云存储设备。
这种方式下,NVR优先上传优先级高的分片。而分片的优先级越高,分片中的数据越重要,优先上传优先级高的分片,保证了重要数据的优先存储,降低了重要数据丢失的概率,提高了重要数据的安全性。
在本申请的一个实施例中,NVR将多个分片依次上传至云存储设备之后,再将多个分片的结构化信息上传至云存储设备,避免了分片上传过程中断后,无法按照优先级从高到低的顺序上传分片的问题,进一步提高了重要数据的安全性。
在本申请的一个实施例中,上述步骤241具体可以为,按照分片的结构化信息包括的优先级从高到低的顺序,采用多线程将多个分片依次并发上传至云存储设备。这里,NVR采用多线程上传分片,多个分片可以并发的上传至云存储设备,进一步提高了分片上传的效率。
在本申请的一个实施例中,为了便于对分片上传进行控制,NVR在得到多个分片后,为多个分片创建上传位图,上传位图中比特位与分片一一对应,且每一比特位的值为第一预设值;对于每一分片,若该分片成功上传至云存储设备,则将上传位图中该分片对应的比特位的值设置为第二预设值。其中,第一预设值表示分片未上传至存储设备,第二预设值表示分片已成功上传至存储设备。第一预设值和第二预设值的大小可以根据实际需要进行设定。当上传位图中的所有比特位的值均为第二预设值时,录像文件的所有分片全部上传至云存储设备,录像文件上传完成。
例如,第一预设值为0,第二预设值为1。录像文件的分片有45个。基于此创建的上传位图,如图4(a)所示。图4(a)中每一矩形表示一个比特位,比特位的初始值为0,即录像文件的所有分片均未成功上传至云存储设备。当录像文件的第1、3、4、7、8个分片成功上传至云存储设备后,将上传位图中第1、3、4、7、8个分片对应的比特位的值设置为1。如图4(a)中第1行第1列的矩形框表示第1个分片,第1行第3列的矩形框表示第3个分片,第1行第4列的矩形框表示第4个分片,第1行第7列的矩形框表示第7个分片,第1行第8列的矩形框表示第8个分片,将第1行第1列、第1行第3列、第1行第4列、第1行第7列和第1行第8列的矩形框中的值置为1,得到录像文件的第1、3、4、7、8个分片成功上传至云存储设备后的上传位图,如图4(b)所示。
本申请实施例中,通过上传位图可以方便快捷的确定分片的上传状态,避免出现分片重复上传或漏传的问题。
由于网络中断或者设备异常等原因,会导致录像文件的分片上传失败,导致分片上传的过程中断。在本申请的一个实施例中,为了保证上传至云存储设备的录像文件完整,且提高录像文件的上传效率,在多个分片上传的过程中断后,当网络恢复或者设备异常恢复后,NVR查找上传位图中第一预设值的比特位,将查找到的第一预设值的比特位对应的分片作为剩余分片。剩余分片可以为一个或多个。NVR将获取的剩余分片上传至云存储设备。如上述,NVR按照剩余分片的结构化信息包括的优先级从高到低的顺序,采用多线程将剩余分片依次并发上传至云存储设备。在剩余分片成功上传至云存储设备后,NVR将上传位图中剩余分片对应的比特位的值设置为第二预设值。当上传位图中的所有比特位的值均为第二预设值时,录像文件的所有分片全部上传至云存储设备,录像文件上传完成。
本申请实施例中,依据上传位图实现分片的断点续传,只需要将未成功上传至云存储设备的分片(即剩余分片)重新上传至云存储设备即可,不需要将录像文件的所有分片全部重传,进一步提高了录像文件上传的效率。
下面结合图5和图6所示的录像文件写方法的流程示意图,对本申请实施例提供的录像文件写方法进行详细说明。其中,第一预设值为0,第二预设值为1。
步骤51,开始录像文件上传后,NVR对录像文件进行分片预处理,得到录像文件的多个分片、每一分片的结构化信息、以及上传位图,上传位图中比特位与分片一一对应,且每一比特位的值为0。
具体的,分片预处理可以包括:对录像文件包括的多个视频帧进行图像识别,确定多个视频帧中发生的事件信息;基于预设分片时长范围和多个视频帧中发生的事件信息,对录像文件进行分片处理,得到多个分片;根据预设的事件信息与优先级的对应关系,以及每一分片中发生的事件信息,确定每一分片的优先级;提取每一分片的属性信息,对每一分片的属性信息以及每一分片的优先级进行结构化处理,得到每一分片的结构化信息;以及,为多个分片创建上传位图。
步骤52,NVR以分配的操作标识,向云存储设备请求分片上传。
步骤53,请求分片上传成功后,NVR按照分片的优先级从高到低的顺序,将分片依次加入上传队列。
步骤54,NVR采用多线程将上传队列中的分片并发上传至云存储设备。
步骤55,每个分片成功上传至云存储设备,NVR将上传位图中该分片对应的比特位的值设置为1。
步骤56,当上传位图中所有比特位的值均为1时,NVR将分片的结构化信息上传至云存储设备。此时录像文件上传完成。
若分片并发上传过程中,由于网络中断或者设备异常导致分片上传失败,当网络恢复或者设备异常恢复后进行分片断点续传。具体参考图6所示流程。
步骤61,NVR查找上传位图中0比特位,将查找到的0比特位对应的分片作为剩余分片。剩余分片可以为一个或多个。
步骤62,NVR以上一次的分片上传的操作标识,向云存储设备请求分片上传。
步骤63,请求分片上传成功后,NVR按照剩余分片的优先级从高到低的顺序,将剩余分片依次加入上传队列。
步骤64,NVR采用多线程将上传队列中的分片并发上传至云存储设备。
步骤65,每个分片成功上传至云存储设备,NVR将上传位图中该分片对应的比特位的值设置为1。
步骤66,当上传位图中所有比特位的值均为1时,NVR将分片的结构化信息上传至云存储设备。此时录像文件上传完成。
上述步骤51-56和步骤61-66部分的描述相对简单,具体参考上述图2-4部分的相关描述。
基于上述图2-6所示的录像文件写方法,本申请实施例还提供了一种录像文件读方法。参考图7,图7为本申请实施例提供的录像文件读方法的第一种流程示意图。该录像文件读方法可以应用于如图所示的NVR 10、或具有NVR功能的设备上。为便于理想,下面以NVR为执行主体进行说明,并不起限定作用。上述录像文件读方法包括如下步骤。
步骤71,获取针对录像文件的目标回放信息。
本申请实施例中,在需要回放录像文件是,NVR获取针对录像文件的目标回放信息。回放信息可以理解为回放条件,回放信息可以包括回放时间、回放事件等。其中,回放时间为需要回放的分片的录像时间,回放事件为需要回放的分片中发生的事件信息。
步骤72,基于录像文件包括多个分片的结构化信息,确定满足目标回放信息的结构化信息对应的目标分片。
本申请实施例中,录像文件包括多个分片,每一分片都具有一个结构化信息,如上述表3所示。分片的结构化信息可以为预先存储在NVR中的,也可以为用户输入NVR的,还可以为NVR从云存储设备下载的。
NVR在获取到录像文件包括多个分片的结构化信息后,将目标回放信息与多个分片的结构化信息进行匹配,从录像文件包括多个分片的结构化信息中,确定满足目标回放信息的结构化信息,该确定的结构化信息对应的分片即为目标分片。目标分片可以为一个或多个。
步骤73,从云存储设备下载目标分片。
本申请实施例中,NVR可以按照录像时间的先后顺序,逐一从云存储设备下载目标分片,以提高单个分片下载的流畅度,提高分片回放的流畅度。这里,录像时间可以为分片中任一视频帧的录像时间。
例如,满足目标回放信息的目标分片包括:第1、2、3分片。按照录像时间的先后顺序对第1、2、3分片排序,排序结果为第1分片→第2分片→第3分片。NVR从云存储设备下载第1分片,再下载第2分片,之后下载第3分片。
本申请实施例中,NVR也可以利用多线程,从云存储设备并发下载多个目标分片,以提高下载效率。
例如,满足目标回放信息的目标分片包括:第1、2、3分片。按照录像时间的先后顺序对第1、2、3分片排序,排序结果为第1分片→第2分片→第3分片。NVR开启了2条线程下载分片,则可以从云存储设备并发下载第1分片和第2分片,再下载第3分片。
本申请实施例提供的技术方案中,基于预设分片时长范围和多个视频帧中发生的事件信息,将录像文件切分为多个分片,将多个分片上传至云存储设备。同理,从云存储设备下载分片。这种情况下,若从云存储设备下载分片的过程中出现中断,只需要重新下载相应的分片即可,有效提高了录像文件下载的效率。
在本申请的一个实施例中,结构化信息包括分片的录像时间。回放信息包括回放游标所指示的录像时间。基于此,参考图8所示的录像文件读方法的流程示意图,该方法中上述步骤71可以细化为步骤711,步骤72可以细化为步骤721,具体如下。
步骤711,获取针对录像文件的回放游标所指示的第一目标录像时间。
本申请实施例中,用户可以向NVR中输入需要回放的录像文件的起始回放时间。NVR接收用户输入的起始回放时间,将该起始回放时间作为第一目标录像时间,将回放游标拖动至第一目标录像时间。
本申请实施例中,用户还可以拖动NVR所显示录像文件的进度条的回放游标,将回放游标拖动至需要回放的起始回放时间的位置处。NVR基于回放游标在进度条的位置,快速地定位到针对录像文件的回放游标所指示的第一目标录像时间。
步骤721,基于录像文件包括多个分片的结构化信息,确定以第一目标录像时间为起始时间的预设时长内的分片,作为目标分片。
结构化信息包括分片的录像时间。在确定第一目标录像时间后,NVR基于录像文件包括多个分片的结构化信息,确定以第一目标录像时间为起始时间的预设时长内的分片为目标分片。预设时长可以根据实际需求进行设定。例如,预设时长可以为2分钟、3分钟等。
具体的,上述步骤721可以具体为:确定以第一目标录像时间为起始时间的预设时长的目标时间段。基于录像文件包括多个分片的结构化信息,NVR确定录像时间段与目标时间段存在交集的分片,作为目标分片。其中,录像时间段为分片的起始录像时间与结束录像时间组成的时间段。
例如,目标时间段为10分钟20秒至15分钟20秒。分片1的起始录像时间为10分钟,分片1的结束录像时间为11分钟。这种情况下,NVR可确定分片1的录像时间段与目标时间段存在交集,分片1为目标分片。
NVR从云存储设备中获取到目标分片后,回放目标分片,随着目标分片的回放,回放游标在进度条上的位置移动。一段时间后,当NVR缓存且未回放的目标分片的录像时长小于预设时长时,NVR可以重新执行步骤711和721,重新确定目标分片,并从云存储设备下载NVR未缓存的重新确定的目标分片。这样保证了NVR中缓存有足够地分片,录像文件回放的平顺,提高了数据访问下载的效率。
下面结合图9所示的录像文件读方法的流程示意图,图10所示的进度条的示意图,对本申请实施例提供的录像文件读方法进行详细说明。预设时长为2分钟。
步骤91,针对录像文件,NVR获取当前回放游标所指示的第一目标录像时间。如图10所示,用户拖动回放游标至进度条的t1处。NVR获取第一目标录像时间为t1。
步骤92,NVR检测是否已从云存储设备下载了t1-t2这2分钟内的分片。若是,则等待一段时长(如等待10秒)后,重新执行步骤91。若否,则执行步骤93。
步骤93,NVR检索分片的结构化信息,确定录像文件在t1-t2这2分钟内未缓存的分片。
步骤94,NVR请求从云存储设备分片下载。
步骤95,NVR从云存储设备下载确定的分片。等待一段时长(如等待10秒)后,重新执行步骤91。
NVR只下载所确定的分片。随着分片的播放,回放游标在进度条上随着移动,进而NVR持续下载分片。
本申请实施例中,按需加载分片,不断播放,然后不断加载后续录像时间的分片,不需要下载所有完整录像,提高了数据访问下载的效率。
在本申请的一个实施例中,结构化信息包括分片中发生的事件信息。回放信息包括事件信息。基于此,参考图11所示的录像文件读方法的流程示意图,该方法中上述步骤71可以细化为步骤712,步骤72可以细化为步骤722,具体如下。
步骤712,获取针对录像文件的目标事件信息。
本申请实施例中,用户可以向NVR中输入需要回放的分片中所发生的时间信息。如人脸、车辆、车牌等。NVR接收用户输入的事件信息,将该事件信息作为目标事件信息。
本申请实施例中,目标事件信息也可以为其他设备发送给NVR的。对目标事件信息的获取方式不作限定。
步骤722,基于录像文件包括多个分片的结构化信息,确定发生目标事件信息的分片,作为目标分片。
结构化信息包括分片的事件信息。在确定目标事件信息后,NVR基于录像文件包括多个分片的结构化信息,确定发生目标事件信息的分片为目标分片。
目标分片可以为一个或多个。
NVR从云存储设备中获取到目标分片后,回放目标分片。此时,按事件信息精准高效的定位到需要的分片,并且,NVR只回放发生了目标事件信息的目标分片,节约了计算资源。
在本申请的一个实施例中,NVR在获取到目标事件信息后,可以获取针对录像文件的回放游标所指示的第二目标录像时间。NVR以第二目标录像时间为起始时间,从云存储设备下载目标分片。
下面结合图12所示的录像文件读方法的流程示意图,图13所示的进度条的示意图,对本申请实施例提供的录像文件读方法进行详细说明。
步骤121,NVR获取针对录像文件的目标事件信息。例如,目标事件信息为人脸事件。这里,目标事件信息即为回放条件。
步骤122,NVR检索分片的结构化信息,确定发生人脸事件的分片为目标分片。如图13中,NVR确定发生人脸事件的目标分片包括t11-t12、t13-t14、t15-t16内的分片。
步骤123,NVR基于检索到的分片的录像时间,更新进度条。保证只播放满足目标事件信息的分片。
步骤124,NVR从云存储设备下载t11-t12、t13-t14、t15-t16内的分片。
NVR控制分片随回放游标移动而播放,仅播放满足目标事件信息的分片,即仅播放t11-t12、t13-t14、t15-t16内的分片。若用户拖动了回放游标,则NVR确定回放游标所指示的第二目标录像时间,以第二目标录像时间为起始时间,从云存储设备下载目标分片。
本申请实施例中,按需加载分片,不断播放,然后不断加载后续录像时间的分片,不需要下载所有完整录像,提高了数据访问下载的效率。
与上述录像文件写方法实施例对应,本申请实施例还提供了一种录像文件写装置。参考图14,图14为本申请实施例提供的一种录像文件写装置的一种结构示意图。该装置可以位于NVR上。该录像文件写装置可以包括:
第一获取单元141,用于获取录像文件包括的多个视频帧中发生的事件信息,事件信息为对视频帧进行图像识别后得到的;
分片单元142,用于基于预设分片时长范围和多个视频帧中发生的事件信息,对录像文件进行分片处理,得到多个分片;
结构化单元143,用于对每一分片的属性信息进行结构化处理,得到每一分片的结构化信息,分片的结构化信息包括分片的属性信息;
上传单元144,用于基于分片的结构化信息,将多个分片上传至云存储设备。
一个实施例中,结构化单元143,具体可以用于根据预设的事件信息与优先级的对应关系,以及每一分片中发生的事件信息,确定每一分片的优先级;对每一分片的属性信息以及每一分片的优先级进行结构化处理,得到每一分片的结构化信息,分片的结构化信息包括分片的属性信息和分片的优先级;
上传单元144,具体可以用于按照分片的结构化信息包括的优先级从高到低的顺序,将多个分片依次上传至云存储设备。
一个实施例中,上传单元144,具体可以用于按照分片的结构化信息包括的优先级从高到低的顺序,采用多线程将多个分片依次并发上传至云存储设备。
一个实施例中,上述录像文件写装置还可以包括:
创建单元,用于在得到多个分片后,为多个分片创建上传位图,上传位图中比特位与分片一一对应,且每一比特位的值为第一预设值;
设置单元,用于对于每一分片,若该分片成功上传至云存储设备,则将上传位图中该分片对应的比特位的值设置为第二预设值。
一个实施例中,上述录像文件写装置还可以包括第二获取单元;
第二获取单元,用于在多个分片上传的过程中断后,获取上传位图中第一预设值的比特位对应的剩余分片;
上传单元144,还可以用于将剩余分片上传至云存储设备;
设置单元,还用于在剩余分片成功上传至云存储设备后,将上传位图中剩余分片对应的比特位的值设置为第二预设值。
一个实施例中,分片以关键帧开始,分片包括的多个视频帧中发生的事件信息相同。
一个实施例中,上传单元144,还可以用于将多个分片的结构化信息上传至云存储设备。
本申请实施例提供的技术方案中,基于预设分片时长范围和多个视频帧中发生的事件信息,将录像文件切分为多个分片,将多个分片上传至云存储设备。。这种情况下,若将分片上传至云存储设备中的过程中出现中断,只需要重新上传相应的分片即可,有效提高了录像文件上传的效率。
与上述录像文件读方法实施例对应,本申请实施例还提供了一种录像文件读装置。参考图15,图15为本申请实施例提供的一种录像文件读装置的一种结构示意图。该装置可以位于NVR上。该录像文件读装置可以包括:
获取单元151,用于获取针对录像文件的目标回放信息;
确定单元152,用于基于录像文件包括多个分片的结构化信息,确定满足目标回放信息的结构化信息对应的目标分片;
下载单元153,用于从云存储设备下载目标分片。
一个实施例中,结构化信息可以包括分片的录像时间;
获取单元151,具体可以用于获取针对录像文件的回放游标所指示的第一目标录像时间;
确定单元152,具体可以用于基于录像文件包括多个分片的结构化信息,确定以第一目标录像时间为起始时间的预设时长内的分片,作为目标分片。
一个实施例中,结构化信息可以包括分片中发生的事件信息;
获取单元151,具体可以用于获取针对录像文件的目标事件信息;
确定单元152,具体可以用于基于录像文件包括多个分片的结构化信息,确定发生目标事件信息的分片,作为目标分片。
一个实施例中,获取单元151,还可以用于获取针对录像文件的回放游标所指示的第二目标录像时间;
下载单元153,还可以用于以第二目标录像时间为起始时间,从云存储设备下载目标分片。
本申请实施例提供的技术方案中,基于预设分片时长范围和多个视频帧中发生的事件信息,将录像文件切分为多个分片,将多个分片上传至云存储设备。同理,从云存储设备下载分片。这种情况下,若从云存储设备下载分片的过程中出现中断,则只需要重新下载相应的分片即可,有效提高了录像文件下载的效率。
与上述录像文件写方法实施例对应,本申请实施例还提供了一种电子设备,如图16所示,包括处理器161、通信接口162、存储器163和通信总线164,其中,处理器161,通信接口162,存储器163通过通信总线164完成相互间的通信;
存储器163,用于存放计算机程序;
处理器161,用于执行存储器163上所存放的程序时,实现图2-6所示的录像文件写方法的任一步骤。
与上述录像文件读方法实施例对应,本申请实施例还提供了一种电子设备,如图17所示,包括处理器171、通信接口172、存储器173和通信总线174,其中,处理器171,通信接口172,存储器173通过通信总线174完成相互间的通信;
存储器173,用于存放计算机程序;
处理器171,用于执行存储器173上所存放的程序时,实现图7-13所示的录像文件读方法的任一步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述通信接口用于上述电子设备与其他设备之间的通信。
上述存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现图2-6所示的录像文件写方法的任一步骤。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现图7-13所示的录像文件读方法的任一步骤。
在本申请提供的又一实施例中,还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行图2-6所示的录像文件写方法的任一步骤。
在本申请提供的又一实施例中,还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行图7-13所示的录像文件读方法的任一步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于录像文件读写装置、电子设备、计算机可读存储介质和计算机程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (15)
1.一种录像文件写方法,其特征在于,所述方法包括:
获取录像文件包括的多个视频帧中发生的事件信息,所述事件信息为对所述视频帧进行图像识别后得到的;
基于预设分片时长范围和所述多个视频帧中发生的事件信息,对所述录像文件进行分片处理,得到多个分片,所述多个分片间不重叠,所述多个分片按照录像时间先后顺序拼接起来为完整的所述录像文件;
对每一所述分片的属性信息进行结构化处理,得到每一所述分片的结构化信息,所述分片的结构化信息包括所述分片的属性信息;
基于所述分片的结构化信息,将多个所述分片上传至云存储设备。
2.根据权利要求1所述的方法,其特征在于,所述对每一所述分片的属性信息进行结构化处理,得到每一所述分片的结构化信息的步骤,包括:
根据预设的事件信息与优先级的对应关系,以及每一所述分片中发生的事件信息,确定每一所述分片的优先级;
对每一所述分片的属性信息以及每一所述分片的优先级进行结构化处理,得到每一所述分片的结构化信息,所述分片的结构化信息包括所述分片的属性信息和所述分片的优先级;
所述基于所述分片的结构化信息,将多个所述分片上传至云存储设备的步骤,包括:
按照所述分片的结构化信息包括的优先级从高到低的顺序,将所述多个分片依次上传至云存储设备。
3.根据权利要求2所述的方法,其特征在于,所述按照所述分片的结构化信息包括的优先级从高到低的顺序,将所述多个分片依次上传至云存储设备的步骤,包括:
按照所述分片的结构化信息包括的优先级从高到低的顺序,采用多线程将所述多个分片依次并发上传至云存储设备。
4.根据权利要求1所述的方法,其特征在于,在得到多个所述分片后,所述方法还包括:
为多个所述分片创建上传位图,所述上传位图中比特位与所述分片一一对应,且每一比特位的值为第一预设值;
对于每一所述分片,若该分片成功上传至所述云存储设备,则将所述上传位图中该分片对应的比特位的值设置为第二预设值。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在多个所述分片上传的过程中断后,获取所述上传位图中所述第一预设值的比特位对应的剩余分片;
将所述剩余分片上传至云存储设备;
在所述剩余分片成功上传至所述云存储设备后,将所述上传位图中所述剩余分片对应的比特位的值设置为所述第二预设值。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述分片以关键帧开始,所述分片包括的多个视频帧中发生的事件信息相同。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
将多个所述分片的结构化信息上传至云存储设备。
8.一种录像文件读方法,其特征在于,所述方法包括:
获取针对录像文件的目标回放信息;
基于所述录像文件包括多个分片的结构化信息,确定满足所述目标回放信息的结构化信息对应的目标分片;
从云存储设备下载所述目标分片,其中,所述云存储设备中存储的分片是根据权利要求1-7任一项所述方法得到的。
9.根据权利要求8所述的方法,其特征在于,所述结构化信息包括所述分片的录像时间;
所述获取针对录像文件的目标回放信息的步骤,包括:
获取针对录像文件的回放游标所指示的第一目标录像时间;
所述基于所述录像文件包括多个分片的结构化信息,确定满足所述目标回放信息的结构化信息对应的目标分片的步骤,包括:
基于所述录像文件包括多个分片的结构化信息,确定以所述第一目标录像时间为起始时间的预设时长内的分片,作为目标分片。
10.根据权利要求8所述的方法,其特征在于,所述结构化信息包括所述分片中发生的事件信息;
所述获取针对录像文件的目标回放信息的步骤,包括:
获取针对录像文件的目标事件信息;
所述基于所述录像文件包括多个分片的结构化信息,确定满足所述目标回放信息的结构化信息对应的目标分片的步骤,包括:
基于所述录像文件包括多个分片的结构化信息,确定发生所述目标事件信息的分片,作为目标分片。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
获取针对所述录像文件的回放游标所指示的第二目标录像时间;
以所述第二目标录像时间为起始时间,从云存储设备下载所述目标分片。
12.一种录像文件写装置,其特征在于,所述装置包括:
第一获取单元,用于获取录像文件包括的多个视频帧中发生的事件信息,所述事件信息为对所述视频帧进行图像识别后得到的;
分片单元,用于基于预设分片时长范围和所述多个视频帧中发生的事件信息,对所述录像文件进行分片处理,得到多个分片,所述多个分片间不重叠,所述多个分片按照录像时间先后顺序拼接起来为完整的所述录像文件;
结构化单元,用于对每一所述分片的属性信息进行结构化处理,得到每一所述分片的结构化信息,所述分片的结构化信息包括所述分片的属性信息;
上传单元,用于基于所述分片的结构化信息,将多个所述分片上传至云存储设备。
13.一种录像文件读装置,其特征在于,所述装置包括:
获取单元,用于获取针对录像文件的目标回放信息;
确定单元,用于基于所述录像文件包括多个分片的结构化信息,确定满足所述目标回放信息的结构化信息对应的目标分片;
下载单元,用于从云存储设备下载所述目标分片,其中,所述云存储设备中存储的分片是根据权利要求12所述装置得到的。
14.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7或8-11任一所述的方法步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7或8-11任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010569017.4A CN111757037B (zh) | 2020-06-19 | 2020-06-19 | 一种录像文件读写方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010569017.4A CN111757037B (zh) | 2020-06-19 | 2020-06-19 | 一种录像文件读写方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111757037A CN111757037A (zh) | 2020-10-09 |
CN111757037B true CN111757037B (zh) | 2022-09-02 |
Family
ID=72675778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010569017.4A Active CN111757037B (zh) | 2020-06-19 | 2020-06-19 | 一种录像文件读写方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111757037B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114598664A (zh) * | 2020-12-03 | 2022-06-07 | 武汉斗鱼鱼乐网络科技有限公司 | 一种任务执行方法及相关装置 |
CN113660417B (zh) * | 2021-08-11 | 2023-06-20 | 科珑诗菁生物科技(上海)有限公司 | 周期性摄录方法、装置、设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8204955B2 (en) * | 2007-04-25 | 2012-06-19 | Miovision Technologies Incorporated | Method and system for analyzing multimedia content |
EP2479684B1 (en) * | 2011-01-21 | 2013-09-25 | NTT DoCoMo, Inc. | Method and evaluation server for evaluating a plurality of videos |
US10142381B2 (en) * | 2014-07-22 | 2018-11-27 | Intellivision Technologies Corp. | System and method for scalable cloud services |
US10455185B2 (en) * | 2016-08-10 | 2019-10-22 | International Business Machines Corporation | Detecting anomalous events to trigger the uploading of video to a video storage server |
CN107948605B (zh) * | 2017-12-11 | 2020-09-08 | 日立楼宇技术(广州)有限公司 | 车载监控视频数据存储的方法、装置、设备及存储介质 |
-
2020
- 2020-06-19 CN CN202010569017.4A patent/CN111757037B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111757037A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10225603B2 (en) | Methods and systems for rendering multimedia content on a user device | |
EP3076283B1 (en) | System and method for managing content deletion | |
US9977596B2 (en) | Predictive models of file access patterns by application and file type | |
US7292961B2 (en) | Capturing session activity as in-memory snapshots using a time-based sampling technique within a database for performance tuning and problem diagnosis | |
CN111757037B (zh) | 一种录像文件读写方法及装置 | |
US11252327B1 (en) | Method and system for performing a contextual stitching operation on video data using a data processing unit | |
US11409793B2 (en) | Method and system for performing a storage tier operation on video data using a data processing unit | |
US11158352B1 (en) | Method and system for indexing video data using a data processing unit | |
US11514949B2 (en) | Method and system for long term stitching of video data using a data processing unit | |
US11916908B2 (en) | Method and system for performing an authentication and authorization operation on video data using a data processing unit | |
CN112040312A (zh) | 一种分屏渲染方法、装置、设备和存储介质 | |
CN113589767A (zh) | 一种机器人流程自动化rpa处理方法和相关装置 | |
CN109116718B (zh) | 设置闹钟的方法及设备 | |
CN110232000B (zh) | 数据存储管理方法及装置 | |
US10430115B2 (en) | System and method for optimizing multiple packaging operations in a storage system | |
US20150112947A1 (en) | System and method for database flow management | |
US20150030310A1 (en) | Intelligent viewing of a television program series using metadata | |
CN112000623A (zh) | 一种元数据的存取方法、装置和计算机可读存储介质 | |
US20220129502A1 (en) | Method and system for performing a compliance operation on video data using a data processing unit | |
CN112463746A (zh) | 一种文件存储、生成方法、装置及电子设备 | |
CN111311194B (zh) | 审讯过程中笔录与录音录像的联动方法、系统及存储介质 | |
US11403263B2 (en) | Techniques for file versioning to protect against file corruption | |
CN114357244A (zh) | 视频处理方法、装置和计算机设备 | |
CN107749892B (zh) | 会议记录的网络读取方法、装置、智能平板和存储介质 | |
CN105468474B (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 |