“非标”MP4文件的恢复方法

Hello,大家好,我是小程子。又到了分享程序使用经验的环节了,正所谓"公欲善其事,必先利其器"!我们对程序多一些了解有时候就能完成看似不可能的恢复任务,今天分享下当遇到"非标"mp4文件应该如何处理。

"非标"MP4文件:

我们知道MP4是一种视频"封装打包"的格式文件,既然是格式文件,那么对开发人员必然有一套"规范要求"。当然大多数开发人员都是按照规范走的,这一类文件解码、编辑都没有一点问题。其占比较高,我称之为"标准"MP4文件,它们结构完好,在恢复或者修复时没有任何问题。

对应的就有了"非标"MP4文件,有的小伙伴可能会有疑问,如果是不符合规范,那播放器不就无法解码吗?答案可能比想象中的更复杂,因为FFMPEG过于强大,是的,你不能说问题是FFMEPG导致的,因为它强大的"兼容"能力让"非标"MP4文件的解码变成了现实!

既然FFMPEG如此强大,一些开发人员动了"偷懒"的心思,怎么省事儿怎么来,不更新时间戳那是"基操",更有甚者结构体长度异常、块大小长度为0......,反正解码的时候FFMPEG都可以搞定。所谓的"非标"MP4文件,它们执行的是"最低标准"。一般出现在一些极小的品牌或者一些大品牌的早期产品上。虽然占比不高,但是确实可以遇到。

报错信息:

可以看到在高级版解析样本时会报如图1的错误,这个错误导致程序无法扫描,一般报这种错误的大多数都是结构体存在异常的"非标准"MP4文件。

图1:报错信息

解决方法:

那么如何解决"非标"MP4文件的报错问题呢?下边的操作方法适用于CHS零壹视频恢复程序标准版、专业版、高级版,我们在扫描时点击"高级设置",然后勾选以下两项(图3)。

  1. 样本解析-忽略SAMPLE长度为0的错误(注:针对样本解析)
  2. MOOV解析-忽略SAMPLE长度为0的错误(注:针对重组碎片)

设置好后,点击扫描就可以了。

图2:切换到高级设置

图3:勾选这两项

关注CHS数据实验室,了解更多恢复知识!

点击下载:CHS零壹视频恢复程序高级版

相关推荐
活捉一个坏小孩5 天前
Nvidia FFmpeg安装说明
ffmpeg
WF_YL5 天前
如何删除 Oracle 过期 key / 数据,删除目的的key
ffmpeg
北亚数据恢复6 天前
【服务器数据恢复】EVA存储故障处理与数据恢复核心技术手册
数据恢复·服务器数据恢复·北亚数据恢复·存储数据恢复
浩瀚之水_csdn6 天前
avcodec_find_decoder函数详解
ffmpeg
浩瀚之水_csdn8 天前
avcodec_parameters_copy详解
linux·人工智能·ffmpeg
CHS_Lab9 天前
讯盛通智能摄像机格式化后的恢复方法
数据恢复·视频恢复·格式化恢复·摄像机恢复·智能摄像机
不吃鱼的猫74812 天前
【ffplay 源码解析系列】02-核心数据结构详解
c++·ffmpeg·音视频
不吃鱼的猫74813 天前
【ffplay 源码解析系列】01-开篇-ffplay整体架构与启动流程
c++·架构·ffmpeg·音视频
REDcker14 天前
FFmpeg开发者快速入门
ffmpeg
不吃鱼的猫74814 天前
【从零手写播放器:FFmpeg 音视频开发实战】04-封装格式与多媒体容器
c++·ffmpeg·音视频