大疆炸机后MOV修复方法(DJI Inspire 3)

dji大疆可以说是无人机中的华为,产品线之广性能之高让高傲的美国人侧面,质量和性价比才是王道。另外产品线的细分也是制胜法宝,无论是手持、农用机、特殊无人机还是影视级产品DJI都有涉及,给人的感觉就是在无人机细分方面它已经无孔不入。Dji inspire3是针对影视级市场推出的产品,其支持8K视频使用的是aprh高清视频编码。过新编码导致此类视频目前暂时没有修复程序可以修复,下面我们来看下这个有点另类的案例。

故障文件:

X032C0008_240616_08R6.MOV/12.58G

故障现象:

在拍摄时不知道是原因导致了无人机“炸机”,查看文件时发现最后一条素材文件X032C0008_240616_08R6_0.MOV无法播放。这个情况实际上和我们处理过很多摄像机断电的情况是一样的(比如索尼摄像机断电),无人机拍摄也是需要电池给摄像机供电的,正常情况下当终端下达停止拍摄指令时无人机管理器系统会在后台对拍摄的RAW文件进行打包封装。

而“炸机”很明显是一种意外事件,当无人机失控的时候,个人推测肯定会先切断摄像机的电源,而启动“最小模式”保证炸机之后一些定位设备能向终端发送信号(比如GPS定位信号方便找回)。当意外发生时是无法保证无人机管理程序能正常履行“对RAW文件打包/封装成MOV”的职责,因为此时管理程序有更重要的事情去做。这就是为什么把“炸机”理解为摄像机断电的理论依据,当然实际情况也验证了这个想法。

可以看到损坏文件的文件头,其类型为qt,说明是高清类视频文件。1号扇区可以看到有一些自定义的数据,一个公司是否认真做事儿从这些自定义数据中就能看出,MOV类文件是允许自定义TRAK存在的,当然这个不是必须的。dji用这些自定义的TRAK写入了一些基本信息,也包含一些视频属性元数据, 这样做的优势是拍摄后的文件有了“校验”,可以确定元文件是否被修改过来保证视频是否原始。反观国内一些小厂,自以为把视频文件做到符合qt类规范就很厉害了,硬件优化做不到位可以理解,但是软件方面也不下功夫,只能说是态度问题。这一类厂商基本上是昙花一现,制造一堆孤品。

图1:损坏文件的文件头截图

故障分析:

使用”CHS QT文件结构分析程序“进行分析,可以看到视频编码是aprh(Apple ProRes RAW HQ),没看错,这个Apple就是美国苹果公司。PRORES是Apple为了实现RAW级的视频而发布的编码,可以实现2K/4K/8K甚至更高级别的视频编码。而QT文件结构也是APPLE公司的杰作,我们一直说QT只是一种视频“容器“,可以把不同的编码按规范放进这个”容器“,很显然苹果不甘心只当“花瓶”,所以搞出了Apple Prores高清编码,对象很明确就是影视工作者。Apple Prores何时发布没有查过,或许是在老乔同志离开苹果创建“皮克斯工作室(Pixar Animation Studio”的时候吧 ~~~ :-) :-)  :-)

图2:aprh高清视频编码 made in Apple  :-)

故障处理:

经过进一步分析发现aprh编码存在一些dji自定义值,目前尚不清楚dji是否对这种编码做了细节上的改变。不过按照苹果的行事风格,这种可能性应该不大,apple就是规矩的代名词。虽然和以往的apple prores编码略有不同,但基于苹果优良的传承性,还是发现了一些规律,剩下的事儿就是把这些规律转换成代码,用程序去执行循环的操作。由于Dji Inspire 3面对的就是影视群体,所以根据规划我们会把此类视频的修复放到CHS零壹视频修复程序影视版中,目前影视版的恢复和修复模块还在开发中,各位看官们敬请期待!

图3:aprh编码和apcn等高清编码的血缘关系明显

STEP1:使用CHS零壹视频恢复程序影视版的修复模块先进行修复

