特殊行车记录仪DAT视频丢失的恢复方法
行车记录仪是一种常见的车载记录仪,和常见的“小巧玲珑”的行车记录仪不同,一些特种车辆使用的记录仪的外观可以用“笨重”来形容。下边我们来看看特种车载行车记录仪删除文件后的恢复方法。
故障存储:
120GB存储设备/文件系统:exFAT /簇大小:128KB
故障现象:
此设备是在一种特种车上使用的(图1),客户描述在出现事故后尝试手机直连备份视频,结果速度过慢就点击了终止,并删除了一些视频文件用以提升速度(实际上传输过慢和存储设备是否文件过多没有关系),然后再次连接设备查看时发现自己要的几条视频文件找不到。
120GB的存储设备,目前还有大约111GB的剩余空间,恢复的机率相对是比较高的。

图1:体形硕大的特种车行车记录仪

图2:剩余空间有大约111GB
故障分析:
虽然使用了exFAT通用型文件系统,但是其采用了自定义文件结构这种方案,具体表现为:
- 文件扩展名为DAT,并非通用视频格式(图2);
- DAT文件需要手机端用APP才可以解码播放;
另外就是文件的碎片数量极多(图3),且没有规律,基本上一个簇一个碎片。因为其使用了前
后、左、右四路摄像头同时采集,而且又是自定义文件,这个可能是导致碎片极多的原因。

图2:“自定义”的文件头 图3:20MB的视频文件碎片206个
故障处理:
经过分析DAT文件发现这种文件结构实际上是打包了其它厂商自定义文件的一种“回锅”结构,这样做的前提肯定是省心,但是却给恢复工作带了麻烦。由于客户需要的是几条指定时间的视频,而视频画面上是有时间的,针对这种情况,使用先定位再恢复的方法,通过定位文件头第一帧得到时间画面,然后判断时间。
另外对之前的“视频RAW级重组程序V2.0”程序进行了改造,根据DAT文件的结构特征进行了分析并重新改写了程序,这一切都处理完成后最终成功的恢复了指定视频文件。

图4:前置摄像头某个视频文件325MB碎片数量2759个

