水星(MERCURY)的安防监控恢复了很多,其嵌入式文件系统也一直迭代更新。做为数据恢复从业者每天处理最多的就是恢复数据,但是有的时候业务的需要我们不仅仅恢复出数据,还需要能够转码成通用的MP4类文件并要求画面和声音实现“同步”。
故障存储:
西数4TB 40EZAZ-00SF3B080/文件系统:嵌入式安防系统
故障现象:
客户描述此监控盘是比较早的一块盘被格式化然后再录了不长的时间,出现问题后就关闭录像机没有再使用,除了要求恢复数据外,提出了以下特殊的要求:
- 恢复成通用的MP4文件可以在不同设备正常播放,可以实现播放、暂停、快进等各种要求。
- 画面和声音必须“同步”。
中间反复和客户确认了是摄像头麦克风正常,同时客户也提供了其所需两个摄像头的MP4样本文件(手机APP直接远程获取)。
故障分析:
从恢复角度来讲CHS零壹视频恢复程序监控版就可以做到恢复视频的工作,一般而言恢复后的文件是264或者265视频文件,可以直接播放画面,但是音频是无法解析的。客户的两个请求实则已经超出了数据恢复的范畴,因为这个涉及到的是把RAW视频和音频数据进行转码和打包成mp4文件。由于各个厂商的转码/打包都属于内部算法涉及到商业机密,在早期除了大华和海康提供了转换的工具(某段时间甚至开放过API),但是随着竞争的激烈,这些都统统不存在了。之后做为头部厂商的海康、大华、天地伟业开发了各自的RAW播放器,这种播放器可以直接解码RAW视频和音频,这样就实现了“画面”和“声音”的同步。但是让人遗憾的是除了头部厂商之外其它安防厂商并不提供RAW播放器,包括本例中的水星(MERCURY)。
想要实现“画面”和“声音”的同步,从现有的恢复、修复视频、音频经验能得出结论:
1、RAW视频编码(这里是265)需要转码成HEVC编码,这两种编码虽然本质上相同,但分属两个不同组织制定,为了符合相应的规范是很有必要转码的。
2、RAW音频编码,这个分为两种一种是压缩编码(如aac),一种是高清编码(如sowt)。同样为了符合相应的规范是很有必要转码的。
3、同步问题,所谓的同步,是在解码器解码时在解一帧画面时同时解码一帧或多帧音频。也就是说同一个mp4文件中至少有两个轨道,即视频和音频轨道,这两个轨道是底层轨道,最终需要汇集到一个逻辑轨道,保证同步效果。
当然这个又涉及到不同速率调整,以及对PCR时间的转换,MP4中有DTS和PTS两个时间概念也是需要考虑的。
4、需要对mp4/mov/3GP等qt类视频文件结构极其熟悉才可以做到心中有底,很多人可能对mp4文件有误解,认为mp4是一类视频格式,实际上mp4仅仅是一个容器而已,因为mp4可以把不同的视频和音频编码打包到一个文件,就像一个瓶子一样,至于瓶子中放什么东西,mp4并不关注,只要符合它要求的就是合法的,编码就可以得到播放器(比如基于ffmpeg的播放器或者编辑软件)的解码,所以我们要做的就是努力去把所有一切做到符合mp4规范。
上边罗列这么多条足以说明转码和打包的难度之大,所以前期我们曾经建议客户和厂商联系来获取相应的技术支持,但是很遗憾厂商不提供这样的服务。
故障处理:
STEP1:先恢复监控视频,直接使用CHS零壹视频恢复程序监控版扫描,然后恢复出客户需要的文件,恢复过程就不再重复了。
图1:先恢复指定时间的265文件
图2:恢复的文件是标准的265“裸流”
STEP2:获取同设备转存的MP4样本文件,分析编码结构准备转码
修改之前的“CHS安防监控MP4合成程序TPLINK版”的程序,主要处理如下问题:
1、通过一个好的mp4样本文件得到相应的参数信息
2、把安防RAW音视频转换成对应的HVC1和PCM,需要分离RAW音频和视频块,然后再转码
3、最后合成mp4文件
程序以文件为单位进行一个个转换和合成的操作(如图3)。
图3:重新修改的程序
查看合成文件,可以看到文件的音频和视频编码都已经转码成功(图4),至此转码/合成工作完成,总共8条视频,合成后达到画面和声音同步的完美效果,至次转码工作完成(图5)!
图4:转码成功的MP4文件
图5:共计8条MP4文件
这就是水星(MERCURY)的安防监控初始化后的恢复方法以及转码MP4的方法,目前CHS可以转码的品牌包括水星(MERCURY)、普联(Tplink),同时对于多数安防监控品牌都可以做到转码。大家在遇到此类问题时,可以和CHS数据实验室联系!
点击下载CHS零壹视频恢复程序监控版