Hello,大家好,我是小程子。又到了分享程序使用经验的环节了,正所谓"公欲善其事,必先利其器"!我们对程序多一些了解有时候就能完成看似不可能的恢复任务,今天分享下当遇到"非标"mp4文件应该如何处理。
"非标"MP4文件:
我们知道MP4是一种视频"封装打包"的格式文件,既然是格式文件,那么对开发人员必然有一套"规范要求"。当然大多数开发人员都是按照规范走的,这一类文件解码、编辑都没有一点问题。其占比较高,我称之为"标准"MP4文件,它们结构完好,在恢复或者修复时没有任何问题。
对应的就有了"非标"MP4文件,有的小伙伴可能会有疑问,如果是不符合规范,那播放器不就无法解码吗?答案可能比想象中的更复杂,因为FFMPEG过于强大,是的,你不能说问题是FFMEPG导致的,因为它强大的"兼容"能力让"非标"MP4文件的解码变成了现实!
既然FFMPEG如此强大,一些开发人员动了"偷懒"的心思,怎么省事儿怎么来,不更新时间戳那是"基操",更有甚者结构体长度异常、块大小长度为0......,反正解码的时候FFMPEG都可以搞定。所谓的"非标"MP4文件,它们执行的是"最低标准"。一般出现在一些极小的品牌或者一些大品牌的早期产品上。虽然占比不高,但是确实可以遇到。
报错信息:
可以看到在高级版解析样本时会报如图1的错误,这个错误导致程序无法扫描,一般报这种错误的大多数都是结构体存在异常的"非标准"MP4文件。

图1:报错信息
解决方法:
那么如何解决"非标"MP4文件的报错问题呢?下边的操作方法适用于CHS零壹视频恢复程序标准版、专业版、高级版,我们在扫描时点击"高级设置",然后勾选以下两项(图3)。
- 样本解析-忽略SAMPLE长度为0的错误(注:针对样本解析)
- MOOV解析-忽略SAMPLE长度为0的错误(注:针对重组碎片)
设置好后,点击扫描就可以了。

图2:切换到高级设置

图3:勾选这两项
关注CHS数据实验室,了解更多恢复知识!