[数据压缩]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)端序说明
ID0x004大端

标识‘RIFF’

(0x52494646)

Size0x044小端fileSize - 8
Type0x084大端

‘WAVE’

(0x57415645)

 Format Chunk

用于说明音频文件的格式,结构见下表。

名称偏移地址字节数(Byte)端序说明
ID0x004大端

标识‘fmt’

(0x666D7420)

Size0x044小端区块长度16
AudioFormat0x082小端音频格式
NumChannels0x0A2小端声道数
SampleRate

0x0C

4小端采样率
ByteRate0x104小端每秒数据字节数
BlockAlign0x142小端每个采样所需字节数
BitsPerSample0x162小端每个采样存储的bit数

Data Chunk

用于记录音频数据,结构见下表。

名称偏移地址字节数(Byte)端序说明
ID0x004大端

标识‘data’

(0x64617461)

Size0x044小端数据的长度N
Data0x08N小端音频数据

端序说明

大端:数据低位保存在内存的高地址中,数据高位保存在内存的低地址中。

小端:数据低位保存在内存的低地址中,数据高位保存在内存的高地址中。

  • 根据实例的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博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值