AVI文件与WAV文件格式

2023-11-10

AVI 与WAV文件都属于RIFF文件,因此都遵循RIFF文件的格式要求

   先看看RIFF文件的格式:

       第一:"RIFF"+“大小"+"AVI/WAV"+数据

       第二:RIFF 文件中实际的数据通常采用列表(list)和块(Chunk)的形式表示

                列表结构为:'list'+listsize+listType+listData

               块的结构:'ckID'+'ckSize '+'ckData'

 

 

(1)AVI文件格式

         第一: AVI文件=‘一个RIFF文件头’+‘两个列表’+‘一个可选的索引块’

         第二:AVI文件="RIFF"+“大小"+"AVI"+数据

         第三:第一个列表:hdr1='list'+'listSize'+'hdr1'+'avih块'+'一个或者几个'str1'子列表

 

                              avih块='ckID'+'ckSize '+'ckData'

                                        ='avih'+'Sizeof(AVIMAINHEADER)'+AVIMAINHEADER

 

所以第一个列表hdr1='list'+'listSize'+'hdr1'+'avih块'

                            ='list'+'listSize'+'hdr1'+'avih'+'Sizeof(AVIMAINHEADER)'+AVIMAINHEADER  

 

    接下来就是一个或者几个'str1'子列表(有多少个流就有多少个str1列表)

           每个str1子列表必须包括一个‘strh’块和一个‘strf’块

             strh块='strh'+Sizeof(AVISTREAMHEADER)+AVISTREAMHEADER  +'strf'+Sizeof(WAVEFORMATEX/BITMAPINFOR)       +BITMAPINFOR/WAVEFORMATEX

 

 

      第四:第二个列表:move='list'+'listSize'+'move'+Data

       第五:索引块='idx1'+Sizeof(AVIOLDINDEX)+AVIOLDINDEX

 

 

 

(2)wav文件格式

      第一:wav文件='一个RIFF文件头'+'两个子块'

               这两个子块的ID分别为'fmt'和'data'

              其中"fmt"子块由结构WAVEFORMATEX所组成,其子块的大小就是sizeofof(WAVEFORMATEX),数据组成就是WAVEFORMATEX结构中的数据。

        wav文件='RIFF'+'大小‘+'wav'+两个块

        wav文件='RIFF'+'大小'+wav'+'fmt'+Sizeof(WAVEFORMATEX)+'WAVEFORMATEX+'data'+'声音数据大小'+

'声音数据'

 

 

 

 

 

 

 

 

             

                                                              

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AVI文件与WAV文件格式 的相关文章

