松下DC-GH6 MOV音频使用可变长且存在00的特殊案例分析

松下mov常见的是GH系列机型,其音频格式一般采用SOWT其实是PCM,只不过一般是一个声道TRAK(左右两个声道合成到一个TRAK中)。此次遇到的DC-GH6却是一个4声道独立TRAK的松下MOV文件,这种的倒是在索尼上也有遇到过,不过松下的确实相对特殊,我们来一起看下这个特殊的四路PCM。

故障文件:222M样本文件

故障现象:

针对样本文件做了清空结构体操作,来测试下程序查找数据区(音、视频帧)的极限。

故障分析:

软件使用环境:大类->高清视频,小类->打开样本文件,其它设置为默认情况下的扫描结果如下图。可以看到一个文件被分隔出36个数据区,这个明显是不正常的。

分析及解决方案:

使用分析工具可以查看到其采用的音频格式和常见的SOWT一样是LPCM,唯一的区别是有4个单独的TRAK来负责记录每一个声道,如下图:

独立的TRAK正常情况下就会产生四个独立的音频数据区,这个是必然的(如下图),因为音频不存在逻辑TRAK其是需要有实体数据来体现的。而松下使用的是四个声道连续存储的方案,这也是高清音频最优的一种方案。连续存储方便编码和解码时连续IO,这样可以有效降低资源的占用,提升IO效率。

特殊之处有两个:

  1. 音频数据块长度竟然使用了动态长度VBR的方案,这个在高清音频中是极罕见的,因为本身PCM就是固定长度,所以一般是使用固定长度。如下图:
  1. 音频块中实际上只存储了两个TRAK,另外两个TRAK全部为00,这种情况极有可能是物理硬件上可能仅有两个拾音MIC, 但是其支持最高四个拾音MIC(这个和支持八声道但只在硬件上给出四个四个拾音MIC一个道理)。这个反映到数据底层,就是会有两个TRAK的数据区全部为00,因为没有波形输入,如下图。

有了分析,就会有对应的解决方案,通过在高级设置修改参数就可以成功解决,连续的两个音频块MAX值为134844,只要设置这个值就可以了。

扫描设置->高级设置

视频类通用设置->00/FF最大长度 填入值13744, 注意这里单位是字节,点击确定

重新扫描可以看到程序已经成功识别了整个文件,如下图。这个特殊的情况告诉我们,松下是一个另类要小心对待,还有就是只要经过详细的分析所有问题都会找到一个对应的方案。

相关推荐
怪奇云呼军5 小时前
知识库也会注入指令?闪电智能VoiceAgent 如何防住 Prompt Injection
人工智能·python·算法·云计算·音视频
EasyDSS5 小时前
开会不用装App:私有化音视频系统EasyDSS即时视频会议,浏览器点开就能聊,AI帮你写纪要
人工智能·音视频
公子小六6 小时前
基于.NET的Windows窗体编程之WinForms音频控件
windows·microsoft·c#·.net·音视频·winforms
见山是山-见水是水7 小时前
鸿蒙版 Flutter Video 视频播放组件:播放控制、全屏切换与倍速播放
flutter·音视频·harmonyos
Claire_889 小时前
从视频字幕到知识图谱:基于大语言模型的自动思维导图生成工具调研
语言模型·音视频·知识图谱
hz567899 小时前
视频会议远程终端选型要点与部署实践
硬件架构·音视频·信息与通信·智能硬件
乐橙开放平台9 小时前
监控开放平台是什么?从设备接入到视频能力开放一次讲清
网络·人工智能·音视频
找方案9 小时前
MiniMax开源5款大模型全链路,从文本到视频生成全覆盖
开源·音视频·视频生成·开源大模型·minimax·多模态生成·h3模型
ai产品老杨11 小时前
AI视频平台权限配置参数配置说明与排查指南
人工智能·音视频
AI创界者11 小时前
Android 应用安全防御:APK 加密保护、防反编译与加固最佳实践
人工智能·音视频