小米智能摄像机删除文件的恢复方法

智能摄像机仅需要一张存储卡即可实现视频、音频的采集,同时可以通过手机APP进行远程控制,相比传统安防设备成本更低、更容易部署。小米的智能摄像机采用“米家”方案,安全性和稳定性方面做的比较好,所以目前在家用市场占有率比较高。由于APP远程控制允许使用人对存储设备进行格式化、删除文件等各种操作,这也就使得这一类产品极易被破坏。当遇到重要视频文件被删除时应该如何恢复呢?

故障存储: 

256GB TF卡/MS fat32文件系统/簇大小:64KB

故障现象:

客户描述此卡被手机APP远程删除了很多视频文件当发现时已经使用了一段时间,卡的剩余空间还有204G(如图1)。图2中可以看到卡已经有新的视频文件写入,这种情况理论上讲存在覆盖的可能性。客户提供了要恢复视频的精确时间段,大约需要恢复连续三天的全部数据。

图1:卡的剩余空间还有204G

图2:卡中已经写入了不少新的视频文件

故障分析:

小米的智能摄像头之前处理过不少,基本上规律如下:

1、1分钟生成一个文件。

  1. 文件格式为MP4,新式摄像头一般使用HVC高清编码。
  2. 采用的方案是在生成当前MP4文件结构体时,已经在采集新的视频画面数据,此时会导致两个文件碎片交叉。

下边我们聊下小米智能摄像头的恢复难点:

恢复难点1:在于第3条,碎片化的文件。这种设计理念会随着写入文件的数量的增加导致碎片化机率暴增,最后小到一个碎片仅有一簇大小,这个就是文件系统的极限了。由于视频文件的结构体和数据区是分开的,所以过于碎片化的文件会导致“音视频”数据区交叉,小米智能摄像机视频编码为HVC音频编码为M4A,都是压缩算法,所以根本没有任何规律而言(有规律的一定是结构体而不是数据本身)。在这种极端情况下使用CHS零壹视频恢复程序高级版也可以恢复出数据,但是很显然在这种情况下程序是无法判断所有碎片的归属关系的,这个时候恢复就需要手工介入,根据恢复时的经验来定数据在进行判断。

需要注意的是,我们说的难点是文件系统底层方面的,并非逻辑层,做为设备厂商小米的管理方案是很优秀的,安全性和稳定性个人认为属于国内第一梯队。而厂商关注的点肯定是逻辑层,至于exfat和fat32文件系统如何存储数据,这个是文件系统底层的事情。

恢复难点2:往常我们恢复的基本上是指定某几个小时区间的数据,而此次需要恢复三天的数据量是比较大的,小米的1分钟一个文件,1小时60个文件,三天就是720个文件。由于客户工作的特殊性其对视频质量有极高的要求,不允许有一帧的画面和声音出错,在这种极端要求下,恢复的工作量是很大的!

图3:1.9M的文件在32K簇大小情况下竟然有40个碎片(注:配图和簇参数为其它案例)

故障处理:

根据这种复杂的情况,通用型的恢复软件是无法恢复的,原理如下:

  1. 删除或者格式化后FAT32或者exfat 都会对FAT表进行清0,清0后存在碎片的文件是无法得到有效的链表的,没有链表就无法得到准确的数据。
  2. 由于文件不连续存放,所以此时通用型恢复软件只能采用起始簇指针+文件长度进行“野蛮定位”,最终数据全部错误无法播放(如图5)。

图4:通用的恢复软件对于碎片化的文件无能为力

图5:文件的碎片化恢复出错无法播放

说了这么多难道真的没有办法恢复了?办法有,我们看图说话(如图6),之前的案例解释的很清楚了感兴趣的小伙伴可以爬楼观看,这里只简述就不再码字了 :-) :-) :-)

目录项中有文件起始簇和文件长度, 通过这两项可以定位文件头所在,并且可以获取到文件大小,这些很重要,相等于做了一个初步定位。剩下的精细定位就需要靠经验来判断了,如果实在判断不出来(比如两个视频帧数据交叉了),只能用穷举法来一个个去试。基于这种恢复理念,碎片数量越多工作量越大。