随机推荐

  • vuecli项目打包

    1 有几个问题 1 你知道软件的开发流程吗 答 需求获取 需求分析 设计 开发 测试 打包部署 上线 2 为什么要打包 答 前端的html css js越来越多 打开一个页面发送http也就变得很多 让后端服务器有很大压力 前端不利于性能优
  • 写代码思维1

    先要有思路 然后再开始写代码 刚开始可以先将思路写在文档上 比如流程图之类 然后再将其转化为代码 思路 翻译成代码 开关灯flag按钮思维 include
  • 力导向图知识图谱可视化(节点可点击)

    用d3 js的力导向图写了一个知识图谱可视化的demo 节点可点击着实费了我不少功夫 如果小伙伴有更简单的方法还求留言呢 由于数据市实验室的某项目 不太好直接贴出来 反正这样的格式就好 反正是给大家参考的 name name type 0
  • 时间序列完全教程(R)

    简介 在商业应用中 时间是最重要的因素 能够提升成功率 然而绝大多数公司很难跟上时间的脚步 但是随着技术的发展 出现了很多有效的方法 能够让我们预测未来 不要担心 本文并不会讨论时间机器 讨论的都是很实用的东西 本文将要讨论关于预测的方法
  • Mysql底层数据结构学习总结

    索引数据结构 Mysql数据表中的数据在磁盘中分布位置可能是不连续的 在读取数据时 每读取一条数据就进行一次磁盘IO效率是很低的 为了减少IO次数 索引就诞生了 通过索引 我们可以快速定位到数据位置 增加查询效率 索引是一种排好序的数据结构
  • 深度学习总结——用自己的数据集微调CLIP

    CLIP概述 CLIP Contrastive Language Image Pretraining 是由OpenAI开发的一种深度学习模型 用于将图像和自然语言文本进行联合编码 它采用了多模态学习的方法 使得模型能够理解图像和文本之间的语
  • lbs、agps流程

    AT指令流程 CTZV 19 1 8 8 59 6 23 CIEV service 1 CIEV roam 0 CREG 1 AT CGDCONT 1 IP cmnet AT CGDCONT 1 IP cmnet OK AT CGACT 1
  • RTC和RTMP

    RTC 直播发布流程 offer answer 模型 直播订阅流程 1 使用UDP私有协议来进行媒体拉流 2 适用高互动性的直播场景 如在线教育 电商直播 远程医疗 3 低延时 lt 300ms 和无卡顿 4 快速切换分辨率 无需写上 服务
  • 在多线程中使用tensorRT

    仅记录 转自https www coder work article 4985246 import pycuda autoinit Create CUDA context import pycuda driver as cuda Main
  • Ubuntu ssh连接access deny

    一 尝试了修改配置的方法 不能解决问题 1 修改ssh配置文件vim etc ssh sshd config 设置为允许root远程登录 2 找到PermitRootLogin prohibie password 修改为 PermitRoo
  • windows11 使用 wsl2 安装 archLinux

    windows11 使用 wsl2 安装 archLinux 下载 archLinux 下载 tar gz 文件 下载地址 https mirrors tuna tsinghua edu cn archlinux iso latest 启用
  • 编译ROCKSDB总结

    Rocksdb是挺好的一个东西 就是取得一个可用的库太麻烦 之前我是用的rocksdbsharp里面他有编译好windows 和 linux的库 兼 容性还挺好 ubuntu win10 直接跑没毛病 可惜他是去年build的了 我要用的c
  • C++ - 强引用和弱引用

    原来 我认为 为什么会有引用计数这样的技术 是为了内存自动回收和节省内存 但是读完下面的几节后 内存自动回收是一个原因 但是节省内存并不是真正的原因 真正的原因是有些对象如果被复制在现实中是不合事实的 为什么有引用计数 C 中存在两种语义
  • vite vue3 规范化与Git Hooks

    优质资源分享 学习路线指引 点击解锁 知识定位 人群定位 Python实战微信订餐小程序 进阶级 本课程是python flask 微信小程序的完美结合 从项目搭建到腾讯云部署上线 打造一个全栈订餐系统 Python量化交易实战 入门级 手
  • 在Windows Server2016中安装SQL Server2016

    SQL Server2016安装硬 软件条件 点击打开链接 WinServer2016的安装参见 在虚拟机中安装Windows Server2016 1 SQL Server2016下载地址 1 SQL Server2016安装包 2016
  • SuperPunch - unity3D拳击小游戏项目源码

    SuperPunch是一个完整的项目 准备发布并且适合移动设备 它包含构建顶头拳击游戏的所有必要内容 特征 移动友好的纹理 分层的 包括 SVG 文件 包括 PNG文件 包括 C 脚本 包括文档 包括6架战斗机 包括战士动画 闲置 拳击 受
  • QChart入门教程-绘制正弦曲线

    1 创建界面 将widget作为容器进行绘图 并将widget提升为QChartView类 1 1 单击widget 右键中选择 提升 提升的类名称中填写 QChartView 会自动生成头文件名 选择 添加 将类和头文件添加进要提升的类中
  • ElasticSearch第十八讲 ES-Master节点职责和ES是如何做到数据实时性的

    Elasticsearch Master 节点的职责 由主节点负责ping 所有其他节点 判断是否有节点已经挂掉 创建或删除索引 决定分片在节点之间的分配 稳定的主节点对集群的健康是非常重要的 虽然主节点也可以协调节点 路由搜索和从客户端新
  • 6.84 C++ 遍历数组的几种方式

    1 计算出数组长度进行遍历 数组类型确定 数组中每个元素本身的字节大小就已经确定 利用 sizeof 函数可以计算出数组长度 而后利用 for 循序进行数组的遍历 2 使用类似 foreach 的方式进行遍历 C 中也可使用类似 forea
  • AVI文件与WAV文件格式

    AVI 与WAV文件都属于RIFF文件 因此都遵循RIFF文件的格式要求 先看看RIFF文件的格式 第一 RIFF 大小 AVI WAV 数据 第二 RIFF 文件中实际的数据通常采用列表 list 和块 Chunk 的形式表示 列表结构为