【技术实现步骤摘要】
一种用于Matroska格式视频的修复方法和系统
[0001]本专利技术涉及数据处理的
,尤其是一种用于Matroska格式视频的修复方法和系统。
技术介绍
[0002]Matroska是一种开放标准的自由容器和多媒体文件封装格式,能够在一个文件中容纳无限个视频、音频、图片或者字幕轨道。容乃不同的内容具有不同的文件扩展名。包括mkv(包含视频/音频),mka(纯音频),mka(纯字幕),WebM(视频编码为vp8或vp9,音频为Vorbis编码)其中mkv和WebM是最常见的应用。特别是自从谷歌开源了vp8,vp9编码格式后WebM得到广泛应用,各大手机厂商,浏览器,Adobe的Flash player,YouTube等都支持WebM格式播放。日常使用中突然断电、网络传输过程中突然断网、勒索病毒加密文件部分数据、文件删除后继续使用导致文件部分覆盖、磁盘故障等都可能导致文件的损坏。
[0003]mkv/WebM是一种常见视频格式,目前市面上一些厂家宣称支持mkv格式修复软件,经过实际操作验证修复效果极差,或者基本无法修复。
技术实现思路
[0004]为了解决现有技术中mkv格式修复效果极差,或者基本无法修复技术问题,本专利技术提出了一种用于Matroska格式视频的修复方法和系统,以解决上述技术问题。
[0005]根据本专利技术的一个方面,提出了一种用于Matroska格式视频的修复方法,该方法包括:
[0006]S1:获取与损坏文件具有相同音视频参数的参考文件,从参考文件 ...
【技术保护点】
【技术特征摘要】
1.一种用于Matroska格式视频的修复方法,其特征在于,包括:S1:获取与损坏文件具有相同音视频参数的参考文件,从所述参考文件起始位置解析EBML Head获取EBML版本和文档类型信息;S2:从所述损坏文件获取块集合,所述块集合包括存在连续有效的简单块和有效块组;S3:遍历所述块集合,若通过所述参考文件判断所述块集合中的块的目标编号不为视频轨道,则提取视频帧存入有效帧集合;若为视频轨道,基于所述参考文件将有效帧存入有效帧集合;以及S4:基于所述参考文件的视频帧率,设置所述有效帧集合中每一个所述视频帧的时间戳,依次写入音视频帧数据。2.根据权利要求1所述的用于Matroska格式视频的修复方法,其特征在于,所述步骤S1中还包括解析所述参考文件的Segment及其所有子元素,获取track数、视频编码格式、视频图像分辨率。3.根据权利要求1所述的用于Matroska格式视频的修复方法,其特征在于,所述步骤S2中简单块的获取具体包括:S21:从损坏文件的偏移地址搜索简单块ID,若所述简单块ID有效,从所述偏移地址读取长度;S22:判断所述长度与文件大小的关系,若所述长度大于文件大小,则所述简单块ID无效,若否,解析所述简单块的track号;S23:判断所述track号与所述参考文件的track数的关系,若所述track号大于所述参考文件的track数,则所述简单块无效,若否,读取flag,解析lacing标志;S24:若lancing≠0,则所述简单块无效,若否,且存在连续3个以上简单块且连续的简单块为有效块,将所述连续有效的简单块放入块集合中。4.根据权利要求3所述的用于Matroska格式视频的修复方法,其特征在于,所述步骤S2中有效块组的获取具体包括:从损坏文件的偏移地址搜索块组ID,若所述块组ID有效,从所述偏移地址读取长度,若所述长度大于文件大小,则所述块组ID无效,若否,依次解析所述块组的所有子元素,若所述所有子元素的大小之和与所述块组的大小相等,且获取到ID为0xA1的块的子元素则所述块组有效,将有效块组放入所述块集合。5.根据权利要求4所述的用于Matroska格式视频的修复方法,其特征在于,所述简单块ID和所述块组ID的无效条件为ID的后一个字节为0。6.根据权利要求1所述的用于Matroska格式视频的修复方法,其特征在于,所述步骤S3中基于所述参考文件将有效帧存入有效帧集合具体包括:读取视频帧,对于已知视频编码格式的视频帧,根据所述参考文件的视频编码格式,与视频图像的分辨率判断所述视频帧是否有效:若所述参考文件的编码格式是VP8,且当前块标志isKey为1,若视频帧的起始码为0x9d012a且读取该帧的分辨率等于所述参考文件的分辨率,则该帧存入有效帧集合;如果参考文件编码格式是VP9,且当前块标志isKey为1,若视频帧的起始码为0x498342且读取该帧的分辨率等于所述参考文件的分辨率,则该帧存入有效帧集合;如果参考文件编码格式是H264/H265,且读取数据帧长度和块中的帧长一致,则该帧存入有效帧集合;如果参考文件编码格式是mpeg4,若视频帧的起始码为0x000001b0或
0x000001b3或0x000001b6,则该帧存入有效帧集合。7.一种计算机可读存储介质,其上存储有一或多个计算机程序,其特征在于,该一或多个计算机程序被计算机处理器执行时实施权利要求...
【专利技术属性】
技术研发人员:梁德荣,沈长达,黄志炜,
申请(专利权)人:厦门市美亚柏科信息股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。