图6:视频、音频帧数据存在碎片的简略图

直接请出我们之前编写的“MOOV视频RAW级重组程序“,程序的精度和便利度已经很好了,所以直接处理即可,目前此程序已经迭代到V2.0了,增加了目录自动处理、全局分析、扫描结果自动保存和加载等功能,算法上一直在向更好的方向发展,之前只是为了解决这种问题写的一个比较简陋的程序经过近两年的补充目前却快长成了参天大树,有些算法的提出到实现经历了“不可能”到“可以更好”的过程。这些算法在前阵子在另一个大型设备恢复中起到了巨大的作用,这或许就是数据恢复的魅力所在!

当然这个程序目前还仅仅是停留在半自动状态,因为多碎片的问题本身就“不可能”自动化解决,我们是在这种“不可能”中去寻求“效果极佳”的恢复方案!同时在这里也回答一个很多朋友的问题,这款程序不会公开发布,因为它不具备自动化恢复的要素。

图7是某一个长度为12.82M的视频文件恢复完成后统计的碎片数量,可以看到文件虽小但是碎片数量却很大,达到了131个碎片,如果是手工处理可以说一个文件就要耗费大量的时间而且极易出错。而在2.0程序的帮助效率比之前要提升了不少,经过近5天的恢复,成功恢复出指定时间的700个文件,至此恢复工作完成!

图7:MOOV视频RAW级碎片重组程序已经迭代到2.0

这就是小米智能摄像机删除视频文件的恢复方法,对于此类智能摄像头,CHS恢复的效果可以做到取证级别:确保每一帧声音、画面都100%正常,目前成功助力各大公检法机构的取证需求,大家在遇到此类问题时,欢迎和我们联系!

电力系统潮流计算是电力工程领域的一项核心技术,主要用于分析电力网络在稳态运行条件下的电压、电流、功率分布等运行状态。MATLAB凭借其强大的数值计算功能和便捷的编程环境,成为电力系统潮流计算的重要工具,它提供了丰富的数学函数库,能够高效地处理复杂的电力系统计算任务。 本压缩包中的“潮流计算MATLAB程序”是一套完整的电力系统潮流计算解决方案,主要包括以下几个关键部分: 数据输入模块:该模块负责读取电力系统的网络数据,包括发电机、线路、变压器等设备的参数。这些数据通常来源于IEEE测试系统或实际电网,并以特定格式存储。 网络建模:基于输入数据,程序构建电力系统的数学模型,主要涉及节点功率平衡方程的建立。每个节点的注入功率等于其消耗功率,对于发电机节点还需考虑其有功和无功功率的调节能力。 迭代算法:潮流计算的核心是求解非线性方程组,常见的算法有牛顿-拉夫森法和高斯-塞德尔法。MATLAB的优化工具箱可辅助实现这些算法,通过迭代更新节点电压和支路电流,直至满足收敛条件。 结果输出:计算完成后,程序能够输出关键性能指标,如节点电压幅值和相角、支路功率流、发电机的有功无功功率等。这些信息对于分析电网运行状态和制定调度策略具有重要意义。 可视化功能:程序可能包含图形用户界面(GUI),用于展示计算结果,例如绘制网络拓扑图并标注节点电压和支路功率,便于用户直观理解计算结果。 错误处理与调试:良好的程序设计应包含错误检测和处理机制,以应对不合理数据或计算过程中出现的问题,并给出适当的提示。 对于电力系统分析课程的学生来说,这个MATLAB程序是一个宝贵的学习资源。它不仅有助于学生掌握电力系统的理论知识,还能让他们了解如何将理论应用于实践,通过MATLAB解决实际问题。尽管该程序是作者一周内完成的,可能存在一些未完善之处,但使用者可以在参考的基础上逐步改进和完善,使其更贴合自身需求。 总之
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值