1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > WAV文件格式分析(附AVI文件格式分析)

WAV文件格式分析(附AVI文件格式分析)

时间:2021-11-19 14:23:45

相关推荐

WAV文件格式分析(附AVI文件格式分析)

目录

一、WAV格式简介

二、WAV格式结构

1.RIFF chunk

2.Format chunk

3.Data chunk

三、AVI文件格式分析

Q1:音频和视频的数据是如何放置的?交织放置or连续放置?

Q2:一个视频帧大约占据多少字节?一个音频数据块大约占用多少字节?

参考资料

一、WAV格式简介

Waveform Audio File Format(WAVE,又或者是因为WAV后缀而被大众所知的),它采用RIFF(Resource Interchange File Format)文件格式结构。通常用来保存PCM格式的原始音频数据,所以通常被称为无损音频。其文件扩展名为WAV,是WaveForm的简写,也称为波形文件,可直接存储声音波形,还原的波形曲线十分逼真。

本文将以下列音频为例进行分析:

该WAV文件的大小是2309966字节,时长为13秒。

二、WAV格式结构

WAV文件以chunk为最小存储单位。一般由三个区块组成:

RIFF chunkFormat chunkData chunk

此外,文件中还可能包含一些可选的区块,如Fact chunk、Cue points chunk、Playlist chunk、Associated data list chunk等。

1.RIFF chunk

实例分析:

“52 49 46 46”:是Ascii字符“RIFF”,这部分是固定格式,表明这是一个WAVE文件头。“46 3F2300”:是这个WAV文件的数据大小,这个大小包括除了前面4个字节的所有字节,也就等于文件总字节数减去8。16进制的“46 3F 23 00”对应是十进制的“2309958”。(注意:读取的方式应是低位在前高位在后,也就是要计算“00 23 3F 46”对应的十进制值。)“57 41 56 45”:是Ascii字符“WAVE”,是固定格式。

2.Format chunk

实例分析:

“66 6D 74 20”:表示标识符“fmt”。“10 00 00 00”:对应数字“16”,表示后面有一段的数据长度是16个字节,即偏移量从14H~23H。“01 00”:对应数字“1”,表示该数据以PCM方式进行编码。“02 00”:对应数字“2”,表示该文件是双声道文件。“44 AC 00 00”:对应数字“44100”,表示采样频率为44100Hz,采样率(每秒样本数),表示每个通道的播放速度。“10 B1 02 00”:对应数字“176400”,表示波形音频数据传输速率为176400(=2*44100*16/8)。“04 00”:对应数字“4”,表示块对其单位,说明该播放软件一次需要处理多个4字节大小的数据(=2*16/8)。“10 00”:对应数字“16”,表示采样大小为16Bits,是每样本的数据位数。若有多个声道,则每个声道样本大小都一样, 高八位表示左声道,低八位表示右声道。

3.Data chunk

实例分析:

“64 61 74 61”:表示Ascii字符“data”,标示头结束,开始数据区域。“00 3F 23 00”:对应数字“2309888”,表示数据长度为2309888个字节。N = ByteRate * seconds音频文件播放时间为:2309888/176400≈13s

三、AVI文件格式分析

Q1:音频和视频的数据是如何放置的?交织放置or连续放置?

观察AVI文件:

“00dc”表示压缩后的视频数据,“01wb”表示一个wave块即音频数据。由此可见,音频和视频的数据是交织放置的。

Q2:一个视频帧大约占据多少字节?一个音频数据块大约占用多少字节?

avi的二进制文件是按小端原则存放的,即数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。

视频

“BE 91 00 00”→37310字节

“73 05 00 00”→1395字节

“4C 01 00 00”→332字节

视频数据块大小不一样。

音频

“67 01 00 00”→359字节

音频数据块大多数是359字节。

参考资料:

【1】wav文件格式分析与详解 - nigaopeng - 博客园 ()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。