【技术实现步骤摘要】
m4a音频文件的修复方法、系统、设备及存储介质
[0001]本专利技术涉及音频文件修复
,尤其涉及一种m4a音频文件的修复方法、系统、设备及存储介质。
技术介绍
[0002]m4a文件采用mpeg
‑
4协议封装,主要的部分有两个,第一部分包含了音频帧的元数据,即音频帧的采样率、通道数、位深度和位置偏移等信息,第二部分为经过aac压缩算法压缩过的去头部的裸音频帧数据。当音频帧的元数据无法解析时,音频也就无法正常播放,但是还是能通过音频帧的余下部分信息进行判断是否为有效的音频帧来完成m4a文件的修复,现有技术缺乏一种能够利用音频帧的余下部分信息提取出有效的音频帧来完成m4a文件修复的技术方案。
[0003]因此,现有技术还有待于改进和发展。
技术实现思路
[0004]本专利技术的主要目的在于提供一种元数据解析异常时m4a音频文件的修复方法、系统、设备及存储介质。
[0005]本专利技术第一方面提供了一种m4a音频文件的修复方法,包括:
[0006]使用内存映射的方式 ...
【技术保护点】
【技术特征摘要】
1.一种m4a音频文件的修复方法,其特征在于,包括:使用内存映射的方式获得待修复的m4a音频文件数据;按照从所述m4a音频文件数据的头至尾的顺序,每次从所述m4a音频文件数据中截取2个字节数据用于后续合法性检测;判断所述2个字节数据中各个检测位点的数据是否为各自对应的特征数据;若所述2个字节数据中各个所述检测位点的数据为各自对应的所述特征数据,则将所述2个字节数据的首字节作为疑似音频帧入口;获取所述m4a音频文件数据中所有的所述疑似音频帧入口;对于任一所述疑似音频帧入口,以当前所述疑似音频帧入口作为每段疑似音频帧的起始,以下一所述疑似音频帧入口的前一字节作为每段疑似音频帧的结尾,获取得到所述m4a音频文件数据中所有的疑似音频帧数据;将所有的所述疑似音频帧数据先转换成pcm数据格式再转换成m4a数据格式,得到修复的m4a音频文件。2.根据权利要求1所述的m4a音频文件的修复方法,其特征在于,所述按照从所述m4a音频文件数据的头至尾的顺序,每次从所述m4a音频文件数据中截取2个字节数据用于后续合法性检测包括:构建一个长度为2个字节的滑动窗口;通过所述滑动窗口从所述m4a音频文件数据的头部首次截取得到2个字节数据进行合法性检测;在截取下一所述2个字节数据时,判断当前所述2个字节数据中是否存在所述疑似音频帧入口;若当前所述2个字节数据中存在所述疑似音频帧入口,则控制所述滑动窗口向后偏移2个字节以截取得到下一所述2个字节数据;若当前所述2个字节数据中不存在所述疑似音频帧入口,则控制所述滑动窗口向后偏移1个字节以截取得到下一所述2个字节数据。3.根据权利要求2所述的m4a音频文件的修复方法,其特征在于,所述判断所述2个字节数据中各个检测位点的数据是否为各自对应的特征数据包括:判断所述2个字节数据中的第1
‑
3bit位的数据是否为语法元素数据;判断所述2个字节数据中的第4
‑
7bit位的数据是否为tag标签数据;判断所述2个字节数据中的第8bit位的数据是否为窗口编号数据;判断所述2个字节数据中的第10和11bit位的数据是否为窗口序列数据;判断所述2个字节数据中的第12bit位的数据是否为窗口形状数据。4.根据权利要求3所述的m4a音频文件的修复方法,其特征在于,所述使用内存映射的方式获得待修复的m4a音频文件数据的同时还包括获取所述m4a音频文件数据的总字节数;所述每次从所述m4a音频文件数据中截取2个字节数据用于后续合法性检测的同时还包括记录下所述m4a音频文件数据中已检测的字节数。5.根据权利要求4所述的m4a音频文件的修复方法,其特征在于,所述判断所述2个字节数据中各个检测位点的数据是否为各自对应的特征数据之后还包括:若所述2个字节数据中各个检测位点的数据不为各自对应的特征数据,则进一步判断
所述2个字节数据中是否存在m4a音频文件的任何一个box标签;若所述2个字节数据中存在m4a音频文件的任何一个box标签,则判定所述m4a音频文件数据检测结束,终止从所述m4a音频文件数据中截取2个字节数据进行合法性...
【专利技术属性】
技术研发人员:龙逸翔,
申请(专利权)人:深圳软牛科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。