目录
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
、Formatchunk
和Datachunk
。同时文件中还可能包含一些可选的区块。
RIFF Chunk
用于说明文件所保存的内容,结构见下表。
Format Chunk
用于说明音频文件的格式,结构见下表。
Data Chunk
用于记录音频数据,结构见下表。
端序说明
大端:数据低位保存在内存的高地址中,数据高位保存在内存的低地址中。
小端:数据低位保存在内存的低地址中,数据高位保存在内存的高地址中。
根据实例的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博客