CN113660442A - 一种视频修复方法、装置、电子设备及可读介质 - Google Patents
一种视频修复方法、装置、电子设备及可读介质 Download PDFInfo
- Publication number
- CN113660442A CN113660442A CN202111023494.1A CN202111023494A CN113660442A CN 113660442 A CN113660442 A CN 113660442A CN 202111023494 A CN202111023494 A CN 202111023494A CN 113660442 A CN113660442 A CN 113660442A
- Authority
- CN
- China
- Prior art keywords
- video
- data frame
- audio data
- video file
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000008439 repair process Effects 0.000 claims description 22
- 238000005070 sampling Methods 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 14
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013500 data storage Methods 0.000 claims description 4
- 238000013075 data extraction Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 6
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/91—Television signal processing therefor
- H04N5/93—Regeneration of the television signal or of selected parts thereof
- H04N5/931—Regeneration of the television signal or of selected parts thereof for restoring the level of the reproduced signal
-
- 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
- H04N5/93—Regeneration of the television signal or of selected parts thereof
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明实施例提供了一种视频修复方法、装置、电子设备以及计算机可读存储介质,包括:获取损坏视频文件和用于修复损坏视频文件的参照视频文件,从参照视频文件中提取识别信息和第一编解码信息,识别信息用于表征视频文件的类型;从损坏视频文件中提取音频数据帧和视频数据帧;根据第一编解码信息对音频数据帧和视频数据帧进行编码;获取的编码后的音频数据帧和视频数据帧的第二编解码信息,将识别信息、编码后的音频数据帧和视频数据帧、第二编解码信息封装为新视频文件。应用本发明实施例,采用参照视频文件中的第一编解码信息,对损坏文件的音频数据帧和视频数据帧进行编码,封装为新视频文件,进而修复损坏的视频文件。
Description
技术领域
本发明涉及数据修复技术领域,特别是涉及一种视频修复方法、一种视频修复装置、一种电子设备以及一种计算机可读介质。
背景技术
MP4是一种常见的多媒体容器格式,基于MPEG-4Part 6或相关规范实现,目前,监控设备、行车记录仪、智能手机等录像设备都广泛应用MP4作为视频封装格式。
在录制MP4文件过程中,在遇到录像设备断电等非可控因素,造成正在录制的MP4文件没有正常停止,导致录制下来的MP4文件不能正常播放的问题。
发明内容
本发明实施例是提供一种视频修复方法、装置、电子设备以及计算机可读存储介质,以解决录像设备断电等非可控因素,造成正在录制的MP4文件没有正常停止,导致录制下来的MP4文件不能正常播放的问题。
本发明实施例公开了一种视频修复方法,包括:
获取损坏视频文件和用于修复所述损坏视频文件的参照视频文件;其中,所述参照视频文件和所述损坏视频文件为相同拍摄设备基于相同编码参数拍摄得到;
从所述参照视频文件中提取识别信息和第一编解码信息;其中,所述识别信息用于表征视频文件的类型;
从所述损坏视频文件中提取音频数据帧和视频数据帧;
根据所述第一编解码信息对所述音频数据帧和所述视频数据帧进行编码;
获取的编码后的所述音频数据帧和所述视频数据帧的第二编解码信息;
将所述识别信息、编码后的所述音频数据帧和所述视频数据帧、所述第二编解码信息封装为新视频文件。
可选地,所述根据所述第一编解码信息对所述音频数据帧和所述视频数据帧进行编码,包括:
根据所述第一编解码信息,将所述音频数据帧和所述视频数据帧分别储存于所述音频数据块和所述视频数据块中。
可选地,所述第一编解码信息至少包括视频帧率和音频采样率,所述音频数据帧和所述视频数据具有对应的字节大小,所述获取的编码后的所述音频数据帧和所述视频数据帧的第二编解码信息,包括:
获取所述音频数据帧和所述视频数据相对于所述新视频文件初始位置的偏移量、所述音频数据帧和所述视频数据帧分别与所述音频数据块和所述视频数据块的映射关系、所述音频数据块和所述视频数据块相对于所述新视频文件初始位置的偏移量、所述音频数据帧和所述视频数据帧中的关键帧;
根据所述音频数据帧的总帧数和所述音频采样率,或所述视频数据帧的总帧数和所述视频帧率,确定出所述新视频文件的时长信息;
根据所述第一编解码信息、所述音频数据帧和所述视频数据的字节大小和偏移量、所述音频数据帧和所述视频数据帧分别与所述音频数据块和所述视频数据块的映射关系、所述音频数据块和所述视频数据块的偏移量、所述音频数据帧和所述视频数据帧中的关键帧,所述新视频文件的时长信息,生成所述第二编解码信息。
可选地,所述根据所述音频数据帧的总帧数和所述音频采样率,或所述视频数据帧的总帧数和所述视频帧率,确定出所述新视频文件的时长信息,包括:
根据所述音频采样率确定出各单一所述音频数据帧的时长信息;
对各单一所述音频数据帧的时长信息进行求和,得到所述新视频文件的时长信息;或者,
根据所述视频帧率确定出各单一所述视频数据帧的时长信息;
对各单一所述视频数据帧的时长信息进行求和,得到所述新视频文件的时长信息。
可选地,所述第一编解码信息至少还包括视频宽、视频高、视频编码格式、音频编码格式中的一种。
可选地,在所述获取损坏视频文件和用于修复所述损坏视频文件的参照视频文件之前,还包括:
检测损坏视频文件中的音频数据帧和视频数据帧是否完整;
若所述音频数据帧和所述视频数据帧缺失,则确定所述损坏视频文件无法修复,结束当前视频修复流程。
本发明实施例公开了一种视频修复装置,所述装置包括:
文件获取模块,用于获取损坏视频文件和用于修复所述损坏视频文件的参照视频文件;其中,所述参照视频文件和所述损坏视频文件为相同拍摄设备基于相同编码参数拍摄得到;
信息提取模块,用于从所述参照视频文件中提取识别信息和第一编解码信息;其中,所述识别信息用于表征视频文件的类型;
数据提取模块,用于从所述损坏视频文件中提取音频数据帧和视频数据帧;
数据编码模块,用于根据所述第一编解码信息对所述音频数据帧和所述视频数据帧进行编码;
信息获取模块,用于获取的编码后的所述音频数据帧和所述视频数据帧的第二编解码信息;
信息封装模块,用于将所述识别信息、编码后的所述音频数据帧和所述视频数据帧、所述第二编解码信息封装为新视频文件。
可选地,所述数据编码模块,包括:
数据存储模块,用于根据所述第一编解码信息,将所述音频数据帧和所述视频数据帧分别储存于所述音频数据块和所述视频数据块中。
可选地,所述第一编解码信息至少包括视频帧率和音频采样率,所述音频数据帧和所述视频数据具有对应的字节大小,所述信息获取模块,包括:
信息获取子模块,用于获取所述音频数据帧和所述视频数据相对于所述新视频文件初始位置的偏移量、所述音频数据帧和所述视频数据帧分别与所述音频数据块和所述视频数据块的映射关系、所述音频数据块和所述视频数据块相对于所述新视频文件初始位置的偏移量、所述音频数据帧和所述视频数据帧中的关键帧;
信息确定子模块,用于根据所述音频数据帧的总帧数和所述音频采样率,或所述视频数据帧的总帧数和所述视频帧率,确定出所述新视频文件的时长信息;
信息生成子模块,用于根据所述第一编解码信息、所述音频数据帧和所述视频数据的字节大小和偏移量、所述音频数据帧和所述视频数据帧分别与所述音频数据块和所述视频数据块的映射关系、所述音频数据块和所述视频数据块的偏移量、所述音频数据帧和所述视频数据帧中的关键帧,所述新视频文件的时长信息,生成所述第二编解码信息。
可选地,所述信息确定子模块,包括:
第一信息确定单元,用于根据所述音频采样率确定出各单一所述音频数据帧的时长信息;
第一信息求和单元,用于对各单一所述音频数据帧的时长信息进行求和,得到所述新视频文件的时长信息;或者,
第二信息确定单元,用于根据所述视频帧率确定出各单一所述视频数据帧的时长信息;
第二信息求和单元,用于对各单一所述视频数据帧的时长信息进行求和,得到所述新视频文件的时长信息。
可选地,所述第一编解码信息至少还包括视频宽、视频高、视频编码格式、音频编码格式中的一种。
可选地,还包括:
视频检测模块用于,检测损坏视频文件中的音频数据帧和视频数据帧是否完整;
视频判断模块,用于若所述音频数据帧和所述视频数据帧缺失,则确定所述损坏视频文件无法修复,结束当前视频修复流程。
本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
本发明实施例还公开了一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
本发明实施例包括以下优点:获取损坏视频文件和用于修复损坏视频文件的参照视频文件,参照视频文件和损坏视频文件为相同拍摄设备基于相同编码参数拍摄得到,从参照视频文件中提取识别信息和第一编解码信息,识别信息用于表征视频文件的类型,从损坏视频文件中提取音频数据帧和视频数据帧;根据第一编解码信息对音频数据帧和视频数据帧进行编码,获取的编码后的音频数据帧和视频数据帧的第二编解码信息,将识别信息、编码后的音频数据帧和视频数据帧、第二编解码信息封装为新视频文件。应用本发明实施例,采用参照视频文件中的第一编解码信息,对损坏文件的音频数据帧和视频数据帧进行编码,将识别信息、编码后的音频数据帧和视频数据帧、第二编解码信息封装为新视频文件,进而修复损坏的视频文件,以解决录像设备断电等非可控因素,造成正在录制的MP4文件没有正常停止,导致录制下来的MP4文件不能正常播放的问题。同时,在编码过程中可以重新对齐音视频数据,从而在修复的过程中解决音视频同步的问题。
附图说明
图1是本发明实施例中提供的一种MP4的封装类型的结构示意图;
图2是本发明实施例中提供的一种视频修复方法的步骤流程图;
图3是本发明实施例中提供的另一种视频修复方法的步骤流程图;
图4是本发明实施例中提供的一种视频修复装置的结构框图;
图5是本发明实施例中提供的一种电子设备的框图;
图6是本发明实施例中提供的一种计算机可读介质的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
一个正常播放的MP4文件由文件头、音视频数据、文件尾组成,当录制一个MP4视频文件的时候,会在文件头写入明确的分帧标记,如果因为断电等不可控因素导致文件头没有写入正常的分帧标记,那么该视频是无法正常播放的。
为了解决上述问题,我们通过采用相同环境正常录制下来的一段MP4视频做为比对,提取正常文件的编解码信息,然后从损坏的视频文件中分别提取出全部视频和音频数据,对比正常视频文件的编解码信息,重新编码即可修复完成。
参照图1,示出了一种MP4的封装类型的结构示意图,如图所示,MP4文件中的所有数据都装在box中,也就是说MP4文件由若干个box组成,每个box有类型和长度,可以将box理解为一个数据对象块。box中可以包含另一个box,这种box称为container box。一个MP4文件首先会有且只有一个“ftyp”类型的box,作为MP4格式的标志并包含关于文件的一些信息;之后会有且只有一个“moov”类型的box(Movie Box),它是一种container box,子box包含了媒体的metadata信息;MP4文件的媒体数据包含在“mdat”类型的box(Midia Data Box)中,该类型的box也是container box,媒体数据的结构由metadata进行描述。
参照图2,示出了本发明实施例中提供的一种视频修复方法的步骤流程图,具体可以包括如下步骤:
步骤201:获取损坏视频文件和用于修复所述损坏视频文件的参照视频文件;其中,所述参照视频文件和所述损坏视频文件为相同拍摄设备基于相同编码参数拍摄得到。
其中,相同拍摄设备基于相同编码参数拍摄得到是指码率、帧率、分辨率等所有软硬件参数一样的环境拍摄得到的视频文件。
具体地,获取损坏视频文件和用于修复损坏视频文件的参照视频文件。
步骤202:从所述参照视频文件中提取识别信息和第一编解码信息;其中,所述识别信息用于表征视频文件的类型。
其中,识别信息为“ftyp”类型的box中用于表征视频文件的类型的信息,第一编解码信息为“moov”类型的box的媒体信息,本发明实施例主要根据参照视频文件正常的识别信息、和第一编解码信息对损坏视频文件进行修复。
步骤203:从所述损坏视频文件中提取音频数据帧和视频数据帧。
其中,音频数据帧和视频数据帧分别指Audio sample和Video sample,Sample,简单理解为采样,为存储媒体数据的单位;音频数据帧和视频数据帧分别存储于“mdat”类型的box(Midia Data Box)中的音频数据块(Audio chunk)和视频数据块(Audio chunk)中。音频数据块和视频数据块在“mdat”类型的box紧密存储,且音频数据块和视频数据块交替存放,且有一定的位置相关性;一个sample有多个Nalu(Network Abstract Layer,即网络抽象层),Nalu具有对应类型信息,根据Nalu可以区分出音频数据帧和视频数据帧,进一步区分出音频数据块和视频数据块。
具体地,对损坏视频文件进行帧搜索,从损坏视频文件中的“mdat”类型的box中分别提取音频数据帧和视频数据帧。
步骤204:根据所述第一编解码信息对所述音频数据帧和所述视频数据帧进行编码。
步骤205:获取的编码后的所述音频数据帧和所述视频数据帧的第二编解码信息。
具体地,根据参照视频文件的第一编解码信息对损坏视频的音频数据帧和视频数据帧进行编码,获取的编码后的音频数据帧和视频数据帧的第二编解码信息,
第二编码信息为重新封装的新视频文件中“moov”类型的box的媒体信息,例如可以包括总帧数、数据帧大小、数据帧偏移量、数据块偏移列表、数据帧与数据块映射表、关键帧列表等信息。
步骤206:将所述识别信息、编码后的所述音频数据帧和所述视频数据帧、所述第二编解码信息封装为新视频文件。
具体地,将识别信息封装在ftyp box中、编码后的音频数据帧和视频数据帧封装在moov box中、第二编解码信息封装在mdat box中,形成新视频文件。
本发明实施例中,采用参照视频文件中的第一编解码信息,对损坏文件的音频数据帧和视频数据帧进行编码,将识别信息、编码后的音频数据帧和视频数据帧、第二编解码信息封装为新视频文件,进而修复损坏的视频文件,以解决录像设备断电等非可控因素,造成正在录制的MP4文件没有正常停止,导致录制下来的MP4文件不能正常播放的问题。同时,在编码过程中可以重新对齐音视频数据,从而在修复的过程中解决音视频同步的问题。
参照图3,示出了本发明实施例中提供的另一种视频修复方法的步骤流程图,具体可以包括如下步骤:
步骤301:获取损坏视频文件和用于修复所述损坏视频文件的参照视频文件;其中,所述参照视频文件和所述损坏视频文件为相同拍摄设备基于相同编码参数拍摄得到。
在本发明一实施例中,在所述获取损坏视频文件和用于修复所述损坏视频文件的参照视频文件之前,还包括:检测损坏视频文件中的音频数据帧和视频数据帧是否完整,若所述音频数据帧和所述视频数据帧缺失,则确定所述损坏视频文件无法修复,结束当前视频修复流程。
具体地,在对损坏视频文件进行修复之前,先要检测损坏视频文件中的音频数据帧和视频数据帧是否完整,若音频数据帧和视频数据帧完整,则可以修复,若音频数据帧和视频数据帧缺失,则确定损坏视频文件无法修复,结束当前视频修复流程。
本发明实施例中,在对视频进行修复过程中,通过判断损坏视频文件是否能修复,在不能修复的情况下,结束对视频进行修复,有效地提高了资源利用率,减少用户等待视频修复的时间。
在本发明一示例中,通过检测视频文件的宽高、时长、码率、编码格式、帧列表、关键帧列表,以及所对应的时戳和在文件中的位置等信息是否完整,判断视频文件是否损坏。
步骤302:从所述参照视频文件中提取识别信息和第一编解码信息;其中,所述识别信息用于表征视频文件的类型。
步骤303:从所述损坏视频文件中提取音频数据帧和视频数据帧。
步骤304:根据所述第一编解码信息,将所述音频数据帧和所述视频数据帧分别储存于所述音频数据块和所述视频数据块中。
具体地,先查询音频数据帧和视频数据帧相对于损坏视频文件的起始地址的偏移量,根据偏移量分别对音频数据帧和视频数据帧进行排序(由小到大),根据参照视频文件的第一编解码信息对排序的音频数据帧和视频数据帧进行编码,将音频数据帧和视频数据帧分别储存于音频数据块和视频数据块中。
步骤305:获取的编码后的所述音频数据帧和所述视频数据帧的第二编解码信息。
在本发明一实施例中,所述第一编解码信息至少包括视频帧率和音频采样率,所述音频数据帧和所述视频数据具有对应的字节大小,所述步骤306包括:获取所述音频数据帧和所述视频数据相对于所述新视频文件初始位置的偏移量、所述音频数据帧和所述视频数据帧分别与所述音频数据块和所述视频数据块的映射关系、所述音频数据块和所述视频数据块相对于所述新视频文件初始位置的偏移量、所述音频数据帧和所述视频数据帧中的关键帧;
根据所述音频数据帧的总帧数和所述音频采样率,或所述视频数据帧的总帧数和所述视频帧率,确定出所述新视频文件的时长信息;
根据所述第一编解码信息、所述音频数据帧和所述视频数据的字节大小和偏移量、所述音频数据帧和所述视频数据帧分别与所述音频数据块和所述视频数据块的映射关系、所述音频数据块和所述视频数据块的偏移量、所述音频数据帧和所述视频数据帧中的关键帧,所述新视频文件的时长信息,生成所述第二编解码信息。
其中,第一编解码信息至少还包括视频宽、视频高、频帧率、视频编码格式、音频编码格式和音频采样率中的一种。
具体地,在将音频数据帧和视频数据帧分别储存于音频数据块和视频数据块中后,将第一编解码信息中的视频宽、视频高、频帧率、视频编码格式、音频编码格式和音频采样率等信息录入第二编解码信息(moov)中;将音频数据帧和视频数据的字节大小系录入第二编解码信息(moov)的stsz box(sample大小)中;将音频数据帧和视频数据帧分别与音频数据块和视频数据块的映射关系录入第二编解码信息(moov)的stsc box(sample和chunk的映射关系)中;将音频数据块和视频数据块的偏移量录入第二编解码信息(moov)的stcobox(chunk偏移列表)中;将音频数据帧和视频数据帧中的关键帧录入第二编解码信息(moov)的stss box(关键帧列表),关键帧为随机参考帧。
在本发明一实施例中,还包括:所述根据所述音频数据帧的总帧数和所述音频采样率,或所述视频数据帧的总帧数和所述视频帧率,确定出所述新视频文件的时长信息,包括:根据所述音频采样率确定出各单一所述音频数据帧的时长信息;对各单一所述音频数据帧的时长信息进行求和,得到所述新视频文件的时长信息;或者,根据所述视频帧率确定出各单一所述视频数据帧的时长信息;对各单一所述视频数据帧的时长信息进行求和,得到所述新视频文件的时长信息。
具体地,音频数据帧和视频数据帧指audio sample和video sample,一个视频数据帧包括一个或一组连续视频帧,一个音频数据帧为一段连续的压缩音频,因此,不同的sample的持续时长不同,因此需要根据音频采样率确定出各单一音频数据帧的时长信息,以及根据视频帧率确定出各单一视频数据帧的时长信息,然后根据将各不同音频数据帧或视频数据帧的时长进行求和,得到新视频文件的时长信息。
进一步,还可以根据各不同音频数据帧或视频数据帧的时长,确定出第二编解码信息的stts box中Sample to Timestamp Table(时戳-sample序号的映射表)。
步骤306:将所述识别信息、编码后的所述音频数据帧和所述视频数据帧、所述第二编解码信息封装为新视频文件。
本发明实施例中,采用参照视频文件中的第一编解码信息,对损坏文件的音频数据帧和视频数据帧进行编码,将识别信息、编码后的音频数据帧和视频数据帧、第二编解码信息封装为新视频文件,进而修复损坏的视频文件,以解决录像设备断电等非可控因素,造成正在录制的MP4文件没有正常停止,导致录制下来的MP4文件不能正常播放的问题。同时,在编码过程中可以重新对齐音视频数据,从而在修复的过程中解决音视频同步的问题。
在对视频进行修复过程中,通过判断损坏视频文件是否能修复,在不能修复的情况下,结束对视频进行修复,有效地提高了资源利用率,减少用户等待视频修复的时间。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明实施例中提供的一种视频修复装置的结构框图,具体可以包括如下模块:
文件获取模块401,用于获取损坏视频文件和用于修复所述损坏视频文件的参照视频文件;其中,所述参照视频文件和所述损坏视频文件为相同拍摄设备基于相同编码参数拍摄得到;
信息提取模块402,用于从所述参照视频文件中提取识别信息和第一编解码信息;其中,所述识别信息用于表征视频文件的类型;
数据提取模块403,用于从所述损坏视频文件中提取音频数据帧和视频数据帧;
数据编码模块404,用于根据所述第一编解码信息对所述音频数据帧和所述视频数据帧进行编码;
信息获取模块405,用于获取的编码后的所述音频数据帧和所述视频数据帧的第二编解码信息;
信息封装模块406,用于将所述识别信息、编码后的所述音频数据帧和所述视频数据帧、所述第二编解码信息封装为新视频文件。
在本发明一实施例中,所述数据编码模块404,包括:
数据存储模块,用于根据所述第一编解码信息,将所述音频数据帧和所述视频数据帧分别储存于所述音频数据块和所述视频数据块中。
可选地,所述第一编解码信息至少包括视频帧率和音频采样率,所述音频数据帧和所述视频数据具有对应的字节大小,所述信息获取模块405,包括:
信息获取子模块,用于获取所述音频数据帧和所述视频数据相对于所述新视频文件初始位置的偏移量、所述音频数据帧和所述视频数据帧分别与所述音频数据块和所述视频数据块的映射关系、所述音频数据块和所述视频数据块相对于所述新视频文件初始位置的偏移量、所述音频数据帧和所述视频数据帧中的关键帧;
信息确定子模块,用于根据所述音频数据帧的总帧数和所述音频采样率,或所述视频数据帧的总帧数和所述视频帧率,确定出所述新视频文件的时长信息;
信息生成子模块,用于根据所述第一编解码信息、所述音频数据帧和所述视频数据的字节大小和偏移量、所述音频数据帧和所述视频数据帧分别与所述音频数据块和所述视频数据块的映射关系、所述音频数据块和所述视频数据块的偏移量、所述音频数据帧和所述视频数据帧中的关键帧,所述新视频文件的时长信息,生成所述第二编解码信息。
在本发明一实施例中,所述信息确定子模块,包括:
第一信息确定单元,用于根据所述音频采样率确定出各单一所述音频数据帧的时长信息;
第一信息求和单元,用于对各单一所述音频数据帧的时长信息进行求和,得到所述新视频文件的时长信息;或者,
第二信息确定单元,用于根据所述视频帧率确定出各单一所述视频数据帧的时长信息;
第二信息求和单元,用于对各单一所述视频数据帧的时长信息进行求和,得到所述新视频文件的时长信息。
在本发明一实施例中,所述第一编解码信息至少还包括视频宽、视频高、视频编码格式、音频编码格式中的一种。
在本发明一实施例中,还包括:
视频检测模块用于,检测损坏视频文件中的音频数据帧和视频数据帧是否完整,若所述音频数据帧和所述视频数据帧缺失,则确定所述损坏视频文件无法修复,结束当前视频修复流程。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
另外,本发明实施例还提供一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现如上述实施例中所述的视频修复方法。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
如图6所示,在本发明提供的又一实施例中,还提供了一种计算机可读存储介质601,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中所述的视频修复方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中所述的视频修复方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种视频修复方法,其特征在于,包括:
获取损坏视频文件和用于修复所述损坏视频文件的参照视频文件;其中,所述参照视频文件和所述损坏视频文件为相同拍摄设备基于相同编码参数拍摄得到;
从所述参照视频文件中提取识别信息和第一编解码信息;其中,所述识别信息用于表征视频文件的类型;
从所述损坏视频文件中提取音频数据帧和视频数据帧;
根据所述第一编解码信息对所述音频数据帧和所述视频数据帧进行编码;
获取的编码后的所述音频数据帧和所述视频数据帧的第二编解码信息;
将所述识别信息、编码后的所述音频数据帧和所述视频数据帧、所述第二编解码信息封装为新视频文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一编解码信息对所述音频数据帧和所述视频数据帧进行编码,包括:
根据所述第一编解码信息,将所述音频数据帧和所述视频数据帧分别储存于所述音频数据块和所述视频数据块中。
3.根据权利要求2所述的方法,其特征在于,所述第一编解码信息至少包括视频帧率和音频采样率,所述音频数据帧和所述视频数据具有对应的字节大小,所述获取的编码后的所述音频数据帧和所述视频数据帧的第二编解码信息,包括:
获取所述音频数据帧和所述视频数据相对于所述新视频文件初始位置的偏移量、所述音频数据帧和所述视频数据帧分别与所述音频数据块和所述视频数据块的映射关系、所述音频数据块和所述视频数据块相对于所述新视频文件初始位置的偏移量、所述音频数据帧和所述视频数据帧中的关键帧;
根据所述音频数据帧的总帧数和所述音频采样率,或所述视频数据帧的总帧数和所述视频帧率,确定出所述新视频文件的时长信息;
根据所述第一编解码信息、所述音频数据帧和所述视频数据的字节大小和偏移量、所述音频数据帧和所述视频数据帧分别与所述音频数据块和所述视频数据块的映射关系、所述音频数据块和所述视频数据块的偏移量、所述音频数据帧和所述视频数据帧中的关键帧,所述新视频文件的时长信息,生成所述第二编解码信息。
4.根据权利要求3所述的方法,其特征在于,所述根据所述音频数据帧的总帧数和所述音频采样率,或所述视频数据帧的总帧数和所述视频帧率,确定出所述新视频文件的时长信息,包括:
根据所述音频采样率确定出各单一所述音频数据帧的时长信息;
对各单一所述音频数据帧的时长信息进行求和,得到所述新视频文件的时长信息;或者,
根据所述视频帧率确定出各单一所述视频数据帧的时长信息;
对各单一所述视频数据帧的时长信息进行求和,得到所述新视频文件的时长信息。
5.根据权利要求1所述的方法,其特征在于,所述第一编解码信息至少还包括视频宽、视频高、视频编码格式、音频编码格式中的一种。
6.根据权利要求1所述的方法,其特征在于,在所述获取损坏视频文件和用于修复所述损坏视频文件的参照视频文件之前,还包括:
检测损坏视频文件中的音频数据帧和视频数据帧是否完整;
若所述音频数据帧和所述视频数据帧缺失,则确定所述损坏视频文件无法修复,结束当前视频修复流程。
7.一种视频修复装置,其特征在于,所述装置包括:
文件获取模块,用于获取损坏视频文件和用于修复所述损坏视频文件的参照视频文件;其中,所述参照视频文件和所述损坏视频文件为相同拍摄设备基于相同编码参数拍摄得到;
信息提取模块,用于从所述参照视频文件中提取识别信息和第一编解码信息;其中,所述识别信息用于表征视频文件的类型;
数据提取模块,用于从所述损坏视频文件中提取音频数据帧和视频数据帧;
数据编码模块,用于根据所述第一编解码信息对所述音频数据帧和所述视频数据帧进行编码;
信息获取模块,用于获取的编码后的所述音频数据帧和所述视频数据帧的第二编解码信息;
信息封装模块,用于将所述识别信息、编码后的所述音频数据帧和所述视频数据帧、所述第二编解码信息封装为新视频文件。
8.根据权利要求7所述的装置,其特征在于,所述数据编码模块,包括:
数据存储模块,用于根据所述第一编解码信息,将所述音频数据帧和所述视频数据帧分别储存于所述音频数据块和所述视频数据块中。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如权利要求1-6任一项所述的方法。
10.一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111023494.1A CN113660442B (zh) | 2021-08-31 | 2021-08-31 | 一种视频修复方法、装置、电子设备及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111023494.1A CN113660442B (zh) | 2021-08-31 | 2021-08-31 | 一种视频修复方法、装置、电子设备及可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113660442A true CN113660442A (zh) | 2021-11-16 |
CN113660442B CN113660442B (zh) | 2024-03-19 |
Family
ID=78482699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111023494.1A Active CN113660442B (zh) | 2021-08-31 | 2021-08-31 | 一种视频修复方法、装置、电子设备及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113660442B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114446330A (zh) * | 2021-12-30 | 2022-05-06 | 厦门市美亚柏科信息股份有限公司 | 一种修复mp4文件的方法、装置以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130084345A (ko) * | 2012-01-17 | 2013-07-25 | (주)피타소프트 | Mp4 파일 구성 장치 및 복구 장치, mp4 파일 구성 방법 및 복구 방법 |
CN103404146A (zh) * | 2013-03-11 | 2013-11-20 | 华为技术有限公司 | 视频文件修复方法及装置 |
CN108093299A (zh) * | 2017-12-22 | 2018-05-29 | 厦门市美亚柏科信息股份有限公司 | Mp4损坏文件的修复方法及存储介质 |
KR20200041650A (ko) * | 2018-10-12 | 2020-04-22 | 펜타시큐리티시스템 주식회사 | 참조 동영상의 메타 정보에 기반한 훼손 mp4 동영상 파일의 복구 방법 및 장치 |
CN111063376A (zh) * | 2019-12-13 | 2020-04-24 | 厦门市美亚柏科信息股份有限公司 | 一种mp4修复中音视频同步的方法、终端设备和存储介质 |
CN111813965A (zh) * | 2020-05-14 | 2020-10-23 | 北京嘀嘀无限科技发展有限公司 | 多媒体文件的加密方法、解密方法、存储介质和电子设备 |
-
2021
- 2021-08-31 CN CN202111023494.1A patent/CN113660442B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130084345A (ko) * | 2012-01-17 | 2013-07-25 | (주)피타소프트 | Mp4 파일 구성 장치 및 복구 장치, mp4 파일 구성 방법 및 복구 방법 |
CN103404146A (zh) * | 2013-03-11 | 2013-11-20 | 华为技术有限公司 | 视频文件修复方法及装置 |
CN108093299A (zh) * | 2017-12-22 | 2018-05-29 | 厦门市美亚柏科信息股份有限公司 | Mp4损坏文件的修复方法及存储介质 |
KR20200041650A (ko) * | 2018-10-12 | 2020-04-22 | 펜타시큐리티시스템 주식회사 | 참조 동영상의 메타 정보에 기반한 훼손 mp4 동영상 파일의 복구 방법 및 장치 |
CN111063376A (zh) * | 2019-12-13 | 2020-04-24 | 厦门市美亚柏科信息股份有限公司 | 一种mp4修复中音视频同步的方法、终端设备和存储介质 |
CN111813965A (zh) * | 2020-05-14 | 2020-10-23 | 北京嘀嘀无限科技发展有限公司 | 多媒体文件的加密方法、解密方法、存储介质和电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114446330A (zh) * | 2021-12-30 | 2022-05-06 | 厦门市美亚柏科信息股份有限公司 | 一种修复mp4文件的方法、装置以及存储介质 |
CN114446330B (zh) * | 2021-12-30 | 2024-04-16 | 厦门市美亚柏科信息股份有限公司 | 一种修复mp4文件的方法、装置以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113660442B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108093299B (zh) | Mp4损坏文件的修复方法及存储介质 | |
CN111063376B (zh) | 一种mp4修复中音视频同步的方法、终端设备和存储介质 | |
US8010566B2 (en) | Extended multimedia file structure and multimedia file producting method and multimedia file executing method | |
Gloe et al. | Forensic analysis of video file formats | |
US9792390B2 (en) | Metadata/content re-association system and method | |
Su et al. | Detection of double-compression in MPEG-2 videos | |
CN108322808B (zh) | 一种视频录像处理方法及装置、计算机装置、存储介质 | |
CN113660442B (zh) | 一种视频修复方法、装置、电子设备及可读介质 | |
CN104602105A (zh) | 视频文件的播放方法及用户设备 | |
CN110784741A (zh) | 媒体数据的时移响应方法及装置 | |
KR102104409B1 (ko) | 영상저장시스템 및 오픈플랫폼기반 영상저장시스템에서 프로토콜 변환 방법 | |
CN104093038B (zh) | 用于实时流媒体识别服务的测试和监控方法及装置 | |
KR20200041650A (ko) | 참조 동영상의 메타 정보에 기반한 훼손 mp4 동영상 파일의 복구 방법 및 장치 | |
CN110944231B (zh) | 视频播放器的监听方法及装置 | |
CN110851301B (zh) | 一种用于mp4文件的恢复方法和*** | |
Park et al. | Data fragment forensics for embedded DVR systems | |
CN114257840B (zh) | 一种用于Matroska格式视频的修复方法和*** | |
CN113569719B (zh) | 视频侵权判定方法、装置、存储介质及电子设备 | |
US11599570B2 (en) | Device and method to render multimedia data stream tamper-proof based on block chain recording | |
CN112866745B (zh) | 流媒体视频数据处理方法、装置、计算机设备和存储介质 | |
CN112929686A (zh) | 线上实时回放录制视频的方法及装置 | |
CN114501140A (zh) | 一种视频字符叠加的处理方法、***及存储介质 | |
CN109426589B (zh) | 一种文件修复方法及装置 | |
CN106961626A (zh) | 一种视频元信息自动补全整理的方法和装置 | |
US20080008443A1 (en) | Data management system and method |
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 |