图5:成功恢复的视频文件
这就是特殊行车记录仪删除视频后的恢复方法,大家在遇到此类问题时,可以和CHS数据实验室联系!
相关文章:
特殊行车记录仪DAT视频丢失的恢复方法
行车记录仪是一种常见的车载记录仪,和常见的“小巧玲珑”的行车记录仪不同,一些特种车辆使用的记录仪的外观可以用“笨重”来形容。下边我们来看看特种车载行车记录仪删除文件后的恢复方法。 故障存储: 120GB存储设备/文件系统:exFAT /簇大小:128KB 故…...
PAT乙级1007
常规解法 #include <iostream> using namespace std;// 判断一个数是否为素数的函数 bool isprime(int a) {// 遍历 2 到 sqrt(a) 之间的数,判断 a 是否能被它们整除for (int i 2; i * i < a; i) {if (a % i 0) // 如果能整除,说明 a 不是素…...
数据库中不存在该字段
mybatisplus 定义的类中某些字段是数据库里面没有的,我们可用tablefield(existfalse)来注解,演示如下:...
吾爱出品,文件分类助手,高效管理您的 PC 资源库
在日常使用电脑的过程中,文件杂乱无章常常让人感到困扰。无论是桌面堆积如山的快捷方式,还是硬盘中混乱的音频、视频、文档等资源,都急需一种高效的整理方法。文件分类助手应运而生,它是一款文件管理工具,能够快速、智…...
关于瑞芯微开发工具(RKDevTool)刷机下载Boot失败原因的研究
昨天发了文章《网心云OEC/OEC-turbo刷机问题——刷机教程、救砖方法、技术要点及下载boot失败异常解决尝试》,其中有关于刷机各种问题的一些解决方法。 网心云OEC/OEC-turbo刷机问题——刷机教程、救砖方法、技术要点及下载boot失败异常解决尝试-CSDN博客文章浏览阅…...
web爬虫笔记:js逆向案例十一 某数cookie(补环境流程)
web爬虫笔记:js逆向案例十一 某数cookie(补环境流程) 一、获取网页数据请求流程 二、目标网址、cookie生成(逐步分析) 1、目标网址:aHR0cHM6Ly9zdWdoLnN6dS5lZHUuY24vSHRtbC9OZXdzL0NvbHVtbnMvNy9JbmRleC5odG1s 2、快速定位入口方法 1、通过脚本监听、hook_cookie等操作可…...
浅谈 Vue3 中的设计模式
设计模式是软件开发中的一种最佳实践,它提供了解决特定问题的通用解决方案。通过合理运用设计模式,可以提高代码的可维护性、可扩展性和可读性。在 Vue3 的源码中,设计模式被广泛应用于各个模块中,充分体现了其在现代前端框架中的…...
Unix Domain Socket、IPC、RPC与gRPC的深度解析与实战
Unix Domain Socket、IPC、RPC与gRPC的深度解析与实战 引言 在分布式系统和本地服务通信中,进程间通信(IPC)与远程过程调用(RPC)是核心能力。本文将深入剖析 Unix Domain Socket(UDS)、IPC、RP…...
07_JavaScript函数作用域_递归
目录 一、作用域(重点) 二、变量的使用规则 (重点) 2.1 访问规则 2.2 赋值规则 三、递归函数 (难点) 了解 四、对象 4.1 对象的创建 一、作用域(重点) 什么是作用域 ? 作用…...
.gitignore使用指南
.gitignore使用指南 目录 什么是.gitignore为什么需要.gitignore如何创建.gitignore文件.gitignore文件的语法规则 忽略单个文件忽略目录忽略特定类型的文件不忽略特定文件或目录递归匹配 示例.gitignore文件注意事项更多特殊场景匹配规则 忽略多个特定后缀的文件忽略特定目录…...
Excel多级联动下拉菜单的自动化设置(使用Python中的openpyxl模块)
1 主要目的 在Excel中,经常会遇到需要制作多级联动下拉菜单的情况,要求单元格内填写的内容只能从指定的多个选项中进行选择,并且需要设置多级目录,其中下级目录的选项内容要根据上级目录的填写内容确定,如下图所示&am…...
深入解析 Spring Framework 5.1.8.RELEASE 的源码目录结构
深入解析 Spring Framework 5.1.8.RELEASE 的源码目录结构 1. 引言 Spring Framework 是 Java 领域最流行的企业级开发框架之一,广泛用于 Web 开发、微服务架构、数据访问等场景。本文将深入解析 Spring Framework 5.1.8.RELEASE 的源码目录结构,帮助开…...
excalidraw画图工具——背景画布有无格子设置
服啦找了大半天,愣是没找到 toggle grid : 切换格子… Excalidraw的背景格子 只要右键,将这个勾取消就好了?...
计算机组成原理———I\O系统精讲<1>
本篇文章主要介绍输入输出系统的发展概况 一.输入输出系统的发展概况 1.早期阶段 该阶段的特点是I/O设备与主存交换信息都必须通过CPU 当时的I/O设备有如下几个特点: (1)每个I\O设备都必须配有一套独立的逻辑电路与CPU相连,用来…...
[数据结构] 动态顺序表应用
可扩容顺序表顺序表 SeqList.hSeqList.cTest.c 动态顺序表能够根据数据存储的需要动态地管理内存空间。 SeqList.h #include<stdio.h> #include<stdlib.h>//静态顺序表 //小了不够用,多了浪费 //#define N 10 //typedef int SLDatatype; //struct SeqL…...
MinIO-对象存储方案
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。 MinIO是一个非常轻量的服务…...
装饰器模式 (Decorator Pattern)
装饰器模式 (Decorator Pattern) 是一种结构型设计模式,它动态地给一个对象添加一些额外的职责,就增加功能来说,装饰器模式相比生成子类更为灵活。 一、基础 1 意图 动态地给一个对象添加一些额外的职责。 就增加功能来说,装饰器模式相比生成子类更为灵活。 2 适用场景 当…...
手动配置树莓派wifi联网连接热点手机热点
手动配置树莓派wifi联网连接热点 修改wifi配置文件: 运行命令: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf 在文件中添加无线网配置信息: ctrl_interfaceDIR/var/run/wpa_supplicant GROUPnetdev update_config1 countryCN network{ ssid”你的无线网名字” psk”…...
【学习笔记】麦肯锡《超级智能体:赋能人们释放人工智能的全部潜力》
麦肯锡《超级智能体:赋能人们释放人工智能的全部潜力》报告的学习笔记: 报告背景与意义 • 科技发展趋势:随着人工智能技术的飞速发展,其在各行业的应用逐渐深入,麦肯锡的这份报告正是基于这一背景,旨在深入…...
ENSP学习day9
ACL访问控制列表实验 ACL(Access Control List,访问控制列表)是一种用于控制用户或系统对资源(如文件、文件夹、网络等)访问权限的机制。通过ACL,系统管理员可以定义哪些用户或系统可以访问特定资源&#x…...
文章记单词 | 第2篇(六级)
一,单词释义 story:名词(n.)故事;小说;(真实情况的)叙述,描述;楼层(美语写法,英式英语为 storey)stress:名词…...
【C++动态规划 数学】1039. 多边形三角剖分的最低得分|2130
本文涉及知识点 C动态规划 数学 LeetCode1039. 多边形三角剖分的最低得分 你有一个凸的 n 边形,其每个顶点都有一个整数值。给定一个整数数组 values ,其中 values[i] 是第 i 个顶点的值(即 顺时针顺序 )。 假设将多边形 剖分 …...
5.go切片和map
切片的概念 数组和切片相比较切片的长度是不固定的,可以追加元素,在追加时可能会使切片的容量增大,所以可以将切片理解成 "动态数组",但是,它不是数组,而是构建在数组基础上的更高级的数据结构。…...
【Linux网络-多路转接select】
代码:https://gitee.com/nanyi-c/linux/tree/master/day50 一、I/O多路转接之select 1.初始select 系统提供select函数来实现多路复用输入/输出模型 select系统调用是用来让我们的程序监视多个文件描述符的状态变化的程序会停在select这里等待,直到被…...
cmd命令查看电脑的CPU、内存、存储量
目录 获取计算机硬件的相关信息的命令分别的功能结果展示结果说明获取计算机硬件的相关信息的命令 wmic cpu get name wmic memorychip get capacity wmic diskdrive get model,size,mediaType分别的功能 获取计算机中央处理器(CPU)的名称 获取计算机内存(RAM)芯片的容量…...
LVS的 NAT 模式实现 3 台RS的轮询访问
使用LVS的 NAT 模式实现 3 台RS的轮询访问 1.配置 RS(NAT模式)2. 配置 LVS 主机(仅主机、NAT模式)2.1 配置仅主机网卡(192.168.66.150/24 VIP )2.2 配置 NAT 网卡(192.168.88.6/24 DIPÿ…...
phpcms版AI自动发文插件,自动创作,自动配图,自动发布,支持多种大模型
phpcms版本的AI自动发文插件1.0.0版,支持自动写文章,自动配图,自动发布。目前支持DeepSeek,豆包,通义千问,文心一言,讯飞星火,KIMI,腾讯混元登大模型AI。同时有自定义字段…...
C语言判断闰年相关问题
一、简单闰年问题引入 写一个判断年份是否为闰年的程序? 运行结果: 二、闰年问题进阶 使用switch语句根据用户输入的年份和月份,判断该月份有多少天? 第一种写法(判断年份写在switch的case的里面): 运行结果: 第二种解法(先判断闰年): 运行结果: 三、补充 switch中的ca…...
团体协作项目总结Git
使用Git开放时候发现本地, 有些代码并没有被拉取到本地仓库, 又不想再commit一次, 这时候我就想到了 git commit --amend 合并提交 git commit --amend 修改git提交记录用法详解 可以将本次提交记录合并到上一次合并提交 git commit --amendgit rebase -i master^^ // 假设我…...
solana/web3.js 2.0:Solana 转账全流程解析
Solana 区块链以高吞吐量和低交易成本,已成为开发者的热门选择。而 solana /web3.js 2.0 作为最新一代 JavaScript 库,为与 Solana 网络交互提供了更高效、模块化的工具。本文将深入剖析如何使用 solana /web3.js 2.0 实现 Solana 区块链上的转账操作&am…...
