网站建设的源代码,网站开发 法律,芜湖灵创网站建设,长沙房产网最新楼盘地图RIFF文件规范Peter Lee 2007-10-02 摘要#xff1a;RIFF全称为资源互换文件格式#xff08;Resources Interchange File Format#xff09;#xff0c;RIFF文件是windows环境下大部分多媒体文件遵循的一种文件结构#xff0c;常见的如WAV文件、AVI文件等。RIFF可以看成一种…RIFF文件规范Peter Lee 2007-10-02 摘要RIFF全称为资源互换文件格式Resources Interchange File FormatRIFF文件是windows环境下大部分多媒体文件遵循的一种文件结构常见的如WAV文件、AVI文件等。RIFF可以看成一种树状结构其基本组成单元为LIST和CHUNK分别如树的节点和叶子。 一、RIFF文件简介RIFF是Microsoft提出的一种多媒体文件的存储方式不同编码的音频、视频文件可以按照它定义的存储规则保存、记录各自不同的数据如数据内容、采集信息、显示尺寸、编码方式等。在播放器或者其它提取工具读取文件的时候就可以根据RIFF的规则来分析文件合理的解析出音频、视频信息正确进行播放。常见的RIFF文件有WAV文件和AVI文件它们都是遵循RIFF格式保存播放信息和播放数据的。 二、RIFF文件的组织结构在RIFF的文件存储规则中主要有几个重要的概念需要理解它们是FOURCC, CHUNK, LIST。下面会对这几个概念进行详细解释。RIFF格式是一种树状的结构其基本组成单元为LIST和CHUNK分别如树的节点和叶子。RIFF格式也类似windows文件系统的组织形式windows文件系统有目录和文件分别对应RIFF中的LIST和CHUNK。Windows文件系统中的目录可以包含子目录和文件而文件是保存数据的基本单元RIFF也使用了这样的结构。在RIFF文件中数据保存的基本单元是CHUNK可用于保存音视频数据或者一些参数信息LIST相当于文件系统的目录可以包含多个CHUNK或者多个LIST。1、FOURCC一个FOURCC(four character code)是一个占4个字节的数据一般表示4个ASCII字符。在RIFF文件格式中FOURCC非常普遍LISTtype, chunkid, 起始标识等信息都是用FOURCC表示的。FOURCC一般是四个字符如”abcd”这样的形式也可以三个字符包含一个空格如”abc ”这样的形式。2、CHUNK一个CHUNK数据块的数据结构如下ChunkID ChunkSize ChunkDataChunkID是一个FOURCC标识该CHUNK的名称类似于windows文件系统中的文件名。 ChunkSize占用4个字节表示ChunkData部分的数据内容大小以字节为单位。ChunkData则是CHUNK中实质性的内容保存的是CHUNK的具体数据内容。一个CHUNK保存的数据可以是关于声音文件的编码方式、音视频采样等信息也可以是音频或视频数据。具体表示是哪类数据则通过ChunkID来标识。3、LIST一个LIST数据块的数据结构如下“LIST” ListSize ListType ListData“LIST”也是一个FOURCC而且是固定的每个LIST都是以“LIST”为开头。ListSize占用4个字节表示ListType和ListData两部分加在一起的大小。ListType是一个FOURCC是对LIST具体包含的数据内容的标识。而ListData则是该LIST的数据内容区有CHUNK和子LIST组成它们的个数和组成次序可以是不确定的。4、RIFF文件头RIFF文件头的数据结构如下“RIFF” FileSize FileType FileData“RIFF”也是一个FOURCC用于标识该文件是一个RIFF格式的文件。FileSize是一个4字节的数据给出文件的大小但仅包括FileType和FileData两部分。FileType是一个FOURCC用来说明文件类型如”WAV”, “AVI”等。FileData部分表示文件的具体内容可以是LIST也可以是CHUNK. 三、RIFF文件举例——WAV文件WAV是waveform(波形)的所写该声音文件是一个典型的按照RIFF规则组织的文件。一般在一个WAV文档中主要用到RIFF文件头和CHUNK块两个概念。图1所示为windows自带录音器所录制一段WAV语音文件的结构图。这个文件主要由三个CHUNK组成它们的名称分别是”fmt””fact和””data”前两个CHUNK包含的是编码、回放等信息”data”CHUNK包含的是语音数据。
图1 WAV示例文件结构图 四、RIFF解析器——RIFFspotRIFFspot用树方式直观展现wav,avi等RIFF文件的结构信息图2为RIFFspot截图。 图2 RIFFspot截图 RIFFspot程序下载页面http://blog.csdn.net/sunshine1314/archive/2007/09/22/1795739.aspx
本文来自CSDN博客转载请标明出处http://blog.csdn.net/sunshine1314/archive/2007/10/10/1817991.aspx