[数据压缩]WAV文件格式分析及AVI数据结构分析
目录
WAV文件格式分析
WAV概述
WAV文件格式分析
根据实例的WAV文件结构分析
AVI数据结构
音频与视频的数据放置方式
视频帧与音频帧的字节数
参考引用
WAV文件格式分析
WAV概述
Waveform Audio File Format(WAVE),后缀采用WAV,采用Resource Interchange File Format(RIFF)文件格式结构。通常用来保存PCM格式的原始音频数据,所以通常被称为无损音频。但是严格意义上来讲,WAV也可以存储其它压缩格式的音频数据。
WAV文件格式分析
WAV文件遵循RIFF规则,其内容以区块chunk为最小单位进行存储。WAV文件一般由3个区块组成
RIFF chunk
、Format chunk
和Data chunk
。同时文件中还可能包含一些可选的区块。
RIFF Chunk
用于说明文件所保存的内容,结构见下表。
名称 | 偏移地址 | 字节数(Byte) | 端序 | 说明 |
ID | 0x00 | 4 | 大端 |
标识‘RIFF’ (0x52494646) |
Size | 0x04 | 4 | 小端 | fileSize - 8 |
Type | 0x08 | 4 | 大端 |
‘WAVE’ (0x57415645) |
Format Chunk
用于说明音频文件的格式,结构见下表。
名称 | 偏移地址 | 字节数(Byte) | 端序 | 说明 |
ID | 0x00 | 4 | 大端 |
标识‘fmt’ (0x666D7420) |
Size | 0x04 | 4 | 小端 | 区块长度16 |
AudioFormat | 0x08 | 2 | 小端 | 音频格式 |
NumChannels | 0x0A | 2 | 小端 | 声道数 |
SampleRate |
0x0C |
4 | 小端 | 采样率 |
ByteRate | 0x10 | 4 | 小端 | 每秒数据字节数 |
BlockAlign | 0x14 | 2 | 小端 | 每个采样所需字节数 |
BitsPerSample | 0x16 | 2 | 小端 | 每个采样存储的bit数 |
Data Chunk
用于记录音频数据,结构见下表。
名称 | 偏移地址 | 字节数(Byte) | 端序 | 说明 |
ID | 0x00 | 4 | 大端 |
标识‘data’ (0x64617461) |
Size | 0x04 | 4 | 小端 | 数据的长度N |
Data | 0x08 | N | 小端 | 音频数据 |
端序说明
大端:数据低位保存在内存的高地址中,数据高位保存在内存的低地址中。
小端:数据低位保存在内存的低地址中,数据高位保存在内存的高地址中。
根据实例的WAV文件结构分析
根据所得到的WAV对应的Hex文件对每个Chunk分别进行分析。
RIFF Chunk
52494646: RIFF标志
24741100:后面的字节数为0x117424,即文件总字节数1143852,与文件所显示的相同
57415645:WAVE标志
Format Chunk
666D7420:fmt标志
10000000:Format Chunk长度0x10,即16个字节
0100:0x01,即PCM 脉冲编码调制格式
0100:0x01,即单声道
80BB0000:0xBB80,即48k采样率
00770100:0x017700,即每秒数据96k字节,根据公式:声道数×采样频率×每样本的数据位数/8,可以得到相同的结果
0200:每个采样2个字节
1000:0x 00 10,即16bit采样
Data Chunk
64617461:data标志
00741100:0x117400,即数据长度为1143808字节
后续的数据为音频数据部分
AVI数据结构
音频与视频的数据放置方式
音频与视频的数据交织放置。
AVI文件中的movi列表中存储流的实际数据,movi列表中的子块类型包括:##db(未压缩的视频帧),##dc(压缩的视频帧),##pc(新的调色板),##wb(音频数据)。四字符码来表征它的类型,这个四字符码由2个字节的类型码和2个字节的流编号组成。如下图所示,音视频数据在其中以交错方式存放,视频为00dc,音频为01wb。
视频帧与音频帧的字节数
每一个音频的数据块大小都是固定的字节数
但视频帧的数据块大小不同
参考引用
WAV文件格式详解_imxiangzi的博客-CSDN博客_wav格式
WAV 文件解析_0点51 胜的博客-CSDN博客
AVI 文件格式分析_Enbiting的博客-CSDN博客
avi 文件格式解析_壊壊壊人噢的博客-CSDN博客
[数据压缩]WAV文件格式分析及AVI数据结构分析相关推荐
- 数据压缩——WAV文件格式分析
目录 WAV文件概述 WAV文件格式 一.案例分析 二.代码分析 1.建立结构体 2.读取数据段长度 3.结果 参考 WAV文件概述 WAV文件是在PC机上常见且最经典的多媒体音频文件,文件扩展名为W ...
- 【数据压缩3】AVI文件格式分析及问题回答+WAV文件格式分析
目录 AVI文件问题回答 1.AVI文件音频和视频的数据是如何放置的,交织放置还是连续放置? 2.AVI文件一个视频帧大约占据多少字节?一个音频数据块大约占用多少字节? WAV文件格式分析 文件概述 ...
- WAV文件格式分析(附AVI文件格式分析)
目录 一.WAV格式简介 二.WAV格式结构 1.RIFF chunk 2.Format chunk 3.Data chunk 三.AVI文件格式分析 Q1:音频和视频的数据是如何放置的?交织放置or ...
- wav文件格式分析与详解
wav文件格式分析与详解 WAV文件是在PC机平台上很常见的.最经典的多媒体音频文件,最早于1991年8月出现在Windows 3.1操作系统上,文件扩展名为WAV,是WaveFom的简写,也称为波形 ...
- wav文件格式分析详解
wav文件格式分析详解 作者:曹京 日期:2006年7月17日 一.综述 WAVE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的. RIFF是英文Resource Inte ...
- 【数据压缩】第三周作业——WAV文件格式分析
1 WAV文件格式概述 WAV为微软公司(Microsoft)开发的一种声音文件格式,它符合RIFF(Resource Interchange File Format)文件规范,用于保存Windows ...
- 音频wav文件格式分析
一.音频文件 /usr/share/sounds/deepin/stereo/desktop-login.wav 二.文件信息 syli@syli-PC:~/work/repo/Demo/pa$ ...
- linux 音频文件格式,Linux音频驱动-WAV文件格式分析
实例分析 1. 在网上下载wav的音频文件,使用mediainfo显示该音频文件的详细信息. root@test:~$ mediainfo ~/Download/test.wav General C ...
- 第三周:RIFF、AVI、WAV文件格式分析
RIFF格式 资源互换文件格式(Resources interchange File Format),RIFF文件市微软提出的windows环境下大部分多媒体文件遵循的一种文件结构,如WAV文件.AV ...
最新文章
- POS主密钥与工作密钥关联详解
- java stringbuilder换行_初遇Java StringBuffer 和 StringBuilder 类利用 StringBuilder 给TextView实现换行处理...
- jquery动态加载问题
- python buildin 中的一些类中为什么方法的内容都是pass?
- Spark 配置Kryo序列化机制注意细节
- android百分比扩展枯,Android 增强版百分比布局库 为了适配而扩展
- mysql千万级数据索引查询_mysql千万级数据量根据索引优化查询速度
- oracle修改数据库国际字符集,Oracle修改数据库字符集
- [Hadoop]Sqoop 1.4.2中文文档(二)之数据导出
- Python游戏开发入门1 Pygame最小开发框架
- STM32利用Flymcu进行烧录
- 基于Scala版本的TMDB大数据电影分析项目
- 腾讯QQ2019最新版 v9.1.0(24712) 免安装绿色版 显IP去广告完整版
- nat64 dns64 linux 内核支持,搭建NAT64/DNS6实现IPv4/v6转换
- python labelImg xml 格式的数据集解析及可视化
- 微信公众号自定义菜单创建接口
- Win10 微软拼音开启小鹤双拼的两种方法
- 奢华酒店品牌美高梅将入驻上海西岸;ClinChoice昆翎完成1.5亿美元融资 | 美通企业日报...
- 全球与中国琴键式拨码开关市场现状及未来发展趋势
- 温湿度控制系统c语言,基于单片机的温湿度控制系统设计
热门文章
- 逆向分析某office插件
- python中wx模块介绍_python使用wxpython的 wx.aui 进行布局
- 适配Oracle版本的ojbc驱动包版本,以及ojdbc驱动包的下载地址
- 金山词霸的词库读取程序
- BB10 Cascades Beta3已经发布!
- 苏州科技大学java考试_2020年下半年江苏苏州科技大学计算机等级考试报名工作通知...
- 【RDMA】21. RDMA之内存地址基础知识
- 让黑莓模拟器支持中文显示
- mysql自动排课_jsp1934高校智能排课系统 mysql
- 游戏显卡选购入门资料