[数据压缩]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。同时文件中还可能包含一些可选的区块。

[数据压缩]WAV文件格式分析及AVI数据结构分析_第1张图片

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

 [数据压缩]WAV文件格式分析及AVI数据结构分析_第2张图片

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

[数据压缩]WAV文件格式分析及AVI数据结构分析_第3张图片

 64617461:data标志

00741100:0x117400,即数据长度为1143808字节

后续的数据为音频数据部分

AVI数据结构

  • 音频与视频的数据放置方式

音频与视频的数据交织放置

AVI文件中的movi列表中存储流的实际数据,movi列表中的子块类型包括:##db(未压缩的视频帧),##dc(压缩的视频帧),##pc(新的调色板),##wb(音频数据)。四字符码来表征它的类型,这个四字符码由2个字节的类型码和2个字节的流编号组成。如下图所示,音视频数据在其中以交错方式存放,视频为00dc,音频为01wb。

[数据压缩]WAV文件格式分析及AVI数据结构分析_第4张图片

  • 视频帧与音频帧的字节数

每一个音频的数据块大小都是固定的字节数

但视频帧的数据块大小不同

参考引用

WAV文件格式详解_imxiangzi的博客-CSDN博客_wav格式

WAV 文件解析_0点51 胜的博客-CSDN博客

AVI 文件格式分析_Enbiting的博客-CSDN博客

avi 文件格式解析_壊壊壊人噢的博客-CSDN博客

你可能感兴趣的:(数据压缩,音视频)