杂牌记录仪TS视频流恢复方法

大多数的记录仪都采用了MP4/MOV文件方案,极少数的可能在用AVI文件,极极少数的在用TS文件方案。很多人可能不太解TS文件,这是一种古老的视频文件结构,下边这个案例我们来看下TS视频文件的恢复方法。

故障存储:8G存储卡/fat32文件系统

故障现象:

客户无法提供数据丢失的原因,只要求恢复指定时间2023-05-15  12:00-15:00之间的视频文件。

故障分析:

8G的卡不算大,WINHEX解析后可以看到删除空间尚有4.7G。

图1:卡的空间使用率

从客户提供的信息,卡中为MP4文件,但是WINHEX对比发现,所谓的MP4文件只是伪装了的TS而已。从下图中一个删除的.TS文件就能看出端倪,基本上能判断出记录仪管理程序的文件生成流程:

  1. 采集信息数字化->2、文件以TS流规范进行格式化写入->3、生成文件名改扩展名为mp4(估计第2步使用了TS某种通用打包方案默认扩展名为.TS)

之所以为什么要改.ts为.mp4,猜测大概率是为了保证兼容性,比如有些播放器虽然支持ts解码但是却过滤了.ts。

有必要科普下TS流,这是一位古董级的视频格式,已经可以跻身博物馆的那种!

transport stream(传送流)简称TS流,其设计初衷是为了服务于数字电视机顶盒,在那个刚普及数字电视的时代,设计理念是小块传输(为了应对可怜的带宽)、终端校验(有问题直接丢包不影响下一个包的解析),在这些理念加持下,TS流变成了一个固定长度,切割视频、音频数据分片传输的结构。这种结构和现在主流的MP4有很大的差异,但是却很好的满足了“窄带”下的数字信息的传输要求。所以在一段时间内日系不少厂商主推此格式,在TS流的基础上衍生了MTS、MPEG、M2T等文件,不过随着网络的发展,TS流最终是昙花一现,现在主流的视频格式中已经“难觅芳踪”,虽然TS背靠ITU。坐了冷板凳的TS流,印证了那句话”时代在抛弃你的时候连个招呼也不会打“!

图2:TS流“伪装”成MP4文件

故障处理:

TS流由于使用小块固定长度、不记录时间信息、冗余较大等各种原因,导致碎片定位和重组时的问题很多,碎片定位时容易误判断,因为其固定长的原因。而在重组时也不好判断上下碎片的从属关系,种种特征导致TS流想要用程序去定位和重组的话难度较大,经常会出现窜帧的问题,这些问题的解决更多的还是靠经验判断,所以目前CHS使用的是程序定位+手工重组的恢复方案。

使用”TS流解析工具”做为辅助,以簇为单位定位TS流,如下图:

图3:TS流辅助小程序

辅助程序只能定位,重组还得靠经验判断再选择碎片进行合成,这个过程比较消耗时间,经过一天多的处理,成功的恢复了客户需要的指定时间的数据。

这就是杂牌记录仪TS的恢复方法,大家在遇到此类问题时,可以和我们联系!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jQuery是一种行的JavaScript库,它允许开发人员更轻松地处理HTML文档。通过使用jQuery,可以轻松地自动化表单填充,从而提高用户体验。以下是一些使用jQuery自动填充表单的常见方法: 1. 使用val()方法:val()方法可用于设置或返回表单输入字段的值。可以使用它来自动填充表单字段。例如,可以使用以下代码将所有文本字段的值设置为空字符串: ```javascript $('input[type="text"]').val(''); ``` 2. 使用each()方法:可以使用each()方法遍历表单中的所有输入字段,并使用val()方法设置其值。例如,以下代码将所有输入字段的值设置为当前日期: ```javascript $('input').each(function() { switch($(this).attr('type')) { case 'text': $(this).val(new Date().toLocaleString()); break; case 'date': $(this).val(new Date().toLocaleDateString()); break; default: break; } }); ``` 3. 使用正则表达式验证:可以使用正则表达式验证表单字段的值,并根据需要自动填充该值。例如,以下代码将所有密码字段的值设置为'password': ```javascript $('input[type="password"]').each(function() { if($(this).val() === '') { $(this).val('password'); } }); ``` 4. 使用插件:可以使用一些jQuery插件来自动填充表单。例如,jQuery Form Autofill插件可以自动填充表单字段,并根据用户在浏览器历史记录中访问的页面信息自动填充表单字段的值。 这些是一些使用jQuery自动填充表单的常见方法。根据具体需求,可以选择适合的方法来实现自动填充表单的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值