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

news2024/12/26 7:59:06

松下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, 注意这里单位是字节,点击确定

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python(PySpark案例实战)

为什么要学习PySpark? Spark对Python语言的支持,重点体现在,Python第三方库:PySpark之上。 PySpark是由Spark官方开发的Python语言第三方库。 Python开发者可以使用pip程序快速的安装PySpark并像其它三方库那样直接使用。 PySp…

小谈设计模式(1)—总序

小谈设计模式(1)—总序 开始操作设计模式总论设计模式是什么组成要素模式名称问题描述解决方案效果描述 设计模式有什么作用提供可重用的解决方案提高代码的可读性和可维护性促进代码的可扩展性提高代码的灵活性和可重用性促进团队合作和沟通作用总结 为…

基于SpringBoot的新闻管理系统

基于SpringBoot的新闻管理系统【附源码文档】、前后端分离系统 开发语言:Java数据库:MySQL技术:SpringBootVue工具:IDEA/Ecilpse、Navicat、Maven 【主要功能】 前台 首页新闻信息校园论坛留言交流个人中心 后台 个人中心用…

报错:数组明明有内容但打印的length是0,学会使用 async 和 await 解决问题

文章目录 一、问题二、分析三、解决1.将异步改为同步2.设置延迟 一、问题 在日常开发中,for 循环遍历调用接口,并将接口返回的值进行拼接,即push到一个新的数组中,但是在for循环内部是可以拿到这个新的数组,而for循环…

“投资教父”熊晓鸽老了,IDG光环不再

作者 | 鸠白 艺馨 排版 | Cathy 监制 | Yoda 出品 | 不二研究 2017年,世界互联网大会上,“投资教父”熊晓鸽问映客的创始人:“今年你们利润能有多少?” 对方笑答:“5个亿吧!” “才五个亿&#xff1f…

产品MC动画宣传片制作团队安排

在产品MC动画宣传片的制作过程中,通常需要组建一个专业的团队,以确保各个方面的工作能够高效完成。以下是一个常见的产品MC动画宣传片制作团队的安排: 1.制片人(Producer):负责项目的整体策划和管理&#…

华为云云耀云服务器L实例评测|有关华为云云耀云服务器L实例你可能不知道的事情

前言 最近华为云推出了华为云云耀云服务器L实例。主打一个轻量级云服务器,即开即用,轻松运维,开启简单上云第一步。具有智能不卡顿,价优随心用,上手更简单,管理特省心。 在推出的第一时间我就买了一台来耍…

H5移动端选择器,layPicker移动端日期选择器,jquery移动端自定义选择器

前言 基于jquery实现的,H5移动端选择器 默认自带日期选择,可自定义选择,和自定义html 效果图 微信模拟版 旧版 使用方式简单 layPicker.init({elem: #year, // 绑定元素options: year, // 设置为日期选择器(日期选择器可设…

芯科蓝牙BG27开发笔记2-调试第一个程序

soc-Blinky程序去掉bootloader功能之后就可以下载运行了,但是时不时会在连接的时候死机,进入debug,发现: 查代码,该函数被注册到io stream中,但它是在app.c中调用app_log时实际调用,例如&#x…

bug总结问题集和知识点集

目录 一 bug问题集1. 端口被占用 二 oracle1. oracle查看版本怎么操作2. oracle数据库:参数个数无效![在这里插入图片描述](https://img-blog.csdnimg.cn/6a2eebc164f9406c81525371893bbd11.png) 三 mybatis1. mybatis用注解如何实现模糊查询 四 List1. 如何判断Jav…

Kubernetes 部署发布镜像(cubefile:0.4.0)

目录 实验:部署发布镜像(cubefile:0.4.0) 需求分析: 1、部署Kubenetes环境: 2、撰写 cubefile-deployment.yaml 文件 代码解释: 遇到的问题: 问题解决 : 3、撰写 cubefile-se…

SSL证书验签时要带www吗?

单域名证书:顶级域名如www.abc.com或abc.com 不管你提交订单的时候填写的域名是带www或不带www的域名,签发的证书均支持www和不带www的域名 单域名证书:子域名如mail.abc.com,签发的证书仅支持mail.abc.com 通配符证书&#xff…

LeetCode 50题:实现Pow(x,n)

题目 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 示例 1: 输入:x 2.00000, n 10 输出:1024.00000示例 2: 输入:x 2.10000, n 3 输出:9.26…

你知道SOLIDWORKS焊件类零件有个快速草图建立工具吗?

背景: 焊件是SOLIDWORKS中一个重要的组成模块,通过该模块可以很快的建立起一个庞大的型材结构网络。 但是我们也明白焊件是基于草图的,普通的方式建立复杂的草图是需要较多的精力和时间,本次视频的出发点就是针对此问题给出的一个…

Python网页请求超时如何解决

在进行网络爬虫项目时,我们经常需要发送大量的请求来获取所需的数据。然而,由于网络环境的不稳定性,请求可能会因为超时而失败。请求超时可能导致数据获取不完整,影响爬虫的效率和准确性。此外,频繁的请求超时可能会被…

一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到

网上找了好久没解决 问题代码: 11-Sep-2023 16:47:22.109 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到 11-Sep-2023 16:47:22.109 严重 [RMI TCP…

二叉树题目:二叉树的层平均值

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:二叉树的层平均值 出处:637. 二叉树的层平均值 难度 4 级 题目描述 要求 给定一个二叉树的根结点 …

新人白嫖:基于揽睿星舟云部署Stable Diffusion,10 分钟体验 SDXL 1.0 超强功能(AI绘画保姆级教程)

一、前言 SDXL 1.0 自推出到现在,已经有一段时间了,网上也看到了用 SDXL 做出的各种惊艳的图,相对于 Stable Diffusion 之前的版本来说,功能确实强大了很多。 SDXL 1.0 给我们带来最大的好处就是,基本可以实现靠嘴出图…

Openlayers 教程 - feature(图形要素)三种悬浮事件(移入移出)以及适用范围

Openlayers 教程 - feature(图形要素)两种悬浮事件以及使用范围 核心代码完整代码:在线示例 之前介绍了 Openlayers 的点击事件,这次介绍一下悬浮事件。 悬浮事件和点击事件还是有区别的:一般点击事件是一次事件&…

element plus表格合并行

/*** 合并相同数据,导出合并列所需的方法(只适合el-table)*/ export function getRowSpanMethod(data, rowSpanArray) {/*** 要合并列的数据*/const rowSpanNumObject {};//初始化 rowSpanNumObjectrowSpanArray.map((item) > {rowSpanNumObject[item] new Arr…