Tplink(深圳普联)专业的网络设备生产商,属于安防监控市场的后来者。Tplink的安防产品恢复了很多,其嵌入式文件系统也一直迭代更新。今天要说的案例比较特殊,其不仅仅要求恢复,还要求能解析出音频并且要求画面和声音实现“同步”。我们来看看这个特殊的恢复案例:
故障存储:
TOSHIBA DT02ABA400VKQ0H0R
故障现象:
这台TPLINK录像机做过初始化操作,客户需要指定时间段的视频,经过使用CHS零壹视频恢复程序监控版扫描,已经成功保存了数据。但是由于情况特殊涉及到取证问题,客户提出两个要求:
- 能否恢复音频
- 能否保证画面和声音的“同步”
客户提出这两个要求,是因为其查看设备时发现,通过手机APP可以下载扩展名为mp4的文件,播放时画面和声音都有的。这说明摄像头具备音频采集功能且录像机也具备音频流接收的功能,基于此,硬件上采集音频的条件是满足的。
故障分析:
从恢复角度来讲CHS零壹视频恢复程序监控版已经很好的履行了自己的职责:“在被初始化的大容量存储设备上找到指定时间的视频文件”。客户的两个请求实则已经超出了数据恢复的范畴,因为这个涉及到的是把RAW视频和音频数据进行转码和打包成mp4文件。由于各个厂商的转码/打包都属于内部算法涉及到商业机密,在早期除了大华和海康提供了转换的工具(某段时间甚至开放过API),但是随着竞争的激烈,这些都统统不存在了。之后做为头部厂商的海康、大华、天地伟业开发了各自的RAW播放器,这种播放器可以直接解码RAW视频和音频,这样就实现了“画面”和“声音”的同步,但是让人遗憾的是除了头部厂商之外其它安防厂商并不提供RAW播放器,这个名单包含tplink!
想要实现“画面”和“声音”的同步,从现有的恢复、修复视频、音频经验能得出结论:
- RAW视频编码(这里是265)需要转码成HEVC编码,这两种编码虽然本质上相同,但分属两个不同组织制定,为了符合相应的规范是很有必要转码的。
- RAW音频编码,这个分为两种一种是压缩编码(如aac),一种是高清编码(如sowt)。同样为了符合相应的规范是很有必要转码的。
- 同步问题,所谓的同步,是在解码器解码时在解一帧画面时同时解码一帧或多帧音频。也就是说同一个mp4文件中至少有两个轨道,即视频和音频轨道,这两个轨道是底层轨道,最终需要汇集到一个逻辑轨道,保证同步效果。
当然这个又涉及到不同速率调整,以及对PCR时间的转换,MP4中有DTS和PTS两个时间概念也是需要考虑的。
- 需要对mp4/mov/3GP等qt类视频文件结构极其熟悉才可以做到心中有底,很多人可能对mp4文件有误解,认为mp4是一类视频格式,实际上mp4仅仅是一个容器而已,因为mp4可以把不同的视频和音频编码打包到一个文件,就像一个瓶子一样,至于瓶子中放什么东西,mp4并不关注,只要符合它要求的就是合法的(比如瓶子里灌装按卫生标准去生产的饮料就可以上市销售),合法的编码就可以得到播放器(比如基于ffmpeg的播放器或者编辑软件)的解码,所以我们要做的就是努力去把所有一切做到符合mp4规范。
上边罗列这么多条足以说明转码和打包的难度之大,所以前期我们曾经建议客户和厂商联系来获取相应的技术支持,但是很遗憾厂商不提供这样的服务。经过客户不断和我们沟通,做为数据恢复从业者深感责任重大,本着遇到困难至少应该尝试着去解决的原则,我们接下了这个烫手的山芋。
故障处理:
通过客户传来的mp4文件确定了转码后的视频编码为HVC1,音频则为A-law(一种准高清PCM类编码)。
图1:mp4文件的音视频编码
STEP1:先把指定时间段的视频文件定位到并保存,做好转换的准备。
STEP2:编写一个“CHS安防监控MP4合成程序TPLINK版”的程序,主要处理如下问题:
- 通过一个好的mp4样本文件得到相应的参数信息
- 把安防RAW音视频转换成对应的HVC1和PCM,需要分离RAW音频和视频块,然后再转码
- 最后合成mp4文件
程序以文件为单位进行一个个转换和合成的操作(如图2)。
图2:CHS安防监控MP4合成程序TPLINK版 合成程序
STEP3:查看合成文件,可以看到文件的音频和视频编码都已经转码成功,至此转码/合成工作完成,总共6条视频,合成后达到画面和声音同步的完美效果,最后和客户核对数据,其对结果极其满意。
图3:共计转码/合成6条MP4视频
图4:合成MP4文件的视频编码
图5:合成MP4文件的音频编码
在完成了转码/合成工作后,思考一个问题“是否所有的安防监控产品都可以如何这般处理?”,这个问题至少理论上是可行的。实际上操作起来可能难度大一些,就以TPLINK为例,型号不同可能厂家用的转码/合成方案会有差异,所以不具备通用性,但是可以模块化处理,比如TPLINK的做成不同的型号对应相应的转码/合成模块,当然这个工作量就相当大了。
这就是tplink安防视频raw音视频转码合并mp4的方法,大家在遇到此类问题时,可以和我们联系!