点击“样本文件”->点击“损坏文件”->修复

STEP2:等待修复完成,可以看到程序已经成功解析出来样本文件的类型、摄像机品牌、轨道数量等参数。

STEP3:修复完成后可以看到程序已经列出了修复级别、时长等参数,由于编码特殊试用播放是无法解码的。

STEP4:修复完成后解码变成了一个问题,win版下的quicktime是无法解码的(win版可以说是阉割版和mac版差太多了而且很久不更新),虽然解码出一些参数信息,但是画面始终无法解析。

STEP5:至次修复工作完成,但是找一个win版播放器成了一个大麻烦,最后使用了Assimilate解决了问题(PS:感谢DIT群中cwws老师提供程序及安装方法),可以看到解码成功了,至次修复工作完成。

这就是大疆炸机后MOV(DJI Inspire 3) 的修复方法,大家在遇到此类问题时,可以和我们联系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/733702.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

信号基本分析方法——频域分析

二、频域分析 随机信号的时域分析只能提供有限的时域故障特征信息,故障发生时往往会引起信号频率结构的变化,而故障频率可以计算和预知,通过检测频率的幅值变换规律,就可以监控故障的发展过程。 频谱分析的理论基础是傅里叶变换…

支持 MKV、MP4、AVI、MPG 等格式视频转码器

一、简介 1、一款开源的视频转码器,适用于 Linux、Mac 和 Windows。它是一个免费的工具,由志愿者们开发,可以将几乎所有格式的视频转换为现代、广泛支持的编码格式。你可以在官网上下载该应用或源代码。该软件支持 MKV、MP4、AVI、MPG 等格式…

Graphviz——实现动态更新协议状态机

1、描述 为了实现动态更新协议状态机,首先需要定义类来表示协议状态机。初始化该类后,保存状态机对象。在后续更新过程中,就可以加载保存的状态机对象,添加新的状态或事件。Graphviz的安装过程参考:Graphviz——安装、…

PCL 三次样条插值(二维点)

一、简介 在插值计算中,最简单的分段多项式近似应该是分段线性插值,它由连接一组数据点组成,仅仅只需要将这些点一一用直线进行顺序相连即可。不过线性函数插值的缺点也很明显,就是在两个子区间变化的比较突兀,也就是没有可微性(不够光滑)。因此我们需要更为符合物理情况…

海外云手机自动化管理,高效省力解决方案

不论是企业还是个人,对于海外社媒的营销都是需要自动化管理的,因为自动化管理不仅省时省力,而且还节约成本; 海外云手机的自动化管理意味着什么?那就是企业无需再投入大量的人力和时间去逐一操作和监控每一台设备。 通…

波兰出局奥地利无限可能,荷法无谓争小组第一,谁能小组第一?

波兰出局奥地利无限可能,荷法无谓争小组第一,谁能小组第一? 2024欧洲杯D组结束小组赛第2轮争夺,积分榜形式如下:荷兰与法国均1胜1平积4分,两队之间直接对话战平,净胜球也均为1,荷兰凭借总进球数多1个暂列榜…

Python星载气溶胶数据处理与反演分析

在当前全球气候变化和环境污染问题日益突出的背景下,气溶胶研究显得尤为重要。气溶胶在大气中由直径范围在0.01微米至10微米固体和液体颗粒构成,直接或间接影响地球辐射平衡、气候变化和空气质量。尤其在“碳中和”目标的驱动下,研究气溶胶对…

韩顺平0基础学java——第29天

p592-599 线程 用户线程和守护线程 1.用户线程:也叫工作线程,当线程的任务执行完或通知方式结束 2守护线程:一般是为工作线程服务的,当所有的用户线选束,守护线程自动结束 3.常见的守护线程:垃圾回收机制 当我们希望当main线程结束后&…

高性能、高可靠性!Kafka的技术优势与应用场景全解析

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货!​​​​​​​ 大家好,我是你们的小米,今天要和大家聊聊一个超级强大的消息系统——Kafka。很多同学可能对它还不太熟悉,不过没关系,今天我就带你们…

