CN109426589B - 一种文件修复方法及装置 - Google Patents
一种文件修复方法及装置 Download PDFInfo
- Publication number
- CN109426589B CN109426589B CN201710770325.1A CN201710770325A CN109426589B CN 109426589 B CN109426589 B CN 109426589B CN 201710770325 A CN201710770325 A CN 201710770325A CN 109426589 B CN109426589 B CN 109426589B
- Authority
- CN
- China
- Prior art keywords
- audio
- backup data
- size
- data
- backed
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本申请实施例公开了一种文件修复方法及装置,应用于音视频文件中,所述音视频文件包括存储的音视频数据的码流信息,其中方法包括:获取所述音视频文件的至少两份备份数据,所述至少两份备份数据的备份时间不同,所述至少两份备份数据包括各自备份的音视频数据的码流信息的大小和时域与空域信息;根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,从所述至少两份备份数据中确定目标备份数据;根据所述目标备份数据备份的音视频数据的码流信息的大小和时域与空域信息,对所述音视频文件进行修复。采用本申请实施例,可以有效提高文件修复的效率,保证文件修复的准确性。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种文件修复方法及装置。
背景技术
目前,通常利用音视频封装技术将监控类产品(例如摄像头)录制的音视频数据封装在音视频容器中来生成音视频文件,其中,音视频容器是指封装音视频数据的文件格式,如音频视频交错(Audio Video Interleaved,AVI)格式、动态图像专家组(Moving PictureExperts Group 4,MP4)格式、MOV格式(即Quick Time格式)等。
随着监控类产品的不断普及,录像作为监控类产品的基本功能,在异常(例如掉电、拔卡)情况下,如何保证监控类产品在发生异常情况之前已经录制的音视频文件正常可用,是当前监控类产品的普遍需求。
当监控类产品发生异常情况时,会导致音视频文件录制出错,缺失音视频数据的时域与空域信息,录像文件不完整,不能正常播放。现有技术在对缺失音视频数据的时域与空域信息的音视频文件进行修复时,首先从音视频数据的码流信息中解析出码流格式信息,并根据解析得到的码流格式信息生成音视频数据的时域与空域信息,然后利用生成的音视频数据的时域与空域信息对音视频文件进行修复。采用上述方式需要对音视频数据的码流信息进行解析,解析过程会浪费较长时间,文件修复效率低。
发明内容
本申请实施例所要解决的技术问题在于,提供一种文件修复方法及装置,可以有效提高文件修复的效率,保证文件修复的准确性。
第一方面,本申请实施例提供了一种文件修复方法,应用于受损音视频文件中,所述音视频文件包括存储的音视频数据的码流信息,该方法包括:首先获取该音视频文件的至少两份备份数据,该至少两份备份数据的备份时间不同,且该至少两份备份数据包括各自备份的音视频数据的码流信息的大小和时域与空域信息;然后根据该至少两份备份数据各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,从该至少两份备份数据中确定目标备份数据,该目标备份数据即为用于进行文件修复的备份数据;最后根据该目标备份数据备份的音视频数据的码流信息的大小和时域与空域信息,对该音视频文件进行修复,得到修复后的音视频文件。
在一种可能的实施例中,根据该至少两份备份数据各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,从该至少两份备份数据中确定目标备份数据,包括:按照该至少两份备份数据各自备份的音视频数据的码流信息的大小从大到小的顺序,根据该至少两份备份数据各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测该至少两份备份数据是否完整,即检测该至少两份备份数据是否受损,并将检测到的第一份完整的备份数据确定为该目标备份数据。
在一种可能的实施例中,根据该至少两份备份数据各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,从该至少两份备份数据中确定目标备份数据,包括:按照该至少两份备份数据各自备份的音视频数据的码流信息的大小从大到小的顺序,根据该至少两份备份数据各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测出该至少两份备份数据中顺序排在最后的备份数据之前的所有备份数据均不完整;将该顺序排在最后的备份数据确定为该目标备份数据。其中,顺序排在最后的备份数据即是该至少两份备份数据中备份的音视频数据的码流信息的大小最小的备份数据。
在一种可能的实施例中,按照该至少两份备份数据各自备份的音视频数据的码流信息的大小从大到小的顺序,根据该至少两份备份数据各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测该至少两份备份数据是否完整,包括:首先按照该至少两份备份数据各自备份的音视频数据的码流信息的大小从大到小的顺序,确定该至少两份备份数据当前被检测的备份数据;然后获取该被检测的备份数据的大小、该被检测的备份数据所备份的音视频数据的码流信息的大小占用的存储空间的大小、以及该被检测的备份数据所备份的音视频数据的时域与空域信息的大小;最后在该被检测的备份数据的大小等于所备份的音视频数据的码流信息的大小所占用的存储空间的大小和所备份的音视频数据的时域与空域信息的大小之和时,确定该被检测的备份数据完整。
在一种可能的实施例中,按照该至少两份备份数据各自备份的音视频数据的码流信息的大小从大到小的顺序,根据该至少两份备份数据各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测出该至少两份备份数据中顺序排在最后的备份数据之前的所有备份数据均不完整,包括:首先获取该排在最后的备份数据之前的所有备份数据中每个备份数据的大小、每个备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小、以及每个备份数据所备份的音视频数据的时域与空域信息的大小;然后确定该每个备份数据的大小不等于所备份的音视频数据的码流信息的大小所占用的存储空间的大小和所备份的音视频数据的时域与空域信息的大小之和。
在一种可能的实施例中,根据该目标备份数据备份的音视频数据的码流信息的大小和时域与空域信息,对该音视频文件进行修复,包括:首先将该目标备份数据备份的音视频数据的码流信息的大小作为该音视频文件存储的音视频数据的码流信息的大小;然后将该目标备份数据备份的音视频数据的时域与空域信息添加到该音视频文件中时域与空域信息的位置处,得到修复后的音视频文件。
在一种可能的实施例中,该至少两份备份数据是按照预设时间间隔针对该音视频文件进行备份得到的。
第二方面,本申请实施例提供了一种文件修复装置,该装置包括:获取模块、确定模块、修复模块、和检测模块,上述各个模块用于执行上述第一方面所述的任一种文件修复方法。
第三方面,本申请实施例提供了另一种文件修复装置,包括:处理器、存储器,所述处理器、所述存储器通过总线连接,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行上述第一方面所述的任一种文件修复方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的任一种文件修复方法。
第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的任一种文件修复方法。
本申请实施例所提供的文件修复方法,首先获取音视频文件的至少两份备份数据,然后从该至少两份备份数据中确定出目标备份数据,最后直接根据该目标备份数据备份的音视频数据的码流信息的大小和时域与空域信息对受损音视频文件进行修复,得到修复后的音视频文件。采用上述方式对受损音视频文件进行修复,无需通过对音视频数据的码流信息进行解析生成音视频数据的时域与空域信息,可以有效提高文件修复的效率,保证文件修复的准确性。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1是本申请实施例提供的一种备份数据的结构体的示意图;
图2是本申请实施例提供的一种数据备份过程的示意图;
图3是本申请实施例提供的一种文件修复方法的流程示意图;
图4是本申请实施例提供的一种MP4文件的结构示意图;
图5是本申请实施例提供的一种受损MP4文件的结构示意图;
图6是本申请实施例提供的一种文件修复装置的结构示意图;
图7是本申请实施例提供的另一种文件修复装置的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。
本申请实施例描述的一种文件修复方法及装置可以应用于多种封装格式(例如AVI格式、MP4格式、MOV格式等)的音视频文件中。若在设备(例如监控类产品(例如摄像头))正常录制音视频文件的过程中发生异常(例如断电、拔卡)情况时,会导致音视频文件录制出错,导致与音视频文件存储的音视频数据的码流信息对应的音视频数据的时域与空域信息未能及时写入到录制的音视频文件中,录制的音视频文件数据不完整,也即是说录制的音视频文件受损。由于受损音视频文件缺失与其存储的音视频数据的码流信息对应的音视频数据的时域与空域信息,后续需要播放录制的音视频文件时则不能够正常播放。本申请实施例描述的一种文件修复方法及装置可以在检测到录制的音视频文件受损时,自动且快速地对受损音视频文件进行修复,得到修复后的音视频文件,从而能够保证录制的音视频文件的完整性,保证设备录制的音视频文件在后续需要播放时能够正常播放。
本申请实施例描述的一种文件修复方法包括数据备份过程和数据修复过程,数据备份过程为在设备正常录制音视频文件的过程中对音视频文件的相关数据的备份过程,即生成音视频文件的备份数据的过程;数据修复过程为在发生异常情况之后对受损音视频文件的修复过程,即将备份数据还原到受损音视频文件中的过程。下面将对数据备份过程和数据修复过程分别进行详细描述。
请参见图1,图1是本申请实施例提供的一种备份数据的结构体的示意图,如图1所示,备份数据的结构体包括但不限于MDAT_size和MOOV两部分。其中,MDAT_size表示备份数据备份的音视频数据的码流信息的大小,且MDAT_size为一个具体的数值,占用较小的存储空间;MOOV包括备份数据备份的音视频数据的时域与空域信息,占用较大的存储空间。本申请实施例中,数据备份过程是在设备正常录制音视频文件的过程中生成音视频文件的备份数据的过程,且可以生成音视频文件的至少两份备份数据。其中,数据备份过程生成的至少两份备份数据可以是按照预设时间间隔针对音视频文件进行循环备份得到的。
具体地,下面以生成某一音视频文件的两份备份数据为例对数据备份过程进行详细说明,且假设预设时间间隔为5s。请一并参见图2,图2中包括Bak1和Bak2两份备份数据,Bak1和Bak2两份备份数据的结构体的形式与上述备份数据的结构体的形式相同,且Bak1和Bak2是针对同一音视频文件的两份备份数据,但Bak1和Bak2的备份时间不同。假设设备开始录制音视频文件的同时启动数据备份过程,则在数据备份过程启动之后的第5s时刻,或者说在设备录制音视频文件的第5s时刻,生成音视频文件的第一备份数据Bak1,此时,音视频文件存储了0~5s内设备录制的音视频数据的码流信息,备份数据Bak1针对音视频文件备份的数据包括:音视频文件存储的0~5s内设备录制的音视频数据的码流信息的大小,以及与音视频文件存储的0~5s内设备录制的音视频数据的码流信息对应的音视频数据的时域与空域信息。
在数据备份过程启动之后的第10s时刻,生成音视频文件的第二备份数据Bak2,此时,音视频文件存储了0~10s内设备录制的音视频数据的码流信息,备份数据Bak2针对音视频文件备份的数据包括:音视频文件存储的0~10s内设备录制的音视频数据的码流信息的大小,以及与音视频文件存储的0~10s内设备录制的音视频数据的码流信息对应的音视频数据的时域与空域信息。在数据备份过程启动之后的第15s时刻,音视频文件存储了0~15s内设备录制的音视频数据的码流信息,首先获取音视频文件存储的0~15s内设备录制的音视频数据的码流信息的大小,以及与音视频文件存储的0~15s内设备录制的音视频数据的码流信息对应的音视频数据的时域与空域信息,得到音视频文件第15s时刻的备份数据,并将获取到的音视频文件第15s时刻的备份数据对应覆盖第一备份数据Bak1中备份的音视频文件第5s时刻的备份数据,得到更新后的第一备份数据Bak1。以此类推,可以按照预设时间间隔循环更新Bak1和Bak2中备份的音视频文件不同时刻的备份数据,得到最新的音视频文件的两份备份数据。其中,对于音视频文件的备份数据多于两份的情况亦可以以此类推。上述采用循环备份的方式可以保证针对音视频文件备份的数据是较新的,且相对于生成一份备份数据则保留一份备份数据的方式可以在一定程度上节省存储空间。
请参见图3,图3是本申请实施例提供的一种文件修复方法,应用于受损音视频文件中,所述音视频文件包括存储的音视频数据的码流信息。该方法包括但不限于如下步骤:
S301、终端获取音视频文件的至少两份备份数据。
本申请实施例中,终端获取上述数据备份过程中按照预设时间间隔针对该音视频文件进行循环备份得到的至少两份备份数据。其中,该至少两份备份数据的备份时间不相同,且该至少两份备份数据包括各自备份的音视频数据的码流信息的大小以及音视频数据的时域与空域信息。结合上述数据备份过程的例子举例来说,假设在设备录制音视频文件的第17s时刻发生异常情况,则终端可以获取到音视频文件第10s时刻的备份数据Bak2以及音视频文件第15s时刻的备份数据Bak1。其中,备份数据Bak2中备份的数据包括:音视频文件存储的0~10s内设备录制的音视频数据的码流信息的大小,以及与音视频文件存储的0~10s内设备录制的音视频数据的码流信息对应的音视频数据的时域与空域信息;备份数据Bak1中备份的数据包括:音视频文件存储的0~15s内设备录制的音视频数据的码流信息的大小,以及与音视频文件存储的0~15s内设备录制的音视频数据的码流信息对应的音视频数据的时域与空域信息。
本申请实施例中,音视频文件存储的音视频数据的码流信息,包括音视频信号帧、码率、帧率、采样率、分辨率、编码格式等参数;音视频数据的时域信息是指音频信号或视频信号的时间戳信息,用于反映音视频信号帧与时间的关系,从而反映某一帧音频信号或者某一帧视频信号的播放时间;音视频数据的空域信息包括音频信号以及视频信号的存储位置以及大小等信息。
在一些可行的实施方式中,终端获取该音视频文件的至少两份备份数据之前,首先检测与该音视频文件存储的音视频数据的码流信息对应的音视频数据的时域与空域信息是否缺失,或者说检测该音视频文件是否受损;若检测到该音视频数据的时域与空域信息缺失,则触发终端执行获取该音视频文件的至少两份备份数据的步骤以及后续步骤。需要说明的是,如果终端检测到音视频文件存储的音视频数据的时域与空域信息未缺失,但检测到该音视频数据的时域与空域信息不完整,则也可以采用本申请实施例提供的文件修复方法进行文件修复。
S302、所述终端根据所述至少两份备份数据各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,从所述至少两份备份数据中确定目标备份数据。
本申请实施例中,终端在获取到音视频文件的至少两份备份数据之后,首先获取该至少两份备份数据各自备份的音视频数据的码流信息的大小;然后根据该至少两份备份数据各自备份的音视频数据的码流信息的大小确定该至少两份备份数据从大到小的顺序;最后终端按照该至少两份备份数据从大到小的顺序,根据该至少两份备份数据各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测该至少两份备份数据是否完整,也即是说依次检测该至少两份备份数据中的信息或者数据是否受损,并将检测到的第一份完整的备份数据确定为目标备份数据。其中,确定得到的目标备份数据即为该至少两份备份数据中将用于修复受损音视频文件的备份数据。
在一些可行的实施方式中,终端按照该至少两份备份数据各自备份的音视频数据的码流信息的大小从大到小的顺序,根据该至少两份备份数据各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测该至少两份备份数据是否完整,具体包括:
终端首先按照该至少两份备份数据各自备份的音视频数据的码流信息的大小从大到小的顺序,确定该至少两份备份数据中当前被检测的备份数据。然后针对当前被检测的备份数据,获取被检测的备份数据的大小,即被检测的备份数据所占用的总的存储空间;获取被检测的备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小,其中,被检测的备份数据所备份的音视频数据的码流信息的大小为一个具体的数值(例如20MB),该码流信息的大小所占用的存储空间的大小例如可以是4字节,该码流信息的大小即是在生成被检测的备份数据的时刻,音视频文件中已经存储的音视频数据的码流信息所占用的总的存储空间的大小,该码流信息的大小可以以文本的形式备份在被检测的备份数据中;获取被检测的备份数据所备份的音视频数据的时域与空域信息的大小,即被检测的备份数据所备份的音视频数据的时域与空域信息所占用的存储空间,其中,获取到的被检测的备份数据所备份的音视频数据的时域与空域信息的大小即为被检测的备份数据理论上应该备份的音视频数据的时域与空域信息的大小,被检测的备份数据理论上应该备份的音视频数据的时域与空域信息的大小可以包括在被检测的备份数据备份的音视频数据的时域与空域信息中。
终端然后在当前被检测的备份数据的大小,等于当前被检测的备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小和所备份的音视频数据的时域与空域信息的大小之和时,确定当前被检测的备份数据完整。具体地,终端将当前被检测的备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小,与当前被检测的备份数据所备份的音视频数据的时域与空域信息的大小相加,得到相加结果;若该相加结果与当前被检测的备份数据的大小相等时,则确定当前被检测的备份数据完整。
在一些可行的实施方式中,终端也可以先将被检测的备份数据所占用的总的存储空间的大小减去被检测的备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小,得到相减结果,其中,得到的相减结果即为被检测的备份数据实际备份的音视频数据的时域与空域信息所占用的存储空间的大小。然后,终端判断该相减结果与获取到的被检测的备份数据所备份的音视频数据的时域与空域信息所占用的存储空间的大小是否相等,若该相减结果与获取到的被检测的备份数据所备份的音视频数据的时域与空域信息所占用的存储空间的大小相等,即被检测的备份数据实际备份的音视频数据的时域与空域信息的大小与理论上应该备份的音视频数据的时域与空域信息的大小相等,则确定当前被检测的备份数据完整。若当前被检测的备份数据为终端检测到的第一份完整的备份数据,则将当前被检测的备份数据确定为目标备份数据。若该相减结果与获取到的被检测的备份数据所备份的音视频数据的时域与空域信息所占用的存储空间的大小不相等,即被检测的备份数据实际备份的音视频数据的时域与空域信息的大小与理论上应该备份的音视频数据的时域与空域信息的大小不相等,则确定当前被检测的备份数据不完整,并按照上述方式继续检测该至少两份备份数据中顺序排在当前被检测的备份数据后一位的备份数据是否完整。
在一些可行的实施方式中,终端根据该至少两份备份数据各自备份的音视频数据的码流信息的大小确定出该至少两份备份数据从大到小的顺序之后,若终端根据该各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测出该至少两份备份数据中顺序排在最后的备份数据之前的所有备份数据均不完整,则直接将该顺序排在最后的备份数据确定为该目标备份数据。具体地,终端首先获取该顺序排在最后的备份数据之前的所有备份数据中每个备份数据的大小、每个备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小、以及每个备份数据所备份的音视频数据的时域与空域信息的大小;然后,若终端确定出该每个备份数据的大小均不等于其所备份的音视频数据的码流信息的大小所占用的存储空间的大小和其所备份的音视频数据的时域与空域信息的大小之和,则直接将该顺序排在最后的备份数据确定为该目标备份数据。
在一些可行的实施方式中,终端根据该至少两份备份数据各自备份的音视频数据的码流信息的大小确定出该至少两份备份数据从大到小的顺序之后,终端首先根据该至少两份备份数据从大到小的顺序,确定出该至少两份备份数据中顺序排在最后的备份数据之前的所有备份数据,也即是说,确定出该至少两份备份数据中非顺序排在最后的所有备份数据。终端然后依次检测该至少两份备份数据中非顺序排在最后的所有备份数据是否完整,具体检测过程可参考上述描述,在此不再赘述;若终端检测到该至少两份备份数据中非顺序排在最后的所有备份数据均不完整,终端则不再对该至少两份备份数据中顺序排在最后的备份数据进行检测,并直接将该顺序排在最后的备份数据确定为该目标备份数据。其中,顺序排在最后的备份数据即是该至少两份备份数据中备份的音视频数据的码流信息的大小最小的备份数据。结合上述数据备份过程的例子举例来说,假设音视频文件发生异常情况之前已经备份好Bak1和Bak2两份备份数据,且备份数据Bak2备份的MDAT_size大于Bak1备份的MDAT_size。终端在获取到Bak1和Bak2两份备份数据之后,首先对备份数据Bak2进行完整性检测,若检测到Bak2中备份的数据不完整,则直接将Bak1确定为目标备份数据。
在一些可行的实施方式中,该至少两份备份数据中还可以包括音视频数据的其他信息,终端在当前被检测的备份数据的大小,等于当前被检测的备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小、所备份的音视频数据的时域与空域信息的大小以及所备份的音视频数据的其他信息的大小之和时,确定当前被检测的备份数据完整。
S303、所述终端根据所述目标备份数据备份的音视频数据的码流信息的大小和时域与空域信息,对所述音视频文件进行修复。
具体地,终端在确定出该至少两份备份数据中的目标备份数据之后,首先获取该目标备份数据备份的音视频数据的码流信息的大小以及音视频数据的时域与空域信息。然后将该目标备份数据备份的音视频数据的码流信息的大小作为受损音视频文件存储的音视频数据的码流信息的大小,其中,终端可以是用该目标备份数据备份的音视频数据的码流信息的大小替换受损音视频文件存储的音视频数据的码流信息的大小;终端也可以是将该目标备份数据备份的音视频数据的码流信息的大小写入到受损音视频文件中,并将其作为受损音视频文件存储的音视频数据的码流信息的大小。进一步地,终端将该目标备份数据备份的音视频数据的时域与空域信息添加到受损音视频文件中存储时域与空域信息的位置处,其中,受损音视频文件中存储时域与空域信息的位置,可以是受损音视频文件中为时域与空域信息预留的存储空间。举例来说,以该音视频文件为MP4格式为例,MP4文件中为时域与空域信息预留的存储空间,紧接着MP4文件中为码流信息预留的存储空间。最后将受损音视频文件存储的音视频数据的码流信息中,除与该目标备份数据备份的音视频数据的时域与空域信息对应的音视频数据的码流信息之外的其他所有音视频数据的码流信息删除,得到修复后的音视频文件。得到的修复后的音视频文件则可以正常播放。
下面将结合上述数据备份过程的例子举例对本申请实施例提供的文件修复方法进行说明,假设音视频文件的封装格式为MP4格式,且假设音视频文件的备份数据包括Bak1和Bak2两份备份数据。请一并参见图2、图4和图5,如图4所示,设备正常录制某一MP4格式的音视频文件完成之后,得到的完整的MP4文件应包括FTYP、MDAT、MOOV三部分,其中FTYP包括MP4文件开头的标识信息,MDAT包括MP4文件存储的音视频数据的码流信息,MOOV包括MP4文件存储的音视频数据的时域与空域信息。
假设在设备录制某一MP4文件的第24s时刻发生异常情况,则会得到受损的MP4文件,如图5所示,受损的MP4文件包括FTYP、MDAT两部分,MOOV部分则由于在发生异常情况之前未能够及时写入到MP4文件中,导致设备录制的MP4文件缺失音视频数据的时域与空域信息。根据上述数据备份过程的例子中的相关描述,可以知道在录制过程发生异常情况时,数据备份过程已经备份有MP4文件第15s时刻的备份数据Bak1,以及MP4文件第20s时刻的备份数据Bak2。其中,备份数据Bak1中备份的数据包括:MP4文件存储的0~15s内设备录制的音视频数据的码流信息的大小,以及与MP4文件存储的0~15s内设备录制的音视频数据的码流信息对应的音视频数据的时域与空域信息;备份数据Bak2中备份的数据:包括MP4文件存储的0~20s内设备录制的音视频数据的码流信息的大小,以及与MP4文件存储的0~20s内设备录制的音视频数据的码流信息对应的音视频数据的时域与空域信息。
终端在对受损的MP4文件进行修复时,首先获取MP4文件的两份备份数据Bak1和Bak2,并获取Bak1和Bak2各自备份的音视频数据的码流信息的大小和时域与空域信息。由于Bak1对应的是MP4文件第15s时刻的备份数据,Bak2对应的是MP4文件第20s时刻的备份数据,终端可以检测到备份数据Bak2中备份的MDAT_size,大于备份数据Bak1中备份的MDAT_size,故先检测备份数据Bak2中备份的数据是否完整。
具体地,终端首先获取整个备份数据Bak2所占用的存储空间,获取Bak2中备份的MDAT_size所占用的存储空间,以及获取Bak2中理论上应该备份的MOOV所占用的存储空间。然后将整个备份数据Bak2所占用的存储空间减去Bak2中备份的MDAT_size所占用的存储空间,得到Bak2中实际备份的MOOV所占用的存储空间。若终端判断出Bak2中实际备份的MOOV所占用的存储空间与Bak2中理论上应该备份的MOOV所占用的存储空间相同,则确定备份数据Bak2中备份的数据完整,并将备份数据Bak2确定为目标备份数据。
在确定出备份数据Bak2为目标备份数据之后,终端首先利用备份数据Bak2中备份的MDAT_size替换受损MP4文件存储的MDAT的大小,即用Bak2中备份的MP4文件存储的0~20s内设备录制的音视频数据的码流信息的大小替换受损MP4文件存储的MDAT的大小。然后将Bak2中备份的MOOV添加到受损MP4文件中存储时域与空域信息的位置处,即将Bak2中备份的与MP4文件存储的0~20s内设备录制的音视频数据的码流信息,对应的音视频数据的时域与空域信息添加到受损MP4文件中存储时域与空域信息的位置处,如图4和5所示,即将Bak2中备份的MOOV添加到受损MP4文件中MDAT的后面位置处。
由于受损MP4文件存储的MDAT中包括0~24s内设备录制的音视频数据的码流信息,而上述对受损MP4文件进行修复之后,只在受损MP4文件中存储时域与空域信息的位置处添加了与MP4文件存储的0~20s内设备录制的音视频数据的码流信息,对应的音视频数据的时域与空域信息,故还需要将受损MP4文件存储的MDAT中包括的20~24s内设备录制的音视频数据的码流信息删除,得到修复后的MP4文件,如图4所示。需要说明的是,上述步骤可以根据实际需要进行顺序调整、合并或者删减。
上述检测备份数据Bak2的完整性的过程中,若终端判断出Bak2中实际备份的MOOV所占用的存储空间与Bak2中理论上应该备份的MOOV所占用的存储空间不相同,则确定Bak2中备份的数据不完整,并检测备份数据Bak1的完整性,或者直接将备份数据Bak1确定为目标备份数据。在确定出备份数据Bak1为目标备份数据之后,利用Bak1中备份的音视频数据的码流信息的大小和时域与空域信息对受损MP4文件进行修复,得到修复后的MP4文件,具体步骤可参考上述描述,在此不再赘述。
采用上述方式对受损音视频文件进行修复时,无需通过对音视频文件存储的音视频数据的码流信息进行解析生成音视频数据的时域与空域信息,可以减少文件修复花费的时间,在一定程度上减轻处理器的工作负荷,从而有效提高文件修复的效率。现有技术通过对音视频文件存储的音视频数据的码流信息进行解析生成音视频数据的时域与空域信息时,音视频数据的码流信息中可能没有保存音视频数据的某些参数(例如播放速率等),此时只能使用该某些参数的默认值,使用默认值对音视频文件进行修复会影响音视频文件的数据的准确性,严重时,可能导致修复后的音视频文件还是不能够正常播放。而本申请实施例中,数据备份过程生成的音视频文件的备份数据与录制音视频文件时的相关数据保持一致,从而能够保证数据修复过程的数据的准确性。
本申请实施例所提供的文件修复方法,首先获取音视频文件的至少两份备份数据,然后从该至少两份备份数据中确定出目标备份数据,最后直接根据该目标备份数据备份的音视频数据的码流信息的大小和时域与空域信息对受损音视频文件进行修复,得到修复后的音视频文件。采用上述方式对受损音视频文件进行修复,无需通过对音视频数据的码流信息进行解析生成音视频数据的时域与空域信息,可以有效提高文件修复的效率,保证文件修复的准确性。
在一些可行的实施方式中,如果对于某些产品形态下的监控类产品,在录制音视频文件的过程中发生某些异常情况时,监控类产品可以有一定的时间针对音视频文件进行备份操作。例如监控类产品有内置电池,则可以在其掉电后,有10秒的时间对音视频文件进行备份操作。对于这类监控类产品也可以采用上述文件修复方法对受损音视频文件进行修复,区别在于,针对这类监控类产品,数据备份过程可以只备份一份音视频文件的备份数据,而且只在这类监控类产品发生异常情况后启动数据备份过程,触发备份数据的写操作;并在数据备份过程完成之后,启动数据修复过程。其中,数据备份过程和数据修复过程的具体步骤可参考上述描述,在此不再赘述。对于这类监控类产品,数据备份过程只在发生异常情况之后进行数据备份,可以在一定程度上节省软硬件资源。
上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。
请参见图6,图6是本申请实施例提供的一种文件修复装置的结构示意图,图6所示的文件修复装置应用于受损音视频文件中,所述音视频文件包括存储的音视频数据的码流信息。其中,图6所示的装置可以包括获取模块601、确定模块602、修复模块603、检测模块604,其中,各个模块的详细描述如下。
获取模块601,用于获取所述音视频文件的至少两份备份数据,所述至少两份备份数据的备份时间不同,所述至少两份备份数据包括各自备份的音视频数据的码流信息的大小和时域与空域信息。
确定模块602,用于根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,从所述至少两份备份数据中确定目标备份数据。
修复模块603,用于根据所述目标备份数据备份的音视频数据的码流信息的大小和时域与空域信息,对所述音视频文件进行修复。
在一些可行的实施方式中,所述装置还包括:
检测模块604,用于按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测所述至少两份备份数据是否完整。
其中,所述确定模块602,具体用于将所述检测模块604检测到的第一份完整的备份数据确定为所述目标备份数据。
在一些可行的实施方式中,所述装置还包括:
检测模块604,用于按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测出所述至少两份备份数据中顺序排在最后的备份数据之前的所有备份数据均不完整。
其中,所述确定模块602,具体用于将所述排在最后的备份数据确定为所述目标备份数据。
在一些可行的实施方式中,所述检测模块604,具体包括:
确定单元6041,用于按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,确定所述至少两份备份数据中当前被检测的备份数据。
获取单元6042,用于获取所述被检测的备份数据的大小、所述被检测的备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小、以及所述被检测的备份数据所备份的音视频数据的时域与空域信息的大小。
所述确定单元6041,具体用于在所述被检测的备份数据的大小等于所备份的音视频数据的码流信息的大小所占用的存储空间的大小和所备份的音视频数据的时域与空域信息的大小之和时,确定所述被检测的备份数据完整。
在一些可行的实施方式中,所述检测模块604,具体包括:
获取单元6042,用于获取所述排在最后的备份数据之前的所有备份数据中每个备份数据的大小、每个备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小、以及每个备份数据所备份的音视频数据的时域与空域信息的大小。
确定单元6041,用于确定所述每个备份数据的大小不等于所备份的音视频数据的码流信息的大小所占用的存储空间的大小和所备份的音视频数据的时域与空域信息的大小之和。
在一些可行的实施方式中,所述修复模块603,具体包括:
更新单元6031,用于将所述目标备份数据备份的音视频数据的码流信息的大小作为所述音视频文件存储的音视频数据的码流信息的大小。
添加单元6032,用于将所述目标备份数据备份的音视频数据的时域与空域信息添加到所述音视频文件中时域与空域信息的位置处,得到修复后的所述音视频文件。
在一些可行的实施方式中,所述至少两份备份数据是按照预设时间间隔针对所述音视频文件进行备份得到的。
需要说明的是,本申请实施例的文件修复装置的各功能模块、单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本申请实施例中,获取模块601首先获取音视频文件的至少两份备份数据,然后触发确定模块602从该至少两份备份数据中确定出目标备份数据,最后触发修复模块603直接根据该目标备份数据备份的音视频数据的码流信息的大小和时域与空域信息对受损音视频文件进行修复,得到修复后的音视频文件。采用上述方式对受损音视频文件进行修复,无需通过对音视频数据的码流信息进行解析生成音视频数据的时域与空域信息,可以有效提高文件修复的效率,保证文件修复的准确性。
请参见图7,图7是本申请实施例提供的一种文件修复装置的结构示意图,本申请实施例中所描述的文件修复装置包括:处理器701、通信接口702、存储器703。其中,处理器701、通信接口702、存储器703可通过总线或其他方式连接,本申请实施例以通过总线连接为例。
处理器701可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP),或者CPU和NP的组合。处理器701也可以是多核CPU或多核NP中用于实现通信标识绑定的核。
上述处理器701可以是硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。
上述通信接口702可用于收发信息或信令的交互,以及信号的接收和传递。上述存储器703可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的存储程序(比如文字存储功能、位置存储功能等);存储数据区可存储根据文件修复装置的使用所创建的数据(比如图像数据、文字数据、音视频数据)等,并可以包括应用存储程序等。此外,存储器703可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
上述存储器703还用于存储程序指令。上述处理器701可以调用上述存储器703存储的程序指令,实现如本申请实施例所示的文件修复方法。
具体的,上述处理器701调用存储在上述存储器703存储的程序指令执行以下步骤:
获取所述音视频文件的至少两份备份数据,所述至少两份备份数据的备份时间不同,所述至少两份备份数据包括各自备份的音视频数据的码流信息的大小和时域与空域信息;
根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,从所述至少两份备份数据中确定目标备份数据;
根据所述目标备份数据备份的音视频数据的码流信息的大小和时域与空域信息,对所述音视频文件进行修复。
本申请实施例中处理器执行的方法均从处理器的角度来描述,可以理解的是,本申请实施例中处理器要执行上述方法需要其他硬件结构的配合。本申请实施例对具体的实现过程不作详细描述和限制。
在一些可行的实施方式中,上述处理器701根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,从所述至少两份备份数据中确定目标备份数据的具体方式为:
按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测所述至少两份备份数据是否完整;
将检测到的第一份完整的备份数据确定为所述目标备份数据。
在一些可行的实施方式中,上述处理器701根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,从所述至少两份备份数据中确定目标备份数据的具体方式为:
按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测处所述至少两份备份数据中顺序排在最后的备份数据之前的所有备份数据均不完整;
将所述排在最后的备份数据确定为所述目标备份数据。
在一些可行的实施方式中,上述处理器701按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测所述至少两份备份数据是否完整的具体方式为:
按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,确定所述至少两份备份数据中当前被检测的备份数据;
获取所述被检测的备份数据的大小、所述被检测的备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小、以及所述被检测的备份数据所备份的音视频数据的时域与空域信息的大小;
在所述被检测的备份数据的大小等于所备份的音视频数据的码流信息的大小所占用的存储空间的大小和所备份的音视频数据的时域与空域信息的大小之和时,确定所述被检测的备份数据完整。
在一些可行的实施方式中,上述处理器701按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测处所述至少两份备份数据中顺序排在最后的备份数据之前的所有备份数据均不完整的具体方式为:
获取所述排在最后的备份数据之前的所有备份数据中每个备份数据的大小、每个备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小、以及每个备份数据所备份的音视频数据的时域与空域信息的大小;
确定所述每个备份数据的大小不等于所备份的音视频数据的码流信息的大小所占用的存储空间的大小和所备份的音视频数据的时域与空域信息的大小之和。
在一些可行的实施方式中,上述处理器701根据所述目标备份数据备份的音视频数据的码流信息的大小和时域与空域信息,对所述音视频文件进行修复的具体方式为:
将所述目标备份数据备份的音视频数据的码流信息的大小作为所述音视频文件存储的音视频数据的码流信息的大小;
将所述目标备份数据备份的音视频数据的时域与空域信息添加到所述音视频文件中时域与空域信息的位置处,得到修复后的所述音视频文件。
在一些可行的实施方式中,所述至少两份备份数据是按照预设时间间隔针对所述音视频文件进行备份得到的。
具体实现中,本申请实施例中所描述的处理器701、通信接口702和存储器703可执行本申请实施例图3提供的一种文件修复方法中所描述的实现方式,也可执行本申请实施例图6提供的一种文件修复装置中所描述的实现方式,在此不再赘述。
本申请实施例中,首先获取音视频文件的至少两份备份数据,然后从该至少两份备份数据中确定出目标备份数据,最后直接根据该目标备份数据备份的音视频数据的码流信息的大小和时域与空域信息对受损音视频文件进行修复,得到修复后的音视频文件。采用上述方式对受损音视频文件进行修复,无需通过对音视频数据的码流信息进行解析生成音视频数据的时域与空域信息,可以有效提高文件修复的效率,保证文件修复的准确性。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘(SolidState Disk,SSD))等。
综上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种文件修复方法,应用于音视频文件中,所述音视频文件包括存储的音视频数据的码流信息,其特征在于,所述方法包括:
获取所述音视频文件的至少两份备份数据,所述至少两份备份数据的备份时间不同,所述至少两份备份数据包括各自备份的音视频数据的码流信息的大小和时域与空域信息;
根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,从所述至少两份备份数据中确定目标备份数据;
根据所述目标备份数据备份的音视频数据的码流信息的大小和时域与空域信息,对所述音视频文件进行修复;
其中,根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,所述从所述至少两份备份数据中确定目标备份数据包括:
基于所述各自备份的音视频数据的码流信息的大小和所述时域与空域信息的大小,对所述至少两份备份数据中的至少部分备份数据进行完整性检测;
根据所述完整性检测结果从所述至少两份备份数据中确定所述目标备份数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,从所述至少两份备份数据中确定目标备份数据,包括:
按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测所述至少两份备份数据是否完整;
将检测到的第一份完整的备份数据确定为所述目标备份数据。
3.根据权利要求1所述的方法,其特征在于,所述根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,从所述至少两份备份数据中确定目标备份数据,包括:
按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测出所述至少两份备份数据中顺序排在最后的备份数据之前的所有备份数据均不完整;
将所述排在最后的备份数据确定为所述目标备份数据。
4.根据权利要求2所述的方法,其特征在于,所述按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测所述至少两份备份数据是否完整,包括:
按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,确定所述至少两份备份数据中当前被检测的备份数据;
获取所述被检测的备份数据的大小、所述被检测的备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小、以及所述被检测的备份数据所备份的音视频数据的时域与空域信息的大小;
在所述被检测的备份数据的大小等于所备份的音视频数据的码流信息的大小所占用的存储空间的大小和所备份的音视频数据的时域与空域信息的大小之和时,确定所述被检测的备份数据完整。
5.根据权利要求3所述的方法,其特征在于,所述按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测出所述至少两份备份数据中顺序排在最后的备份数据之前的所有备份数据均不完整,包括:
获取所述排在最后的备份数据之前的所有备份数据中每个备份数据的大小、每个备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小、以及每个备份数据所备份的音视频数据的时域与空域信息的大小;
确定所述每个备份数据的大小不等于所备份的音视频数据的码流信息的大小所占用的存储空间的大小和所备份的音视频数据的时域与空域信息的大小之和。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述目标备份数据备份的音视频数据的码流信息的大小和时域与空域信息,对所述音视频文件进行修复,包括:
将所述目标备份数据备份的音视频数据的码流信息的大小作为所述音视频文件存储的音视频数据的码流信息的大小;
将所述目标备份数据备份的音视频数据的时域与空域信息添加到所述音视频文件中时域与空域信息的位置处,得到修复后的所述音视频文件。
7.根据权利要求6所述的方法,其特征在于,所述至少两份备份数据是按照预设时间间隔针对所述音视频文件进行备份得到的。
8.一种文件修复装置,应用于音视频文件中,所述音视频文件包括存储的音视频数据的码流信息,其特征在于,所述装置包括:
获取模块,用于获取所述音视频文件的至少两份备份数据,所述至少两份备份数据的备份时间不同,所述至少两份备份数据包括各自备份的音视频数据的码流信息的大小和时域与空域信息;
确定模块,用于根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,从所述至少两份备份数据中确定目标备份数据;
修复模块,用于根据所述目标备份数据备份的音视频数据的码流信息的大小和时域与空域信息,对所述音视频文件进行修复;
其中,根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,所述从所述至少两份备份数据中确定目标备份数据包括:
基于所述各自备份的音视频数据的码流信息的大小和所述时域与空域信息的大小,对所述至少两份备份数据中的至少部分备份数据进行完整性检测;
根据所述完整性检测结果从所述至少两份备份数据中确定所述目标备份数据。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
检测模块,用于按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测所述至少两份备份数据是否完整;
其中,所述确定模块,具体用于将所述检测模块检测到的第一份完整的备份数据确定为所述目标备份数据。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
检测模块,用于按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,根据所述各自备份的音视频数据的码流信息的大小和时域与空域信息的大小,依次检测出所述至少两份备份数据中顺序排在最后的备份数据之前的所有备份数据均不完整;
其中,所述确定模块,具体用于将所述排在最后的备份数据确定为所述目标备份数据。
11.根据权利要求9所述的装置,其特征在于,所述检测模块,具体包括:
确定单元,用于按照所述各自备份的音视频数据的码流信息的大小从大到小的顺序,确定所述至少两份备份数据中当前被检测的备份数据;
获取单元,用于获取所述被检测的备份数据的大小、所述被检测的备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小、以及所述被检测的备份数据所备份的音视频数据的时域与空域信息的大小;
所述确定单元,具体用于在所述被检测的备份数据的大小等于所备份的音视频数据的码流信息的大小所占用的存储空间的大小和所备份的音视频数据的时域与空域信息的大小之和时,确定所述被检测的备份数据完整。
12.根据权利要求10所述的装置,其特征在于,所述检测模块,具体包括:
获取单元,用于获取所述排在最后的备份数据之前的所有备份数据中每个备份数据的大小、每个备份数据所备份的音视频数据的码流信息的大小所占用的存储空间的大小、以及每个备份数据所备份的音视频数据的时域与空域信息的大小;
确定单元,用于确定所述每个备份数据的大小不等于所备份的音视频数据的码流信息的大小所占用的存储空间的大小和所备份的音视频数据的时域与空域信息的大小之和。
13.根据权利要求8-12任一项所述的装置,其特征在于,所述修复模块,具体包括:
更新单元,用于将所述目标备份数据备份的音视频数据的码流信息的大小作为所述音视频文件存储的音视频数据的码流信息的大小;
添加单元,用于将所述目标备份数据备份的音视频数据的时域与空域信息添加到所述音视频文件中时域与空域信息的位置处,得到修复后的所述音视频文件。
14.根据权利要求13所述的装置,其特征在于,所述至少两份备份数据是按照预设时间间隔针对所述音视频文件进行备份得到的。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1至7中任一项的文件修复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710770325.1A CN109426589B (zh) | 2017-08-30 | 2017-08-30 | 一种文件修复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710770325.1A CN109426589B (zh) | 2017-08-30 | 2017-08-30 | 一种文件修复方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109426589A CN109426589A (zh) | 2019-03-05 |
CN109426589B true CN109426589B (zh) | 2021-09-07 |
Family
ID=65504640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710770325.1A Active CN109426589B (zh) | 2017-08-30 | 2017-08-30 | 一种文件修复方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109426589B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114007112B (zh) * | 2021-11-30 | 2023-06-02 | 四川效率源信息安全技术股份有限公司 | 一种针对MP4视频文件中mdat box数据错误的修复方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932621A (zh) * | 2011-08-08 | 2013-02-13 | 杭州海康威视数字技术股份有限公司 | 一种存储数据的方法及装置 |
CN105959687A (zh) * | 2016-06-23 | 2016-09-21 | 北京天文馆 | 视频编码方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101604222B1 (ko) * | 2014-07-30 | 2016-03-17 | 주식회사 아이디스 | 영상 기록 장치 및 일시적 네트워크 장애 발생시 영상 기록 방법 |
-
2017
- 2017-08-30 CN CN201710770325.1A patent/CN109426589B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932621A (zh) * | 2011-08-08 | 2013-02-13 | 杭州海康威视数字技术股份有限公司 | 一种存储数据的方法及装置 |
CN105959687A (zh) * | 2016-06-23 | 2016-09-21 | 北京天文馆 | 视频编码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109426589A (zh) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11100956B2 (en) | MP4 file processing method and related device | |
CN108933798B (zh) | 数据存储方法、存储服务器及系统 | |
TWI486913B (zh) | 具網路與錄影功能之安全監控裝置及儲存裝置的偵錯及修復方法 | |
US20190087283A1 (en) | Aircraft aerial photography data backup method, apparatus and device, and computer readable storage medium | |
CN109783345B (zh) | 一种小程序性能测试方法和系统 | |
CN108874441B (zh) | 一种板卡配置方法、装置、服务器和存储介质 | |
US11659140B2 (en) | Parity-based redundant video storage among networked video cameras | |
US11930292B2 (en) | Device state monitoring method and apparatus | |
CN107368384A (zh) | 一种Linux服务器异常信息转储系统及方法 | |
CN114138549A (zh) | 基于kubernetes系统的数据备份和恢复方法 | |
CN111930703A (zh) | 日志文件自动抓取方法、装置和计算机设备 | |
US10318385B2 (en) | Service recovery using snapshots and interservice messages | |
CN110881224B (zh) | 一种网络长连接方法、装置、设备及存储介质 | |
CN109426589B (zh) | 一种文件修复方法及装置 | |
CN107368330A (zh) | 客户端补丁修复方法、装置和系统 | |
CN112905668A (zh) | 基于分布式数据流处理引擎的数据库导数方法、设备和介质 | |
GB2542370A (en) | A system for monitoring a plurality of distributed devices | |
WO2023125777A1 (zh) | 录像数据补录方法、云存储服务器、系统及存储介质 | |
US11036574B2 (en) | Recovery of first failure data capture logs | |
US8171345B2 (en) | Disablement of an exception generating operation of a client system | |
CN110336804B (zh) | 多媒体文件的恢复方法、装置及设备 | |
CN109525470B (zh) | 网络接入方法及网络接入系统 | |
CN105072372A (zh) | Dvr终端上的fat文件系统自动修复方法 | |
CN107229535B (zh) | 数据块的多副本存储方法、存储设备、数据读取方法 | |
CN110019233B (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 |