[发明专利]一种用于Matroska格式视频的修复方法和系统在审
申请号: | 202111423300.7 | 申请日: | 2021-11-26 |
公开(公告)号: | CN114257840A | 公开(公告)日: | 2022-03-29 |
发明(设计)人: | 梁德荣;沈长达;黄志炜 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
主分类号: | H04N21/2343 | 分类号: | H04N21/2343;H04N21/262 |
代理公司: | 厦门福贝知识产权代理事务所(普通合伙) 35235 | 代理人: | 郭涵炜 |
地址: | 361000 福建省厦门市思明*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 matroska 格式 视频 修复 方法 系统 | ||
公开了一种用于Matroska格式视频的修复方法和系统,包括获取与损坏文件具有相同音视频参数的参考文件,从参考文件起始位置解析EBML Head获取EBML版本和文档类型信息;从损坏文件获取块集合,块集合包括存在连续有效的简单块和有效块组;遍历块集合,若通过参考文件判断块集合中的块的目标编号不为视频轨道,则提取视频帧存入有效帧集合;若为视频轨道,基于参考文件将有效帧存入有效帧集合;基于参考文件的视频帧率,设置有效帧集合中每一个视频帧的时间戳,依次写入音视频帧数据。本发明支持Matroska封装的视频格式,只需损坏文件中残留部分视频数据帧即可修复成功。
技术领域
本发明涉及数据处理的技术领域,尤其是一种用于Matroska格式视频的修复方法和系统。
背景技术
Matroska是一种开放标准的自由容器和多媒体文件封装格式,能够在一个文件中容纳无限个视频、音频、图片或者字幕轨道。容乃不同的内容具有不同的文件扩展名。包括mkv(包含视频/音频),mka(纯音频),mka(纯字幕),WebM(视频编码为vp8或vp9,音频为Vorbis编码)其中mkv和WebM是最常见的应用。特别是自从谷歌开源了vp8,vp9编码格式后WebM得到广泛应用,各大手机厂商,浏览器,Adobe的Flash player,YouTube等都支持WebM格式播放。日常使用中突然断电、网络传输过程中突然断网、勒索病毒加密文件部分数据、文件删除后继续使用导致文件部分覆盖、磁盘故障等都可能导致文件的损坏。
mkv/WebM是一种常见视频格式,目前市面上一些厂家宣称支持mkv格式修复软件,经过实际操作验证修复效果极差,或者基本无法修复。
发明内容
为了解决现有技术中mkv格式修复效果极差,或者基本无法修复技术问题,本发明提出了一种用于Matroska格式视频的修复方法和系统,以解决上述技术问题。
根据本发明的一个方面,提出了一种用于Matroska格式视频的修复方法,该方法包括:
S1:获取与损坏文件具有相同音视频参数的参考文件,从参考文件起始位置解析EBML Head获取EBML版本和文档类型信息;
S2:从损坏文件获取块集合,块集合包括存在连续有效的简单块和有效块组;
S3:遍历块集合,若通过参考文件判断块集合中的块的目标编号不为视频轨道,则提取视频帧存入有效帧集合;若为视频轨道,基于参考文件将有效帧存入有效帧集合;以及
S4:基于参考文件的视频帧率,设置有效帧集合中每一个视频帧的时间戳,依次写入音视频帧数据。
在一些具体的实施例中,步骤S1中还包括解析参考文件的Segment及其所有子元素,获取track数、视频编码格式、视频图像分辨率。
在一些具体的实施例中,步骤S2中简单块的获取具体包括:
S21:从损坏文件的偏移地址搜索简单块ID,若简单块ID有效,从偏移地址读取长度;
S22:判断长度与文件大小的关系,若长度大于文件大小,则简单块ID无效,若否,解析简单块的track号;
S23:判断track号与参考文件的track数的关系,若track号大于参考文件的track数,则简单块无效,若否,读取flag,解析lacing标志;
S24:若lancing≠0,则简单块无效,若否,且存在连续3个以上简单块且连续的简单块为有效块,将连续有效的简单块放入块集合中。
在一些具体的实施例中,步骤S2中有效块组的获取具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111423300.7/2.html,转载请声明来源钻瓜专利网。