从一到无穷大 #29 ByteGraph的计算,内存,存储三级分离方案是否可以通用化为多模数据库

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 文章目录 引言ByteGraph现有架构阿里云Lindorm腾讯YottaDB多模型化修改点ByteGraph论文中的优化…

Linux中的全局环境变量和局部环境变量

Linux中的全局环境变量和局部环境变量 一、全局环境变量二、局部环境变量三、 设置全局环境变量 bash shell用一个叫作环境变量 (environment variable)的特性来存储有关shell会话和工作环境的信息(这也是它们被称作环境变量的原 因&#xff…

Qt利用Coin3D(OpenInventor)进行3d绘图

文章目录 1.安装1.1.下载coin3d1.2.下载quarter1.3.解压并合并 2.在Qt中使用3.画个网格4.加载wrl模型5.画个锤子并旋转6.加载自定义视口文件 1.安装 1.1.下载coin3d 首先,到官网下载[coin3d/coin] 我是Qt5.15.2vs2019的,因此我选择这个coin-4.0.2-msvc…

“脏读”、“幻读”、“不可重复读”

“脏读”、“幻读”、“不可重复读” 1.概念说明 “脏读”、“幻读”、“不可重复读”是数据库事务的概念。 “脏读”是指一个事务中访问到了另外一个事务未提交的数据。 “不可重复读”是指在一个事务内根据同一个条件对数据进行多次查询,但是结果却不一致&…

某程序员:30岁了,老婆管钱,背着我买了50万股票,亏了20w,强制她清仓后又买了36万

“辛辛苦苦攒了几年钱,本想买房买车,结果全被老婆炒股亏掉了!” 近日,一位30岁的程序员大哥在网上吐苦水,引发了网友们的热议。 这位程序员大哥和妻子结婚后,一直秉持着“男主外,女主内”的传统…

如何使用gprof对程序进行性能分析

如何使用gprof对程序进行性能分析 目录 1 gprof概述 2 gprof原理简述 3 gprof使用 3.1 gprof使用简述 3.2 gprof使用示例 4 小结 1 gprof概述 gprof 是 一个 GNU 的程序性能分析工具,可以用于分析C\C程序的执行性能。gprof工具可以统计出各个函数的调用次数、执…

修改docker中mongodb容器的时区

假设容器名称为mongodb,设置时区为伤害时区的命令为: docker exec -it mongodb bash -c "ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone"验证时区更改: docker e…

【CT】LeetCode手撕—42. 接雨水

目录 题目1- 思路2- 实现⭐42. 接雨水——题解思路 3- ACM实现 题目 原题连接:42. 接雨水 1- 思路 模式识别:求雨水的面积 ——> 不仅是只求一个比当前元素大的元素,还要求面积 单调栈 应用场景,需要找到左边比当前元素大的…

如何用Spring使用Redis作为消息订阅?

目录 一、Spring 框架介绍二、Redis 框架介绍三、什么是消息订阅四、如何用Spring使用Redis作为消息订阅 一、Spring 框架介绍 Spring 框架是一个开源的 Java 平台,它提供了全面的基础设施支持,以便您可以更容易地开发 Java 应用程序。Spring 处理了基础…

【C++】优先队列的使用及模拟实现

💗个人主页💗 ⭐个人专栏——C学习⭐ 💫点击关注🤩一起学习C语言💯💫 目录 导读 一、什么是优先队列 二、优先队列的使用 1. 优先队列的构造 2. 优先队列的基本操作 3. 使用示例 三、优先队列模拟实…

[已解决]ImportError: DLL load failed while importing win32api: 找不到指定的程序。

使用pip install pywin32302安装后import找不到win32api 失败尝试 上网找别人的解决方案,大部分解决方案都是通过复制下面两个dll文件到 下面这个文件夹,并且复制到C:\Windows\System32,从而解决问题,但是我没能成功。 解决方…