avi视频文件头十六进制码分析AVI格式
视频编码 MPEG2 MPEG4 DIVX Xvid H264 VC1封装格式MKV AVI RMVB MPG TS解析
视频编码 MPEG2 MPEG4 DIVX Xvid H264 VC1封装格式MKV AVI RMVB MPG TS解析先简单说一下,mkv和avi的格式只是封装容器,里面封装的是视频流+音频流。
容器不会影响画面质量,影响质量的是容器里面封装的什么东西。
所以你换换容器,而里面的东西不换的话,对清晰度字幕音频等是没有影响的。
补充一下视频基础知识吧,可能有不对的地方。
一,首先说,视频格式并不能决定清晰度。
影片的清晰度一要看分辨率,二要看片源,三要看码率。
当然有些特定的格式决定了自身的清晰度。
但是有一点是确定的,一个电影采用同一种视频编码,越清晰的体积越大。
目前视频都是由音频流+视频流组成。
格式只是封装容器,例如rmvb,mkv,avi,mpg,ts等等。
常见的视频流有MPEG2,MPEG4,H264,VC1等等,MPEG2是比较老式的视频编码,压缩率很低。
MPEG4是比较新的编码,常见于DVD影片等等,压缩率一般,最新的MPEG4视频编码是Xvid,还有比较老的DivX.H264(X264是H264的一种)是新生的视频编码,常见于高清视频中,压缩率高,但是要求计算机的计算能力也高,对计算机的配置要求较高。
VC1是微软推出的新一代视频编码,跟H264差不多。
根据压缩率的比较,同一个电影,同样的清晰度,MPEG2的体积>MPEG4>H264=VC1.但是压缩率越高,对计算机的要求也越高。
二,说一下几种常见的封装容器(即格式)1.rmvb,rmvb这种格式方便之处在于体积小,不能修改的内置字幕(也是rmvb 的硬伤,经常见rmvb上的广告和一些不得体的字幕等等)。
但体积和rmvb的视频编码(real9.0)决定了rmvb不会太清晰,分辨率只有(640-800)*(272-500),码率也只有4-5MB/分钟。
也许有人说了,在我电脑上看rmvb很清晰啊,当然有可能,一般17寸纯平显示器的分辨率为1024*768,如果rmvb达到720*300的分辨率,看着就比较清晰了。
avi文件格式
1.从(00000000-000007F3)为一个WindowsA VI文件的信息区部分。
它是文件的第一个LIST块。
在它的内部记录着整个文件的系统构成,如告诉播放软件“我是一个AVI文件”“在我的体内有几个数据流”“每个数据流包含着什么数据类型——图像、声音或其他”“如果是图像数据流,那么它的大小、颜色、压缩方式、播放速度等,等是怎样规定的”“如果是声音数据流,那么它的压缩方式、播放效果等等又将有何规定”......在信息区中还有多个附属的LIST块,也就是我们前面提到的“子块”,它们用来记录每个数据流的全部信息。
而这些附间LIST块与数据流之间保持着—一对应的关系,即第一个附属LIST块对应于00号数据流第二个附属LIST块对应于01号数据流......要想解释数据流,我们必须先了解A VI文件中数据块是什么。
在A VI文件中,数据块是被放置在数据区中的一个有起始标志(由“数据流识别码”和“数据块存储方式识别码"组成,请参见对数据区部分的说明),并指明大小和数据内容的数据段.那么,数据流就是那些相互之间具有联系的同种数据类型的数据块集合. 00000000-00000003多媒体文件识别码:RIFF00000004-00000007文件大小(10EDICh字节)-8字节00000008-0000000BA VI文件识别码0000000C-0000000F第一个LIST块识别码00000010-00000013第一个LIST块的大小(168h字节)00000014-00000017hdrl部分识别码,以下数据记录着此文件的格式00000018-0000001Bhdrl部分所包含的avih块识别码,此模块记录着本文件的初始化信息0000001C-0000001Favih块大小(38h字节)00000020-00000023每帧画面显示所维持多少个百万分之一秒,本例为1046Bh,即66667百万分之一秒,约0.07秒。
AVI文件格式及其应用研究
AVI 文件格式及其应用研究徐殿武(中国石油大学机电学院 北京 102249)摘 要:AV I 文件是Windows 操作系统下最常用的流媒体文件格式之一,了解AV I 文件格式是正确使用AVI 文件的基础,以一个具体的AV I 文件的二进制码为例,详细解释和研究AV I 文件的各个字段的具体含义,并指出AV I 21文件与AV I 22文件格式的区别,在此基础上,可以对AV I 文件进行各种编程操作。
给出使用V FW (Video For Windows )用Visual C ++编程语言从AV I 22文件中获取视频帧,转换为BMP 图像,加以显示并存储为位图文件的编程方法。
关键词:流媒体文件;VC ;AVI ;V FW中图分类号:TP311.1 文献标识码:A 文章编号:10042373X (2008)022119204Study on AVI File Format and Its ApplicationXU Dianwu(Mechano 2Electronic College ,China University of Petroleum ,Beijing ,102249,China )Abstract :Under Windows environment ,AV I is a popular stream media format.To work with AV I file ,it is the basic to know about AV I file format.In this paper ,the example of AV I file binary code is presented in binary code ,to illustrate every chunk in the file.The format of AV I files ,and especially the difference between AV I 21and AV I 22format is discussed.Pro 2gramming method for pickup video f rames from an AV I file and save it as BMP files in Visual C ++is presented.K eywords :stream medium file ;VC ;AV I ;V FW收稿日期:20072082071 引 言自微软公司推出AVI 文件格式以来,AVI 逐渐成为Windows 操作系统上最常用的流媒体文件格式之一[1]。
AVI视频编码全讲
大头马上向小李说了刚才碰的难题,小李一听,乐了,“呵呵,你这个AVI和别人的AVI可不一样啊!”
“哦,那是怎么回事阿?”大头好奇地问。
“AVI的全称是Audio Video Interleave,它的历史很久了,微软公司在1992年就推出了AVI技术了,在古老的Windows 3.1的时代它就有了。不过AVI使用的是一种开放性的标准,所以它采用的压缩算法并不统一。除微软公司之外,其它公司也推出了自己的压缩算法,也就是说,同样是以AVI为后缀的视频文件,其采有的压缩算法可能不同,要播放它需要相应的解压软件才行。这些解压软件一般也能用于生成AVI文件,也就是刚刚你试的那些压缩程序啦,专业一点的叫法是Codec,也就是编码解码器,只要把相应Codec加到Windows系统中,就可以播放用相应就教我最新的DivX 5.02怎么用吧?”
“呵呵,DivX 5.02的设置可复杂了,一时半会儿也说不清楚,下次再我们再聊吧。”
“那就尽快呀,送师父大驾!”大头虽然没有学会使用DivX 5.02,不过还是觉得今天的收获不小,心里十分高兴。
“那么这Codec怎么安装呢?”大头问道。
“一般是不用安装的,新的Windows一般都内置了这些Codec,刚才你用的都是这种情况,有的则是在安装视频软件时附带安装的,只有一些比较特殊的Codec需要安装,像MPEG-4的编码解码器。”
这下大头兴趣来了,“哦,原来只有使用了MPEG-4的Codec压缩的AVI才是啊!”
AVI视频编码全讲
近来 MPEG-4的电影十分盛行,由于输出的文件名后缀为AVI,对很多新学电脑的朋友来说,AVI简直就是MPEG4了。而实际上AVI遵循一个标准的协议,可用的编码方式很多,采用MPEG4编码的AVI只是其中一种。其他的编码方式有什么优缺点呢,很多人并不是太清楚,下文生动地解释了各种编码方式,并且给出实测数据,以便各位新朋友老朋友在使用AVI文件时少走弯路。
16进制文件头笔记及文件类型判断代码
16进制⽂件头笔记及⽂件类型判断代码之前做过⼀个功能,说是上传⽂件到服务器,但是所有⽂件excel、word、⾳乐、视频等都上传到⼀个⽂件夹,不利于查找,于是⾃⼰上⽹查询关于这⽅⾯的资料,决定按⽂件后缀名,给⽂件进⾏分类,存放不同的⽂件夹。
package com.cetcbigdata.enums;/*** @author* @version创建时间:2019年4⽉9⽇上午9:47:58** ⽂件类型枚举* 注意:txt⽂档没有⽂件头**/public enum FileType {/*** JEPG.*/JPEG("FFD8FF"),/*** PNG.*/PNG("89504E47"),/*** GIF.*/GIF("47494638"),/*** TIFF.*/TIFF("49492A00"),/*** Windows Bitmap.*/BMP("424D"),/*** CAD.*/DWG("41433130"),/*** Adobe Photoshop.*/PSD("38425053"),/*** Rich Text Format.*/RTF("7B5C727466"),/*** XML.*/XML("3C3F786D6C"),/*** HTML.*/HTML("68746D6C3E"),/*** CSS.*/CSS("48544D4C207B0D0A0942"),/*** JS.*/JS("696B2E71623D696B2E71"),/*** Email [thorough only].*/EML("44656C69766572792D646174653A"),DBX("CFAD12FEC5FD746F"),/*** Outlook (pst).*/PST("2142444E"),/*** MS Word/Excel.*/XLS_DOC("D0CF11E0"), XLSX_DOCX("504B030414000600080000002100"), /*** Visio*/VSD("d0cf11e0a1b11ae10000"),/*** MS Access.*/MDB("5374616E64617264204A"),/*** WPS⽂字wps、表格et、演⽰dps都是⼀样的*/WPS("d0cf11e0a1b11ae10000"),/*** torrent*/TORRENT("6431303A637265617465"),/*** WordPerfect.*/WPD("FF575043"),/*** Postscript.*/EPS("252150532D41646F6265"),/*** Adobe Acrobat.*/PDF("255044462D312E"),/*** Quicken.*/QDF("AC9EBD8F"),/*** Windows Password.*/PWL("E3828596"),/*** ZIP Archive.*/ZIP("504B0304"),/*** RAR Archive.*/RAR("52617221"),/*** JSP Archive.*/JSP("3C2540207061676520"),/*** JAVA Archive.*/JAVA("7061636B61676520"),/*** CLASS Archive.*/CLASS("CAFEBABE0000002E00"),/*** JAR Archive.*/JAR("504B03040A000000"),/*** MF Archive.*/EXE("4D5A9000030000000400"),/***CHM Archive.*/CHM("49545346030000006000"),/** INI("235468697320636F6E66"), SQL("494E5345525420494E54"), BAT(* "406563686F206f66660D"), GZ("1F8B0800000000000000"), PROPERTIES( * "6C6F67346A2E726F6F74"), MXP(* "04000000010000001300"),*//*** Wave.*/WAV("57415645"),/*** AVI.*/AVI("41564920"),/*** Real Audio.*/RAM("2E7261FD"),/*** Real Media.*/RM("2E524D46"),/*** MPEG (mpg).*/MPG("000001BA"),/*** Quicktime.*/MOV("6D6F6F76"),/*** Windows Media.*/ASF("3026B2758E66CF11"),/*** MIDI.*/MID("4D546864"),/*** MP4.*/MP4("00000020667479706d70"),/*** MP3.*/MP3("49443303000000002176"),/*** FLV.*/FLV("464C5601050000000900");private String value = "";/*** Constructor.** @param type*/private FileType(String value) {this.value = value;}public String getValue() {public void setValue(String value) {this.value = value;}}复制代码import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.web.multipart.MultipartFile;import mon.CetcBigDataException;import com.cetcbigdata.enums.ErrorCode;import com.cetcbigdata.enums.FileType;import com.cetcbigdata.enums.UploadFileType;/*** @author* @version创建时间:2019年4⽉9⽇上午9:49:58*** ⽂件类型判断类型注意:txt⽂档没有⽂件头,⽆法通过该⽅法判断⽂件类型*/public final class FileTypeJudge {private final static Logger logger = LoggerFactory.getLogger(FileTypeJudge.class);//定义⽂件分类,可以⾃定义其他⽂件分类public final static FileType[] pics = { FileType.JPEG, FileType.PNG, FileType.GIF, FileType.TIFF, FileType.BMP, FileType.DWG,FileType.PSD };public final static FileType[] docs = { FileType.RTF, FileType.XML, FileType.XLS_DOC, FileType.XLSX_DOCX, FileType.WPS, FileType.WPD, FileType.PDF, FileType.ZIP, FileType.RAR, FileType.MF, FileType.CHM };public final static FileType[] audios = { FileType.WAV, FileType.MP3 };public final static FileType[] videos = { FileType.AVI, FileType.RAM, FileType.RM, FileType.MPG, FileType.MOV, FileType.ASF,FileType.MP4, FileType.FLV, FileType.MID };private FileTypeJudge() {super();}/*** 将⽂件头转换成16进制字符串** @param原⽣byte* @return 16进制字符串*/private static String bytesToHexString(byte[] src) {StringBuilder stringBuilder = new StringBuilder();if (src == null || src.length <= 0) {return null;}for (int i = 0; i < src.length; i++) {int v = src[i] & 0xFF;String hv = Integer.toHexString(v);if (hv.length() < 2) {stringBuilder.append(0);}stringBuilder.append(hv);}return stringBuilder.toString();}/*** 得到⽂件头** @param inputStream ⽂件流* @return⽂件头* @throws IOExceptionprivate static String getFileContent(InputStream is) throws IOException {byte[] b = new byte[28];try {is.read(b, 0, 28);} catch (IOException e) {logger.error("---读取⽂件头失败:{}-----", e.getMessage());throw e;}return bytesToHexString(b);}/*** 判断⽂件类型** @param inputStream ⽂件流* @return⽂件类型*/public static FileType getType(InputStream inputStream) throws IOException {if (inputStream == null) {throw new CetcBigDataException(ErrorCode.PARAMETER_ERROR.getCode(), ErrorCode.PARAMETER_ERROR.getMsg()); }String fileHead = getFileContent(inputStream);if (fileHead == null || fileHead.length() == 0) {return null;}fileHead = fileHead.toUpperCase();FileType[] fileTypes = FileType.values();for (FileType type : fileTypes) {if (fileHead.startsWith(type.getValue())) {return type;}}return null;}/**** @param value 表⽰⽂件类型* @return UploadFileType* @return*/public static UploadFileType getUploadFileType(FileType value) {if (value == null) {return null;}// 图⽚for (FileType fileType : pics) {if (fileType.equals(value)) {return UploadFileType.IMG;}}// ⽂档for (FileType fileType : docs) {if (fileType.equals(value)) {return UploadFileType.DOC;}}// ⾳乐for (FileType fileType : audios) {if (fileType.equals(value)) {return UploadFileType.AUDIO;}}// 视频for (FileType fileType : videos) {if (fileType.equals(value)) {return UploadFileType.VIDEO;}}return UploadFileType.OTHER;}/***** @param file* @return* @throws FileNotFoundException* @throws IOException*/public static UploadFileType getUploadFileType(File file) throws FileNotFoundException, IOException {if (file == null || file.length() <= 0) {throw new CetcBigDataException(ErrorCode.PARAMETER_ERROR.getCode(), ErrorCode.PARAMETER_ERROR.getMsg());FileType fileType = getType(new FileInputStream(file));return getUploadFileType(fileType);}/**** 上传⽂件可以直接调⽤该⽅法判断⽂件⼤类** @param multipartFile* @return* @throws FileNotFoundException* @throws IOException*/public static UploadFileType getUploadFileType(MultipartFile multipartFile)throws FileNotFoundException, IOException {if (multipartFile == null || multipartFile.getSize() <= 0) {throw new CetcBigDataException(ErrorCode.PARAMETER_ERROR.getCode(), ErrorCode.PARAMETER_ERROR.getMsg());}FileType fileType = getType(multipartFile.getInputStream());return getUploadFileType(fileType);}public static void main(String args[]) throws Exception {File file = new File("E:\\爬⾍应⽤⼯作总结.pptx");System.out.println(file.length());System.out.println(FileTypeJudge.getUploadFileType(file));}}复制代码扩展名⽂件头标识(HEX)⽂件描述12300 00 1A 00 05 10 04Lotus 1-2-3 spreadsheet (v9) file3gg; 3gp; 3g200 00 00 nn 66 74 79 70 33 67 703rd Generation Partnership Project 3GPP (nn=0x14) and3GPP2 (nn=0x20) multimedia files7z37 7A BC AF 27 1C7-ZIP compressed fileaba00 01 42 41Palm Address Book Archive fileabi41 4F 4C 49 4E 44 45 58AOL address book index fileaby; idx41 4F 4C 44 42AOL database files: address book (ABY) and userconfiguration data (MAIN.IDX)accdb00 01 00 00 53 74 61 6E 64 61 72 64 20 41 43 45 20 44Microsoft Access 2007 file42ACM4D 5A MS audio compression manager driverADF44 4F 53Amiga disk fileadx03 00 00 00 41 50 50 52Lotus Approach ADX fileAIFF46 4F 52 4D 00Audio Interchange Fileain21 12AIN Compressed Archive Fileami5B 76 65 72 5D Lotus Ami Proamr23 21 41 4D 52Adaptive Multi-Rate ACELP (Algebraic Code ExcitedLinear Prediction) Codec, commonly audio format with GSMcell phonesANI52 49 46 46API4D 5A 90 00 03 00 00 00Acrobat plug-inarc1A 0x LH archive file, old version(where x = 0x2, 0x3, 0x4, 0x8 or0x9 for types 1-5, respectively)arc41 72 43 01FreeArc compressed filearj60 EA ARJ Compressed ArchiveARJ60 EA 27ART4A 47 03 0E 00 00 00AOL ART fileART4A 47 04 0E 00 00 00AOL ART fileasf30 26 B2 75 8E 66 CF 11Windows MediaStreaming Format)asx3C Advanced Stream redirector fileau2E 73 6E 64SoundMachine Audio FileNeXT/Sun Microsystems µ-Law audio fileavi41 56 49 20Audio Video Interleave (AVI)AX4D 5A Library cache fileAX4D 5A 90 00 03 00 00 00DirectShow filterbag41 4F 4C 20 46 65 65 64 62 61 67AOL and AIM buddy list fileBAS20 20 20bin42 4C 49 32 32 33 51Thomson Speedtouch series WLAN router firmware bmp42 4D Windows BitmapBMP42 4D 3Ebz; bz242 5A 68BZIP ArchiveBZ2; TAR.BZ2;42 5A 68bzip2 compressed archiveTBZ2; TB2CAB49 53 63CAB; HDR49 53 63 28Install Shield v5.x or 6.x compressed fileCAB4D 53 43 46Microsoft CAB File Formatcat30Microsoft security catalog fileCBD43 42 46 49 4C 45WordPerfect dictionary file (unconfirmed)CCD5B 43 6Ccdr CDR Corel DrawCDR45 4C 49 54 45 20 43 6F 6D 6D 61 6E 64 65 72 20Elite Plus Commander saved game fileCDR, DVF4D 53 5F 56 4F 49 43 45Sony Compressed Voice FileCHI; CHM49 54 53 46Microsoft Compiled HTML Help FileCHM49 54 53CLB43 4D 58 31Corel Binary metafileCLB43 4F 4D 2B COM+ Catalog filecnt3A 42 61 73 654D 5A Windows/DOS executable fileCOM, DLL, DRV,EXE, PIF, QTS,QTX, SYSCOM4D 5A EECOM E9 3B 03CPE46 41 58 43 4F 56 45 52 2D 56 45 52Microsoft Fax Cover SheetCPL4D 5A Control panel applicationCPT43 50 54 37 46 49 4C 45Corel Photopaint fileCPT43 50 54 46 49 4C 45Corel Photopaint fileCPX5B 57 69cru; crush43 52 55 53 48CRUSH Archive FileCRU43 52 55 53 48 20 76Crush compressed archiveCRW49 49 1A 00 00 00 48 45 41 50 43 43 44 52 02 00Canon digital camera RAW fileCTF43 61 74 61 6C 6F 67 20 33 2E 30 30 00WhereIsIt Catalog fileCUR00 00 02 00 01 00 20 20Windows cursor filedat03MapInfo Native Data FormatRuntime Software disk imagedat1A 52 54 53 20 43 4F 4D 50 52 45 53 53 45 44 20 494D 41 47 45 20 56 31 2E 30 1Adat41 56 47 36 5F 49 6E 74 65 67 72 69 74 79 5F 44 61AVG6 Integrity database file74 61 62 61 73 65DAT43 52 45 47Windows 9x registry hiveDAT43 6C 69 65 6E 74 20 55 72 6C 43 61 63 68 65 20 4DIE History DAT file4D 46 20 56 65 72 20DAT45 52 46 53 53 41 56 45 44 41 54 41 46 49 4C 45Kroll EasyRecovery Saved Recovery State file DAT49 6E 6E 6F 20 53 65 74 75 70 20 55 6E 69 6E 73 74Inno Setup Uninstall Log file61 6C 6C 20 4C 6F 67 20 28 62 29db00 06 15 61 00 00 00 02 00 00 04 D2 00 00 10 00Netscape Navigator (v4) database fileDB44 42 46 48Palm Zire photo databasedb08dBASE IV or dBFast configuration filedb303dBASE III filedb404dBASE IV data filedba00 01 42 44Palm DateBook Archive filedbx CF AD 12 FEdbx CF AD 12 FE C5 FD 74 6F Outlook Expressdci3C 21 64 6F 63 74 79 70AOL HTML mail filedcx3A DE 68 B1DCX Graphic FileDDB00 01 00DLL4D 5A 90DMP4D 44 4D 50 93 A7Windows minidump fileDMS44 4D 53 21Amiga DiskMasher compressed archivedoc0D 44 4F 43DeskMate Document filedoc12 34 56 78 90 FF MS Word 6.0doc31 BE 00 00 00 AB 00 00MS Word for DOS 6.0doc7F FE 34 0A MS Worddot; ppt; xla; ppa;D0 CF 11 E0MS Office/OLE2pps; pot; msi; sdw;dbD0 CF 11 E0 A1 B1 1A E1MS Compound Document v1 or Lotus Approach APR file doc; dot; xls; xlt; xla;ppt; apr ;ppa; pps;pot; msi; sdw; dbDPL4D 5A 50DRV4D 5A 16drw07 A common signature and file extension for many drawingprograms.drw01 FF 02 04 03 02Micrografx vector graphic fileds44D 47 58 20 69 74 70 64Micrografix Designer 4DSN4D 56CD Stomper Pro label fileMicrosoft Developer Studio project filedsp23 20 4D 69 63 72 6F 73 6F 66 74 20 44 65 76 6 56C6F 70 65 72 20 53 74 75 64 69 6Fdss02 64 73 73Digital Speech Standard (Olympus, Grundig, & Phillips) dtd07 64 74 32 64 64 74 64DesignTools 2D Design filedtd3C 21 45 4E 54 49 54 59XML DTDDVR44 56 44DVR-Studio stream filedwg41 43 31dwg41 43 31 30Generic AutoCAD drawingNOTES on AutoCAD file headers: The 0x41-43-31-30(AC10) is a generic header, occupying the first four bytes inthe file. The next two bytes give further indication about theversion or subtype:0x30-32 (02) — AutoCAD R2.50x30-33 (03) — AutoCAD R2.60x30-34 (04) — AutoCAD R90x30-36 (06) — AutoCAD R100x30-39 (09) — AutoCAD R11/R120x31-30 (10) — AutoCAD R13 (subtype 10)0x31-31 (11) — AutoCAD R13 (subtype 11)0x31-32 (12) — AutoCAD R13 (subtype 12)0x31-33 (13) — AutoCAD R14 (subtype 13)0x31-34 (14) — AutoCAD R14 (subtype 14)0x31-35 (15) — AutoCAD R20000x31-38 (18) — AutoCAD R20040x32-31 (21) — AutoCAD R200745 56 46EnCase evidence fileEnn (where nn arenumbers)ECO2A 50 52elf7F 45 4C 46 01 01 01 00ELF Executableemf01 00 00 00 58 00 00 00Extended (Enhanced) Windows Metafile Format, printerspool fileeml44 65 6C 69 76 65 72 79 2D 64 61 74 65 3A EmailEML46 72 6F 6D 20 20 20 A commmon file extension for e-mail files. Signaturesshown here are for Netscape, Eudora, and a genericsignature, respectively. EML is also used by OutlookExpress and QuickMail.EML46 72 6F 6D 20 3F 3F 3F A commmon file extension for e-mail files. Signaturesshown here are for Netscape, Eudora, and a genericsignature, respectively. EML is also used by OutlookExpress and QuickMail.EML46 72 6F 6D 3A 20 A commmon file extension for e-mail files. Signaturesshown here are for Netscape, Eudora, and a genericsignature, respectively. EML is also used by OutlookExpress and QuickMail.EML52 65 63enc00 5C 41 B1 FF Mujahideen Secrets 2 encrypted fileenl[32 byte offset] 40 40 40 20 00 00 40 40 40 40EndNote Library Fileeps25 21 50 53Adobe EPS Fileeps25 21 50 53 2D 41 64 6F 62 65Postscripteps25 21 50 53 2D 41 64 6F 62 65 2D 33 2E 30 20 45 5053 46 2D 33 20 30Adobe encapsulated PostScript file (If this signature is not at the immediate beginning of the file, it will occur early in the file, commonly at byte offset 30)EPS C5 D0 D3eth1A 35 01 00GN Nettest WinPharoah capture fileevt30 00 00 00 4C 66 4C 65Windows Event Viewer fileevt03 00 00 00 C4 66 C4 56EVTX45 6C 66 46 69 6C 65 00Windows Vista event log fileexe; dll; drv; vxd; sys;ocx; vbx4D 5A Win32 Executableexe; dll; drv; vxd; sys;ocx; vbx4D 5A Win16 Executableexe; com; 386; ax;acm; sys; dll; drv; flt;fon; ocx; scr; lrc;vxd; cpl; x324D 5A Executable FileEXE, DLL, OCX,OLB, IMM, IME4D 5A 90fli00 11 AF FLIC Animation fileflt00 01 01OpenFlight 3D fileFLT4D 5A 90 00 03 00 00 00Audition graphic filter file (Adobe)FLV46 4C 56 01Flash video filefm3C 4D 61 6B 65 72 46 69 6C 65 20Adobe FrameMaker filefm300 00 1A 00 07 80 01 00Lotus 123 v3 FMT filefmt20 00 68 00 20 0Lotus 123 v4 FMT fileFNT43 48 41FON4D 5A Font fileGBC87 F5 3Egid3F 5F 03 00Windows Help Index FileGID4C 4E 02 00Windows Help index fileGIF47 49 46 38gif47 49 46 38 37 61Graphics interchange format file (GIF 87A) gif47 49 46 38 39 61Graphics interchange format file (GIF89A) GTD7B 50 72GX247 58 32Show Partner graphics file (not confirmed) gz; tar; tgz1F 8B Gzip Archive Filegz; tgz1F 8B 08GZ Compressed Filehap91 33 48 46HAP Archive FileHDMP4D 44 4D 50 93 A7Windows heap dump filehdr23 3F 52 41 44 49 41 4E 43 45 0A adiance High Dynamic Range image file HLP3F 5F 03hlp3F 5F 03 00Windows Help fileHLP4C 4E 02 00Windows Help filehlp[7 byte offset] 00 00 FF FF FF FF Windows Help filehqx28 54 68 69 73 20 66 69 6C 65Macintosh BinHex 4 Compressed Archive hqx28 54 68 69 73 20 66 69 6C 65 20 6D 75 73 74 20 6265 20 63 6F 6E 76 65 72 74 65 64 20 77 69 74 68 20 4269 6E 48 65 78 20Macintosh BinHex 4 Compressed ArchiveHTM3C 21 44htm; html3C 21 44 4F 43 54HyperText Markup Language 3htm; html3C 48 54 4D 4C 3E HyperText Markup Language 2htm; html3C 68 74 6D 6C 3E HyperText Markup Language 1html68 74 6D 6C 3E HTMLico00 00 01 00 00Icon Fileico00 00 01 00 01 00 20 20Icon FileIFO44 56 44DVD info fileIME4D 5A 90img00 01 00 08 00 01 00 01 01Ventura Publisher/GEM VDI Image Format Bitmap fileIMG00 FF FFIMM4D 5A 90ind41 4F 4C 49 44 58AOL client preferences/settings file (MAIN.IND)ISO43 44 30 30 31ISO-9660 CD Disc Image (This signature usually occurs atbyte 8001, 8801, or 9001.)ivr2E 52 45 43RealPlayer video file (V11 and later)JAR4A 41 52 43 53 00JARCS compressed archivejar5F 27 A8 89JAR Archive Filejpg; jpeg FF D8 FFjpg; jpe; jpeg FF D8 FF E0 00JPG Graphic Filejpg; jpe; jpeg FF D8 FF FE 00JPG Graphic FileKGB4B 47 42 5F 61 72 63 68 20 2D KGB archiveKOZ49 44 33 03 00 00 00Sprint Music Store audio file (for mobile devices)LDB42 49 4Clha2D 6C 68 35 2D LHA Compressedlha; lzh[2 byte offset] 2D 6C 68Compressed archive fileLHP3F 5F 03lhp3F 5F 03 00Windows Help Filelib21 3C 61 72 63 68 3E 0A Unix archiver (ar) files and Microsoft Program LibraryCommon Object File Format (COFF)LIB2A 24 20LIT49 54 4F 4C 49 54 4C 53Microsoft Reader eBook fileLNK4C 00 00lnk4C 00 00 00Windows Shortcut (Link File)lnk4C 00 00 00 01 14 02Windows Link FileLNK4C 00 00 00 01 14 02 00Windows shortcut fileSymantec Wise Installer log filelog2A 2A 2A 20 20 49 6E 73 74 61 6C 6C 61 74 69 6F 6E20 53 74 61 72 74 65 64 20lzh lh Lz compression filelwp57 6F 72 64 50 72 6F Lotus WordPro v9m3u23 45 58m4a00 00 00 20 66 74 79 70 4D 34 41 20 00 00 00 00Apple Lossless Audio Codec filem4a; m4v00 00 00 20 66 74 79 70 4D 34 41 20 00 00 00 00QuickTime M4A/M4V filemanifest3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D Windows Visual Stylesheet XML fileMAR4D 41 52 31 00Mozilla archiveMAR4D 41 52 43Microsoft/MSN MARC archiveMAR4D 41 72 30 00MAr compressed archivemax D0 CF 11Microsoft Access filemdb00 01 00 00 53 74 61 6E 64 61 72 64 20 4A 65 74 2044 42mdb; mda; mde; mdt53 74 61 6E 64 61 72 64 20 4A MS AccessMDF00 FF FFmdf00 FF FF FF FF FF FF FF FF FF FF 00 00 02 00 01Alcohol 120% CD imagemdf01 0F 00 00Microsoft SQL Server 2000 databaseMDI45 50Microsoft Document Imaging fileMDS4D 45 44MID; MIDI4D 54 68 64Musical Instrument Digital Interface (MIDI) sound filemkv1A 45 DF A3 93 42 82 88 6D 61 74 72 6F 73 6B 61Matroska stream fileMLS4D 49 4C 45 53Milestones v1.0 project management and schedulingsoftware (Also see "MV2C" and "MV214" signatures)MLS4D 4C 53 57Skype localization data fileMLS4D 56 32 31 34Milestones v2.1b project management and schedulingsoftware (Also see "MILES" and "MV2C" signatures)MLS4D 56 32 43Milestones v2.1a project management and schedulingsoftware (Also see "MILES" and "MV214" signatures) MMF4D 4D 4D 44 00 00Yamaha Corp. Synthetic music Mobile Application Format(SMAF) for multimedia files that can be played on hand-helddevices.Microsoft Money filemny00 01 00 00 4D 53 49 53 41 4D 20 44 61 74 61 62 6173 65MOV00 00 0FMOV00 00 77mov6D 6F 6F 76Quicktimemov6D 64 61 74QuickTime MovieMP349 44 33MPEG-1 Audio Layer 3 (MP3) audio fileMP3FF FB 50mp400 00 00 18 66 74 79 70 33 67 70 35MPEG-4 video filesMPA00 00 01mpg; mpeg00 00 01 B3MPEG Moviempg00 00 01 BA MPEGMSC3C 3F 78Microsoft Management Console Snap-in Control filemsc3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D 22 31 2E30 22 3F 3E 0D 0A 3C 4D 4D 43 5F 43 6F 6E 73 6F 6C65 46 69 6C 65 20 43 6F 6E 73 6F 6C 65 56 65 72 7369 6F 6E 3D 22msi23 20Cerius2 fileMSV4D 53 5F 56 4F 49 43 45Sony Memory Stick Compressed Voice fileNES4E 45 53NLS C2 20 20nri0E 4E 65 72 6F 49 53 4F Nero CD Compilationntf1A 00 00Lotus Notes database templatensf; ntf1A 00 00 03 00 00Lotus Notes Database/Templatensf1A 00 00 03 00 00 11 00Notes Databasensf1A 00 00 04 00 00Lotus Notes databaseNational Transfer Format Map Filentf30 31 4F 52 44 4E 41 4E 43 45 20 53 55 52 56 45 5920 20 20 20 20 20 20obj4C 01Microsoft Common Object File Format (COFF) relocatableobject code file for an Intel 386 or later/compatibleprocessorsOCX4D 5A ActiveX or OLE Custom ControlOCX4D 5A 90OLB4D 5A OLE object libraryOLB4D 5A 90org; pfc41 4F 4C 56 4D 31 30 30AOL personal file cabinet (PFC) filepak1A 0B Compressed archive filePAT47 46 31 50 41 54 43 48Advanced Gravis Ultrasound patch filePAT47 50 41 54GIMP (GNU Image Manipulation Program) pattern file PBK5B 41 44PCB17 A1 50PCS0A 05 01pcx0A nn 01 01ZSOFT Paintbrush file(where nn = 0x02, 0x03, or 0x05) pcx0A 05 01 08PC Paintbrush(often associated with Quake Enginegames)Palmpilot Database/Document Filepdb[11 byte offset] 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00PDF25 50 44pdf; fdf25 50 44 46Adobe Portable Document Format and Forms Documentfilepdf25 50 44 46 2D 31 2E Adobe AcrobatPDG48 48 02pf11 00 00 00 53 43 43 41Windows prefetch filepic01 00 00 00 01Unknown type picture filePJT00 00 07PLL24 53 6FPNG89 50 4EPNG89 50 4E 47png89 50 4E 47 0D 0A PNG Image Filepng89 50 4E 47 0D 0A 1A 0A PNG Image FilePPC52 65 63PPT D0 CF 11ppt[512 byte offset] 00 6E 1E F0PowerPoint presentation subheader (MS Office)ppt[512 byte offset] 0F 00 E8 03PowerPoint presentation subheader (MS Office)PPZ4D 53 43 46Powerpoint Packaged Presentationprc42 4F 4F 4B 4D 4F 42 49Palmpilot resource filePRG23 44 45ps25 21 50 53 2D 41 64 6F 62 65PostscriptPSD38 42 50psd38 42 50 53Adobe Photoshop image filepsp7E 42 4B 00PaintShop Pro Image Filepst21 42 44 4E Microsoft Outlook Personal Folder filepwl E3 82 85 96Windows Passwordqbb45 86 00 00 06 00Intuit QuickBooks Backup fileqbb45 86 00 00 06 00Intuit QuickBooks Backup fileqdf AC 9E BD 8F Quickenqph03 00 00 00Quicken price history fileqt6D 64 61 74Quicktime Movie Fileqxd00 00 49 49 58 50 52Quark Express document (Intel & Motorola, respectively) qxd00 00 4D 4D 58 50 52ra2E 52 4D 46 00 00 00 12 00Real Audio filera; ram2E 72 61 FD Real Audio Filera2E 72 61 FD 00RealAudio streaming media fileRAR52 61 72rar52 61 72 21RAR Archive FileRAW06 05 00reg52 45 47 45 44 49 54 34rgb01 DA 01 01 00 03Silicon Graphics RGB BitmapRM2E 52 4Drm; rmvb2E 52 4D 46Real Media streaming media filerpm ED AB EE DB RPM Archive FileRTD43 23 2B 44 A4 43 4D A5 48 64 72RagTime document fileRTF7B 5C 72rtf7B 5C 72 74 66Rich Text Format FileSPSS Data filesav24 46 4C 32 40 28 23 29 20 53 50 53 53 20 44 41 54 4120 46 49 4C 45SBV46 45 44 46(Unknown file type)SCH2A 76 65scm80 53 43SH348 48 47 42 31Harvard Graphics presentation fileSHD4B 49 00 00Windows 9x printer spool filesit53 49 54 21Stuffit v1 Archive Filesit53 74 75 66 66 49 74Stuffit v5 Archive Filesle3A 56 45 52 53 49 4F 4E Surfplan kite project filesle41 43 76teganos Security Suite virtual secure drivesly; srt; slt53 52 01 00Sage sly.or.srt.or.sltSMD00 FF FFsnm00 1E 84 90 00 00 00 00Netscape Communicator (v4) mail folderSNP4D 53 43 46Microsoft Access Snapshot Viewer filesol00 BF Adobe Flash shared object file (e.g., Flash cookies)spl00 00 01 00Windows NT/2000/XP printer spool fileSCR4D 5A Screen saverSUB FF FF FFSWF43 57 53Shockwave Flash file (v5+)SWF46 57 53Macromedia Shockwave Flash player filesxc calc OpenOffice Calcsxd draw OpenOffice Drawsxi impress OpenOffice Impresssxm math OpenOffice Mathsxw writer OpenOffice Writersyw41 4D 59 4F Harvard Graphics symbol graphicTAG00 00 02tar; cpio30 37 30 37 30 37CPIO Archive Filetar.z1F 9D 90Compressed tape archive filetga00 00 10 00 00RLE压缩的前5字节TGA00 00 02tga00 00 02 00 00未压缩的前5字节TIF; TIFF49 20 49Tagged Image File Format filetif; tiff49 49 2A TIFF (Intel)tif; tiff49 49 2A 00Tagged Image File Format file (little endian, i.e., LSB first inthe byte; Intel)TIF; TIFF4D 4D 00 2A Tagged Image File Format file (big endian, i.e., LSB last inthe byte; Motorola)tif; tiff4D 4D 2A TIFF (Motorola)TIF; TIFF4D 4D 00 2B BigTIFF files; Tagged Image File Format files >4 GBTLB4D 53 46 54 02 00 01 00OLE, SPSS, or Visual C++ type library filetr101 10Novell LANalyzer capture fileTST00 01 00TTF00 01 00ufa55 46 41UFA Archive FileVBX4D 5A VisualBASIC applicationVCD45 4E 54 52 59 56 43 44 02 00 00 01 02 00 18 58VideoVCD (GNU VCDImager) fileVCD45 4E 54 52 59 56 43 44 02 00 00 01 02 00 18 58VideoVCD (GNU VCDImager) filevcf42 45 47 49 4E 3A 56 43 41 52 44 0D 0A vCard filevob00 00 01 BA DVD Video Movie File (video/dvd, video/mpeg) VXD, 3864D 5A Windows virtual device driversWAV52 49 46wav57 41 56 45Wavewav57 41 56 45 66 6D 74Wave Fileswb200 00 02 00QuattroPro for Windows Spreadsheet filewb3[24 byte offset] 3E 00 03 00 FE FF 09 00 06Quatro Pro for Windows 7.0 Notebook filewk1; wks20 00 60 40 60Lotus 123 v1 Worksheetwk100 00 02 00 06 04 06 00 08 00 00 00 00 00Lotus 1-2-3 spreadsheet (v1) filewk300 00 1A 00 00 10 04 00Lotus 123 spreadsheet (v3) filewk4; wk500 00 1A 00 02 10 04 00Lotus 1-2-3 spreadsheet (v4, v5) filewks0E 57 4B 53DeskMate WorksheetWMA30 26 B2wmf01 00 09 00Graphics Metafilewmf01 00 09 00 00 03Windows Metadata file (Win 3.x format)wmf02 00 09 00Graphics Metafilewmf D7 CD C6 9A Windows Meta FileWMV30 26 B2wp FF 57 50 43WordPerfect v5 or v6wpd FF 57 50 43WordPerfectwpg FF 57 50 47WordPerfect Graphicswri31 BE Microsoft Write fileWRI31 BE 00wri32 BE Microsoft Write filews1D 7D WordStar Version 5.0/6.0 documentXBE58 42 45xdr3C BizTalk XML-Data Reduced Schema filexls09 02 06 00 00 00 10 00 B9 04 5C 00MS Excel v2xls09 04 06 00 00 00 10 00 F6 05 5C 00MS Excel v4XLS D0 CF 11xls D0 CF 11 E0MS Excelxls[512 byte offset] 09 08 10 00 00 06 05 00Excel spreadsheet subheader (MS Office) XML3C 3F 78xml3C 3F 78 6D 6C XML DocumentXML Document (ROOTSTUB)xml FF FE 3C 00 52 00 4F 00 4F 00 54 00 53 00 54 00 55 0042 00XMV00 50 01XSL FF FE 3CXML User Interface Language filexul72 73 69 6F 6E 3D 22 31 3C 3F 78 6D 6C 20 76 65 2E30 22 3F 3Ez1F 9D TAR Compressed Archive FileZ1F 9D 8CZIP50 4B 03zip; jar; zipx50 4B 03 04ZIP Archivezip50 4B 30 30ZIP Archive (outdated)Zip50 4B 30 30 50 4B 03 04WINZIP Compressedzoo5A 4F 4F 20ZOO Archive FileSage Backup 1 SAGEBACKUP("303730373037", "CPIOArchive File"),("100", "ICONFile"),("1F9D", "TAR CompressedArchive File"),FFD8FFFE00,.JPEG;.JPE;.JPG,"JPG Graphic File"FFD8FFE000,.JPEG;.JPE;.JPG,"JPG Graphic File"474946383961,.gif,"GIF 89A"474946383761,.gif,"GIF 87A"424D,.bmp,"Windows Bitmap"4D5A,.exe;.com;.386;.ax;.acm;.sys;.dll;.drv;.flt;.fon;.ocx;.scr;.lrc;.vxd;.cpl;.x32,"Executable File"。
avi检查原理
avi检查原理AVI(Audio Video Interleave)是一种常见的多媒体文件格式,它是由Microsoft公司开发的一种将音频和视频数据集成在一起的容器格式。
在AVI文件中,音频和视频数据可以使用不同的编解码方式进行压缩,这使得AVI文件具有高度灵活性。
本文将介绍AVI检查的基本原理和方法。
AVI文件由多个块(chunk)组成,每个块包含一个块头(chunk header)和相应的数据。
块头中包含了块的类型和大小等信息,而数据部分则包含实际的音频或视频数据。
AVI文件的结构可以使用简化的层次结构图来表示,如下所示:```AVI文件└─AVI文件头└─AVI主列表├─块1├─块2├─...└─块n```AVI文件头是AVI文件的起始部分,它包含了一些基本的信息,如文件大小、时间戳、视频和音频编解码器等。
AVI主列表是AVI文件中的一个重要部分,它包含了多个块(chunk),这些块可以是视频帧、音频帧、索引块等。
在进行AVI文件的检查时,一般需要检查以下几个方面:1.文件结构检查:对AVI文件的整体结构进行检查,包括文件头、主列表和各个块的完整性和正确性。
这可以通过解析AVI文件头和遍历AVI主列表中的块来实现。
2.块头检查:对每个块的块头进行检查,包括块的类型、大小等信息。
块头中的类型信息可以用来判断是音频帧、视频帧还是其他类型的块,而大小信息可以用来验证块的完整性。
3.数据完整性检查:对每个块的数据部分进行检查,包括音频和视频数据的完整性、编码方式是否正确等。
数据的完整性可以通过计算校验和或比较数据的长度等方式来实现。
4.编解码器检查:检查AVI文件中使用的音频和视频编解码器是否可用和正确。
这可以通过读取AVI文件头中的编解码器信息,并与本地系统中的编解码器进行匹配来实现。
除了以上基本的检查方法外,还可以进行一些高级的检查操作,如检查帧的顺序是否正确、检查索引表是否完整等。
这些检查操作可以通过解析块的相关信息来实现。
avi格式详细介绍
avi格式详细介绍<转>(2008-12-18 22:09:44)标签:avi音频it分类:研发杂物箱AVI格式是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的一种符合RIFF文件规范的数字音频与视频文件格式,原先用于Microsoft Video for Windows (简称VFW)环境,现在已被Windows 95/98、OS/2等多数操作系统直接支持。
AVI 格式允许视频和音频交错在一起同步播放,支持256色和RLE压缩,但AVI文件并未限定压缩标准,因此,AVI文件格式只是作为控制界面上的标准,不具有兼容性,用不同压缩算法生成的AVI文件,必须使用相应的解压缩算法才能播放出来。
常用的AVI播放驱动程序,主要是Microsoft Video for Windows或Windows 95/98中的Video 1,以及Intel公司的Indeo Video。
在介绍AVI文件前,我们要先来看看RIFF文件结构。
AVI文件采用的是RIFF文件结构方式,RIFF(Resource Interchange File Format,资源互换文件格式)是微软公司定义的一种用于管理windows环境中多媒体数据的文件格式,波形音频wave,MIDI和数字视频AVI 都采用这种格式存储。
构造RIFF文件的基本单元叫做数据块(Chunk),每个数据块包含3个部分,1、4字节的数据块标记(或者叫做数据块的ID)2、数据块的大小3、数据整个RIFF文件可以看成一个数据块,其数据块ID为RIFF,称为RIFF块。
一个RIFF 文件中只允许存在一个RIFF块。
RIFF块中包含一系列的子块,其中有一种字块的ID为"LIST",称为LIST,LIST块中可以再包含一系列的子块,但除了LIST块外的其他所有的子块都不能再包含子块。
RIFF和LIST块分别比普通的数据块多一个被称为形式类型(Form Type)和列表类型(List Type)的数据域,其组成如下:1、4字节的数据块标记(Chunk ID)2、数据块的大小3、4字节的形式类型或者列表类型4、数据下面我们看看AVI文件的结构。
AVI常见的视频编码详解
AVI 常见的视频编码详解AVI 所采用的压缩算法并无统一的标准。
也就是说,同样是以 用的压缩算法可能不同,需要相应的解压软件才能识别和回放该 除了 Microsoft 公司之外 ,其他公司也推出了自己的压缩算法 ,只要把该算法的驱动 (Codec) 加到 Windows 系统中,就可以播放用该算法压缩的 AVI 文件。
最新流行的 MPEG-4 视频也 借用 AVI 的名称,只要机器安装了它的编码解码,也能够实现正常的播放。
这些 AVI 都能够在用 Authorware 或 PowerPiont 开发的作品当中正常放映 。
各种编码 Codec 所生成的 AVI 文件的大小和质量是不同的,对系统和硬件要求也不同。
因此在压缩 AVI 时,必须根据计算机的软硬件情况,来考虑采用什么则你的作品中视频放映是难以令人满意的。
下面就是对各种常见编码解码常见的视频编码1、 Cinepak Codec by Radius它最初发布的时候是用在 386 的电脑上看小电影,在高数据压缩率下,有很高的播放 速度。
利用这种压缩方案可以取得较高的压缩比和较快的回放速度 ,但是它的压缩时间相对 较长。
2、 Microsoft Video 1用于对模拟视频进行压缩,是一种有损压缩方案,最高仅达到 256 色,它的品质就可 想而知,一般还是不要使用它来编码AVI 。
3、 Microsoft RLE一种 8 位的编码方式,只能支持到 256 色。
压缩动画或者是计算机合成的图像等具有 大面积色块的素材可以使用它来编码,是一种无损压缩方案。
4、Microsoft H.261 和 H.263 Video Codec用于视频会议的 Codec ,其中H.261适用于ISDN 、DDN 线路,H.263适用于局域网, 不过一般机器上这种 Codec 是用来播放的,不能用于编码。
5、 Intel Indeo Video R3.2所有的 Windows 版本都能用 Indeo video 3.2 播放 AVI 编码。
根据文件头数据判断文件类型
根据⽂件头数据判断⽂件类型现有⼀⽂件,其扩展名未知或标记错误。
假设它是⼀个正常的、⾮空的⽂件,且将扩展名更正后可以正常使⽤,那么,如何判断它是哪种类型的⽂件?在后缀未知,或者后缀被修改的⽂件,依然通过⽂件头来判断该⽂件究竟是什么⽂件类型。
我们可以使⽤⼀个⽂本编辑⼯具如UltraEdit打开⽂件(16进制模式下),然后看⽂件头是什么字符,以下是常见⽂件类型的⽂件头字符(16进制),希望对你有帮助:JPEG (jpg),⽂件头:FFD8FFPNG (png),⽂件头:89504E47GIF (gif),⽂件头:47494638TIFF (tif),⽂件头:49492A00Windows Bitmap (bmp),⽂件头:424DCAD (dwg),⽂件头:41433130Adobe Photoshop (psd),⽂件头:38425053Rich Text Format (rtf),⽂件头:7B5C727466XML (xml),⽂件头:3C3F786D6CHTML (html),⽂件头:68746D6C3EEmail [thorough only] (eml),⽂件头:44656C69766572792D646174653AOutlook Express (dbx),⽂件头:CFAD12FEC5FD746FOutlook (pst),⽂件头:2142444EMS Word/Excel (xls.or.doc),⽂件头:D0CF11E0MS Access (mdb),⽂件头:5374616E64617264204AWordPerfect (wpd),⽂件头:FF575043Postscript (eps.or.ps),⽂件头:252150532D41646F6265Adobe Acrobat (pdf),⽂件头:255044462D312EQuicken (qdf),⽂件头:AC9EBD8FWindows Password (pwl),⽂件头:E3828596ZIP Archive (zip),⽂件头:504B0304RAR Archive (rar),⽂件头:52617221Wave (wav),⽂件头:57415645AVI (avi),⽂件头:41564920Real Audio (ram),⽂件头:2E7261FDReal Media (rm),⽂件头:2E524D46MPEG (mpg),⽂件头:000001BAMPEG (mpg),⽂件头:000001B3Quicktime (mov),⽂件头:6D6F6F76Windows Media (asf),⽂件头:3026B2758E66CF11MIDI (mid),⽂件头:4D546864下⾯在提供⼀个⽹上使⽤java写的根据头⽂件码判断⽂件类型package com;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class FileType {public final static Map<String, String> FILE_TYPE_MAP = new HashMap<String, String>();private FileType(){}static{getAllFileType(); //初始化⽂件类型信息}/*** Discription:[getAllFileType,常见⽂件头信息]*/private static void getAllFileType(){FILE_TYPE_MAP.put("ffd8ffe000104a464946", "jpg"); //JPEG (jpg)FILE_TYPE_MAP.put("89504e470d0a1a0a0000", "png"); //PNG (png)FILE_TYPE_MAP.put("47494638396126026f01", "gif"); //GIF (gif)FILE_TYPE_MAP.put("49492a00227105008037", "tif"); //TIFF (tif)FILE_TYPE_MAP.put("424d228c010*********", "bmp"); //16⾊位图(bmp)FILE_TYPE_MAP.put("424d8240090000000000", "bmp"); //24位位图(bmp)FILE_TYPE_MAP.put("424d8e1b030000000000", "bmp"); //256⾊位图(bmp)FILE_TYPE_MAP.put("41433130313500000000", "dwg"); //CAD (dwg)FILE_TYPE_MAP.put("3c21444f435459504520", "html"); //HTML (html)FILE_TYPE_MAP.put("3c21646f637479706520", "htm"); //HTM (htm)FILE_TYPE_MAP.put("48544d4c207b0d0a0942", "css"); //cssFILE_TYPE_MAP.put("696b2e71623d696b2e71", "js"); //jsFILE_TYPE_MAP.put("7b5c727466315c616e73", "rtf"); //Rich Text Format (rtf)FILE_TYPE_MAP.put("38425053000100000000", "psd"); //Photoshop (psd)FILE_TYPE_MAP.put("46726f6d3a203d3f6762", "eml"); //Email [Outlook Express 6] (eml)FILE_TYPE_MAP.put("d0cf11e0a1b11ae10000", "doc"); //MS Excel 注意:word、msi 和 excel的⽂件头⼀样 FILE_TYPE_MAP.put("d0cf11e0a1b11ae10000", "vsd"); //Visio 绘图FILE_TYPE_MAP.put("5374616E64617264204A", "mdb"); //MS Access (mdb)FILE_TYPE_MAP.put("252150532D41646F6265", "ps");FILE_TYPE_MAP.put("255044462d312e350d0a", "pdf"); //Adobe Acrobat (pdf)FILE_TYPE_MAP.put("2e524d46000000120001", "rmvb"); //rmvb/rm相同FILE_TYPE_MAP.put("464c5601050000000900", "flv"); //flv与f4v相同FILE_TYPE_MAP.put("00000020667479706d70", "mp4");FILE_TYPE_MAP.put("49443303000000002176", "mp3");FILE_TYPE_MAP.put("000001ba210001000180", "mpg"); //FILE_TYPE_MAP.put("3026b2758e66cf11a6d9", "wmv"); //wmv与asf相同FILE_TYPE_MAP.put("52494646e27807005741", "wav"); //Wave (wav)FILE_TYPE_MAP.put("52494646d07d60074156", "avi");FILE_TYPE_MAP.put("4d546864000000060001", "mid"); //MIDI (mid)FILE_TYPE_MAP.put("504b0304140000000800", "zip");FILE_TYPE_MAP.put("526172211a0700cf9073", "rar");FILE_TYPE_MAP.put("235468697320636f6e66", "ini");FILE_TYPE_MAP.put("504b03040a0000000000", "jar");FILE_TYPE_MAP.put("4d5a9000030000000400", "exe");//可执⾏⽂件FILE_TYPE_MAP.put("3c25402070616765206c", "jsp");//jsp⽂件FILE_TYPE_MAP.put("4d616e69666573742d56", "mf");//MF⽂件FILE_TYPE_MAP.put("3c3f786d6c2076657273", "xml");//xml⽂件FILE_TYPE_MAP.put("494e5345525420494e54", "sql");//xml⽂件FILE_TYPE_MAP.put("7061636b616765207765", "java");//java⽂件FILE_TYPE_MAP.put("406563686f206f66660d", "bat");//bat⽂件FILE_TYPE_MAP.put("1f8b0800000000000000", "gz");//gz⽂件FILE_TYPE_MAP.put("6c6f67346a2e726f6f74", "properties");//bat⽂件FILE_TYPE_MAP.put("cafebabe0000002e0041", "class");//bat⽂件FILE_TYPE_MAP.put("49545346030000006000", "chm");//bat⽂件FILE_TYPE_MAP.put("04000000010000001300", "mxp");//bat⽂件FILE_TYPE_MAP.put("504b0304140006000800", "docx");//docx⽂件FILE_TYPE_MAP.put("d0cf11e0a1b11ae10000", "wps");//WPS⽂字wps、表格et、演⽰dps都是⼀样的FILE_TYPE_MAP.put("6431303a637265617465", "torrent");FILE_TYPE_MAP.put("6D6F6F76", "mov"); //Quicktime (mov)FILE_TYPE_MAP.put("FF575043", "wpd"); //WordPerfect (wpd)FILE_TYPE_MAP.put("CFAD12FEC5FD746F", "dbx"); //Outlook Express (dbx)FILE_TYPE_MAP.put("2142444E", "pst"); //Outlook (pst)FILE_TYPE_MAP.put("AC9EBD8F", "qdf"); //Quicken (qdf)FILE_TYPE_MAP.put("E3828596", "pwl"); //Windows Password (pwl)FILE_TYPE_MAP.put("2E7261FD", "ram"); //Real Audio (ram)}/*** 得到上传⽂件的⽂件头* @param src* @return*/public static String bytesToHexString(byte[] src) {StringBuilder stringBuilder = new StringBuilder();if (src == null || src.length <= 0) {return null;}for (int i = 0; i < src.length; i++) {int v = src[i] & 0xFF;String hv = Integer.toHexString(v);if (hv.length() < 2) {stringBuilder.append(0);}stringBuilder.append(hv);}return stringBuilder.toString();}/*** 根据制定⽂件的⽂件头判断其⽂件类型* @param filePaht* @return*/public static String getFileType(String filePaht){String res = null;try {FileInputStream is = new FileInputStream(filePaht);byte[] b = new byte[10];is.read(b, 0, b.length);String fileCode = bytesToHexString(b);System.out.println(fileCode);//这种⽅法在字典的头代码不够位数的时候可以⽤但是速度相对慢⼀点Iterator<String> keyIter = FILE_TYPE_MAP.keySet().iterator();while(keyIter.hasNext()){String key = keyIter.next();if(key.toLowerCase().startsWith(fileCode.toLowerCase()) || fileCode.toLowerCase().startsWith(key.toLowerCase())){ res = FILE_TYPE_MAP.get(key);break;}}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return res;}public static void main(String[] args) throws Exception {String type = getFileType("C:/test/eee.WMV");System.out.println("eee.WMV : "+type);System.out.println();type = getFileType("C:/test/350996.wav");System.out.println("350996.wav : "+type);System.out.println();}}出处:/songylwq/article/details/6139753。
所有类型文件的文件头标志
各类文件的文件头标志1、从Ultra-edit-32中提取出来的JPEG (jpg),文件头:FFD8FFPNG (png),文件头:89504E47GIF (gif),文件头:47494638TIFF (tif),文件头:49492A00Windows Bitmap (bmp),文件头:424DCAD (dwg),文件头:41433130Adobe Photoshop (psd),文件头:38425053Rich Text Format (rtf),文件头:7B5C727466XML (xml),文件头:3C3F786D6CHTML (html),文件头:68746D6C3EEmail [thorough only] (eml),文件头:44656C69766572792D646174653A Outlook Express (dbx),文件头:CFAD12FEC5FD746FOutlook (pst),文件头:2142444EMS Word/Excel (xls.or.doc),文件头:D0CF11E0MS Access (mdb),文件头:5374616E64617264204AWordPerfect (wpd),文件头:FF575043Postscript (eps.or.ps),文件头:252150532D41646F6265Adobe Acrobat (pdf),文件头:255044462D312EQuicken (qdf),文件头:AC9EBD8FWindows Password (pwl),文件头:E3828596ZIP Archive (zip),文件头:504B0304RAR Archive (rar),文件头:52617221Wave (wav),文件头:57415645AVI (avi),文件头:41564920Real Audio (ram),文件头:2E7261FDReal Media (rm),文件头:2E524D46MPEG (mpg),文件头:000001BAMPEG (mpg),文件头:000001B3Quicktime (mov),文件头:6D6F6F76Windows Media (asf),文件头:3026B2758E66CF11 MIDI (mid),文件头:4D5468642、从winhex中取出的文件头列表File Type ExtensionsHeaderJPEG jpg;jpeg 0xFFD8FFPNG png 0x89504E470D0A1A0AGIF gif GIF8TIFF tif;tiff 0x49492A00TIFF tif;tiff 0x4D4D002ABit map bmp BMAOL ART art 0x4A47040E000000AOL ART art 0x4A47030E000000PC Paintbrush pcx 0x0A050108Graphics Metafile wmf 0xD7CDC69AGraphics Metafile wmf 0x01000900Graphics Metafile wmf 0x02000900Enhanced Metafile emf 0x0100000058000000Corel Draw cdr CDRCAD dwg 0x41433130Adobe Photoshop psd 8BPSRich Text Format rtf rtfXML xmlHTML html;htm;php;php3;php4;phtml;shtml typeEmail eml Delivery-date:Outlook Express dbx 0xCFAD12FEOutlookpst!BDNMS Office/OLE2 doc;xls;dot;ppt;xla;ppa;pps;pot;msi;sdw;db 0xD0CF11E0A1B11AE1MS Access mdb;mda;mde;mdt Standard JWordPerfect wpd 0xFF575043OpenOffice Writer sxw writerOpenOffice Calc sxc calcOpenOffice Math sxm mathOpenOffice Impress sxi impressOpenOffice Draw sxd drawAdobe FrameMaker fm <MAKERFILEPostScript eps.or.ps;ps;eps %!PS-AdobeAdobe Acrobat pdf %PDF-1.Quicken qdf 0xAC9EBD8FQuickBooks Backup qbb 0x458600000600Sage sly.or.srt.or.slt;sly;srt;slt 0x53520100Sage Backup 1 SAGEBACKUPLotus WordPro v9 lwp 0x576F726450726FLotus 123 v9 123 0x00001A00051004Lotus 123 v5 wk4 0x00001A0002100400Lotus 123 v3 wk3 0x00001A0000100400Lotus 123 v1 wk1 0x2000604060Windows Password pwl 0xE3828596ZIP Archive zip;jar 0x504B0304ZIP Archive (outdated) zip 0x504B3030RAR Archive rar Rar!GZ Archive gz;tgz 0x1F8B08BZIP Archive bz2 BZhARJ Archive arj 0x60EA7-ZIP Archive 7z 7z集'Wave wav WAVEAVI avi AVIReal Audio ram;ra .ra?0Real Media rm .RMFMPEG mpg;mpeg 0x000001BAMPEG mpg;mpeg 0x000001B3Quicktime mov moovWindows Media asf 0x3026B2758E66CF11MIDI mid MThdWin32 Executable exe;dll;drv;vxd;sys;ocx;vbx MZWin16 Executable exe;dll;drv;vxd;sys;ocx;vbx MZELF Executable elf;; 0x7F454C4601010100各种文件类型文件头标志位详细列表FFD8FFFE00, .JPEG;.JPE;.JPG, "JPG Graphic File"FFD8FFE000, .JPEG;.JPE;.JPG, "JPG Graphic File"474946383961, .gif, "GIF 89A"474946383761, .gif, "GIF 87A"424D, .bmp, "Windows Bitmap"4D5A, .exe;.com;.386;.ax;.acm;.sys;.dll;.drv;.flt;.fon;.ocx;.scr;.lrc;.v xd;.cpl;.x32, "Executable File"504B0304, .zip, "Zip Compressed"3A42617365, .cnt, ""D0CF11E0A1B11AE1, .doc;.xls;.xlt;.ppt;.apr, "MS Compound Document v1 or Lotus Approach APR file"0100000058000000, .emf, ""03000000C466C456, .evt, ""3F5F0300, .gid;.hlp;.lhp, "Windows Help File"1F8B08, .gz, "GZ Compressed File"28546869732066696C65, .hqx, ""0000010000, .ico, "Icon File"4C000000011402, .lnk, "Windows Link File"25504446, .pdf, "Adobe PDF File"5245474544495434, .reg, ""7B5C727466, .rtf, "Rich Text Format File"lh, .lzh, "Lz compression file"MThd, .mid, ""0A050108, .pcx, ""25215053, .eps, "Adobe EPS File"2112, .ain, "AIN Archive File"1A02, .arc, "ARC/PKPAK Compressed 1"1A03, .arc, "ARC/PKPAK Compressed 2"1A04, .arc, "ARC/PKPAK Compressed 3"1A08, .arc, "ARC/PKPAK Compressed 4"1A09, .arc, "ARC/PKPAK Compressed 5"60EA, .arj, "ARJ Compressed"41564920, .avi, "Audio Video Interleave (AVI)"425A68, .bz;.bz2, "Bzip Archive"49536328, .cab, "Cabinet File"4C01, .obj, "Compiled Object Module"303730373037, .tar;.cpio, "CPIO Archive File" 4352555348, .cru;.crush, "CRUSH Archive File"3ADE68B1, .dcx, "DCX Graphic File"1F8B, .gz;.tar;.tgz, "Gzip Archive File"91334846, .hap, "HAP Archive File"3C68746D6C3E, .htm;.html, "HyperText Markup Language 1" 3C48544D4C3E, .htm;.html, "HyperText Markup Language 2" 3C21444F4354, .htm;.html, "HyperText Markup Language 3"100, .ico, "ICON File"5F27A889, .jar, "JAR Archive File"2D6C68352D, .lha, "LHA Compressed"20006040600, .wk1;.wks, "Lotus 123 v1 Worksheet"00001A0007800100, .fm3, "Lotus 123 v3 FMT file"00001A0000100400, .wk3, "Lotus 123 v3 Worksheet" 20006800200, .fmt, "Lotus 123 v4 FMT file"00001A0002100400, .wk4, "Lotus 123 v5"5B7665725D, .ami, "Lotus Ami Pro"300000041505052, .adx, "Lotus Approach ADX file"1A0000030000, .nsf;.ntf, "Lotus Notes Database/Template" 4D47582069747064, .ds4, "Micrografix Designer 4"4D534346, .cab, "Microsoft CAB File Format"4D546864, .mid, "Midi Audio File"000001B3, .mpg;.mpeg, "MPEG Movie"0902060000001000B9045C00, .xls, "MS Excel v2" 0904060000001000F6055C00, .xls, "MS Excel v4"7FFE340A, .doc, "MS Word"1234567890FF, .doc, "MS Word 6.0"31BE000000AB0000, .doc, "MS Word for DOS 6.0"1A00000300001100, .nsf, "Notes Database"7E424B00, .psp, "PaintShop Pro Image File"504B0304, .zip, "PKZIP Compressed"89504E470D0A, .png, "PNG Image File"6D646174, .mov, "QuickTime Movie"6D646174, .qt, "Quicktime Movie File"52617221, .rar, "RAR Archive File"2E7261FD, .ra;.ram, "Real Audio File"EDABEEDB, .rpm, "RPM Archive File"2E736E64, .au, "SoundMachine Audio File"53495421, .sit, "Stuffit v1 Archive File"53747566664974, .sit, "Stuffit v5 Archive File"1F9D, .z, "TAR Compressed Archive File"49492A, .tif;.tiff, "TIFF (Intel)"4D4D2A, .tif;.tiff, "TIFF (Motorola)"554641, .ufa, "UFA Archive File"57415645666D74, .wav, "Wave Files"D7CDC69A, .wmf, "Windows Meta File"4C000000, .lnk, "Windows Shortcut (Link File)"504B3030504B0304, .zip, "WINZIP Compressed"FF575047, .wpg, "WordPerfect Graphics"FF575043, .wp, "WordPerfect v5 or v6"3C3F786D6C, .xml, "XML Document"FFFE3C0052004F004F0054005300540055004200, .xml, "XML Document (ROOTSTUB)" 3C21454E54495459, .dtd, "XML DTD"5A4F4F20, .zoo, "ZOO Archive File"通过文件头标识判断图片格式最近在做东西的时候遇到了点问题,在加载图片的时候,加载失败,后缀都是jpg格式,但换个图片就可以了,为此,怀疑图片格式有问题,遂拖到UE里面查看它的16进制,果然,两个图片的文件头根本就不一样,这不是欺负人嘛,害我白白浪费了半天的时间,差点要重新编译内核。
视频格式mkv、mp4、avi、flv、mov、wmv、webm特点和区别
视频格式mkv、mp4、avi、flv、mov、wmv、webm特点和区别mkv是⼀种多媒体封装格式,这个封装格式可把多种不同编码的影像及 16 条或以上不同格式的⾳频和语⾔不同的字幕封装到⼀个 Matroska Media 档内。
它也是其中⼀种开放原始码的多媒体封装格式。
很多⼈把 Matroska 称作 mkv,其实 mkv 只是 Matroska 媒体系列的其中⼀种档案格式。
Matroska 最⼤的特点是能容纳多种不同类型编码的视频、⾳频及字幕流,俗称万能媒体容器。
Matroska媒体定义了三种类型的档,以 MKV 最为常见。
MKV(Matroska Video File):视讯档,可以包含⾳讯和字幕;MKA(Matroska Audio File):单⼀的⾳讯档,可以有多条及多种类型的⾳轨;MKS (Matroska Subtitles):字幕⽂件。
MKV 加⼊ AVI 所没有的 EDC 错误检测代码,这意味着即使是没有下载完毕的 MKV ⽂件也可以顺利回放,这些对AVI来说完全是不可想象的。
虽然 MKV 加⼊了错误检测代码,但由于采⽤了新的更⾼效的组织结构,⽤ MKV 封装后的电影还是⽐ AVI 源⽂件要⼩了约1%,这就是说即使加上了多个字幕,MKV⽂件的体积也不可能⽐ AVI ⽂件⼤。
MKV ⽀持可变帧率,它可在动态画⾯中使⽤较⼤的帧率,⽽在静态画⾯中使⽤较⼩的帧率,这样可以有效的减少视频⽂件的体积,并改善动态画⾯的质量。
它的作⽤⽐⽬前⼴泛使⽤的 VBR(可变码率)更为明显。
mp4MP4 是⼀套⽤于⾳频、视频信息的压缩编码标准,由国际标准化组织(ISO)和国际电⼯委员会(IEC)下属的“动态图像专家组”(Moving Picture Experts Group,即MPEG)制定,MPEG-4 格式的主要⽤途在于⽹络流、光盘、语⾳视频电话,以及电视⼴播。
MPEG 组织⽐较成功的标准有 MPEG-1、MPEG-2、MPEG-3 等。
常见的视频编码详解
常见的视频编码详解A VI所采用的压缩算法并无统一的标准。
也就是说,同样是以A VI为后缀的视频文件,其采用的压缩算法可能不同,需要相应的解压软件才能识别和回放该A VI文件。
除了Microsoft 公司之外,其他公司也推出了自己的压缩算法,只要把该算法的驱动(Codec)加到Windows 系统中,就可以播放用该算法压缩的A VI文件。
最新流行的MPEG-4视频也借用A VI的名称,只要机器安装了它的编码解码,也能够实现正常的播放。
这些A VI都能够在用Authorware 或PowerPiont开发的作品当中正常放映。
各种编码Codec所生成的A VI文件的大小和质量是不同的,对系统和硬件要求也不同。
因此在压缩A VI时,必须根据计算机的软硬件情况,来考虑采用什么Codec算法,否则你的作品中视频放映是难以令人满意的。
下面就是对各种常见编码解码Codec的说明。
常见的视频编码1、Cinepak Codec by Radius它最初发布的时候是用在386的电脑上看小电影,在高数据压缩率下,有很高的播放速度。
利用这种压缩方案可以取得较高的压缩比和较快的回放速度,但是它的压缩时间相对较长。
2、Microsoft Video 1用于对模拟视频进行压缩,是一种有损压缩方案,最高仅达到256色,它的品质就可想而知,一般还是不要使用它来编码A VI。
3、Microsoft RLE一种8位的编码方式,只能支持到256色。
压缩动画或者是计算机合成的图像等具有大面积色块的素材可以使用它来编码,是一种无损压缩方案。
4、Microsoft H.261和H.263 Video Codec用于视频会议的Codec,其中H.261适用于ISDN、DDN线路,H.263适用于局域网,不过一般机器上这种Codec是用来播放的,不能用于编码。
5、Intel Indeo Video R3.2所有的Windows版本都能用Indeo video 3.2播放A VI编码。
二进制、八进制、十进制、十六进制互相转换方法
二进制、八进制、十进制、十六进制互相转换方法有一个公式:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数。
个位,N=1;十位,N=2...举例:110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D2、十进制数转二进制数、八进制数、十六进制数方法是相同的,即整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果。
3、二进制数转换成其它数据类型3-1二进制转八进制:从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足,就是一个相应八进制数的表示。
010110.001100B=26.14Q八进制转二进制反之则可。
3-2二进制转十进制:见13-3二进制转十六进制:从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示,不足四位的用0补足,就是一个相应十六进制数的表示。
00100110.00010100B=26.14H十进制转各进制要将十进制转为各进制的方式,只需除以各进制的权值,取得其余数,第一次的余数当个位数,第二次余数当十位数,其余依此类推,直到被除数小于权值,最后的被除数当最高位数。
一、十进制转二进制如:55转为二进制2|5527――1 个位13――1 第二位6――1 第三位3――0 第四位1――1 第五位最后被除数1为第七位,即得110111二、十进制转八进制如:5621转为八进制8|5621702 ――5 第一位(个位)87 ――6 第二位10 ――7 第三位1 ――2 第四位最后得八进制数:127658三、十进制数十六进制如:76521转为十六进制16|765214726 ――5 第一位(个位)295 ――6 第二位18 ――6 第三位1 ――2 第四位最后得1276516二进制与十六进制的关系2进制0000 0001 0010 0011 0100 0101 0110 011116进制0 1 2 3 4 5 6 72进制1000 1001 1010 1011 1100 1101 1110 111116进制8 9 a(10) b(11) c(12) d(13) e(14) f(15)可以用四位数的二进制数来代表一个16进制,如3A16 转为二进制为:3为0011,A为1010,合并起来为00111010。
AVI视频格式
AVI视频格式AVI 简介微软AVI (Audio Video Interleave )文件格式使用RIFF 规范定义,AVI 由应用程序捕获、编辑和回放音-视频序列。
通常,AVI 文件包含多个不同数据类型的流。
多数AVI 序列同时使用音频和视频流。
一个简单的AVI 只包含视频数据不包含音频数据。
AVI 类型◦AVI 1.0◦Open-DML 1996年发布1.02◦Hybride-FilesTip: RIFXRIFX 文件格式与RIFF 文件格式是相同的,除了所有多字节按Motorola 字节顺序(大端机)。
'RIFF' fileSize fileType (data) data包含chunks和listsAVI DataCHUNKdwFourCC dwSize DataData 常常被补齐到最近的WORD 边界。
dwSize 包含有效数据大小,不包含补齐部分的大小typedef struct {DWORD dwFourCC //(dc = video, wb= audio, tx = text)DWORD dwSizeBYTE data[dwSize] // 包含headers 或video/audio 数据} CHUNK;FourCC全称Four-Character Codes,是由4个字符(4 bytes)组成,是一种独立标示视频数据流格式的四字节FourCC是在编程中非常常用的东西,一般用作标示符。
比如wav、avi等RIFF文件的标签头标示,Quake 3的模型文件.md3中也大量存在等于“IDP3”的FOURCC。
它是一个32位的标示符Tips: FourCC'LIST' dwSize dwFourCC DatadwSize包括dwFourCC和Data的大小。
typedef struct {DWORD dwList //'LIST'DWORD dwSizeDWORD dwFourCC // LIST类型,如’hdrl’BYTE Data[dwSize-4] //包含Lists或Chunks } LIST;LISTAVI 主要的LIST 和CHUNK‘hdrl’ LIST:定义了数据格式和第一个必需的LIST ‘movi’ LIST: 包含了AVI 序列的数据和第2个必需的LIST‘idx1’ CHUNK:包含的索引 AVI 文件必须以一定顺序定义以上三个分量。
avi格式电影
AVI格式电影简介AVI(Audio Video Interleave)是一种英语的音像交错,在计算机领域广泛使用的多媒体容器格式。
它最早由微软公司于1992年发布,广泛应用于视频、音频以及字幕等多媒体数据的存储和传输。
AVI格式常见于电影、电视节目、音乐视频等多媒体内容的播放和编辑。
AVI格式电影以其较小的文件大小和良好的兼容性而受到广泛青睐。
通过这种格式,用户可以在不同的多媒体播放器和编辑软件中无缝进行播放、编辑和转换,使其成为广大电影爱好者的首选。
AVI格式特点AVI格式具有以下特点:•容器格式:AVI是一种容器格式,它可以包含各种编码和格式的音频和视频数据。
这使得AVI格式电影可以适应多种多媒体需求,不仅限于特定的音频或视频编码。
•良好的兼容性:由于其较早发布和广泛应用,AVI格式电影可以在各种平台和软件上进行播放,无论是Windows、Mac还是Linux系统都能够支持。
此外,它也与各种播放器和编辑软件兼容,为用户提供了更多的选择。
•较小的文件大小:相对于其他一些高压缩率的格式,AVI格式电影的文件大小相对较小。
这使用户能够以较低的存储空间保存更多的电影内容,并方便其传输和分享。
•高质量的音视频输出:AVI格式电影采用了高质量的音视频压缩技术,可以保持原始影音内容的高保真度。
同时,用户也可以根据自己的需求选择不同的编码和压缩方式,以获得最佳的音视频输出效果。
AVI格式的优缺点优点•广泛兼容性:AVI格式电影可以在各种平台和软件上进行播放和编辑,无论是个人计算机、移动设备还是智能电视,都能够支持。
•较小的文件大小:相对于其他一些高压缩率的格式,AVI格式电影的文件大小较小,方便存储和传输,而不会占用过多的存储空间。
•良好的音视频质量:AVI格式电影采用高质量的音视频压缩技术,可以保持较高的音视频输出质量,并提供高保真的观影体验。
缺点•不支持嵌入式字幕:AVI格式电影不支持将字幕直接嵌入到视频中,这需要用户在播放时手动加载外部字幕文件。
AVI文件格式详解
AVI是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的一种符合RIFF 文件规范的数字音频与视频文件格式。
AVI格式允许视频和音频交错在一起同步播放,支持256色和RLE压缩,但AVI文件并未限定压缩标准,因此,AVI文件格式只是作为控制界面上的标准,不具有兼容性,用不同压缩算法生成的AVI文件,必须使用相应的解压缩算法才能播放出来。
AVI的主要参数视频参数:1.视窗尺寸(Video size):AVI的视窗大小可按4:3的比例或随意调整,视窗越大,数据量越大。
2.帧率(Frames per second):帧率也可以调整,而且与数据量成正比。
不同的帧率会产生不同的效果。
音频参数:在AVI文件中,视频和音频是分别存储的,因此可以把一段视频中的图像与另一段视频中的声音组合在一起。
AVI 文件与WAV文件密切相关,因為WAV文件是AVI文件中音频信号的来源,音频的基本参数也即WAV格式的参数。
除此以外,AVI文件还包括与音频有关的其他参数:1.视频与音频的交织参数(Interlace Audio Every X Frames):AVI格式中每X帧交织存储的音频信号,也即音频和图象交替的频率。
X是可调参数,X的最小值是一帧,即每个视频帧与音频数据交织组织,这是CD-ROM上使用的默认值。
交织参数越小,回放AVI文件时读到内存中的数据流越少,回放越连续。
因此,如果AVI文件的存储平台的数据传输率较大,则交错参数可设置得高一些,如几帧,甚至1秒。
2.同步控制(Synchronization):在AVI文件中,图像和音频是同步得很好的。
但实际上由于CPU处理能力的不够,回放AVI时有可能出现图像和音频不同步的现象。
当AVI文件的数据率较高,而MPC的处理速度不够时,容易出现图像和音频不同步的现象。
如视频中人张嘴说话,但声音并没有发出来。
设置同步控制可保证在不同的MPC环境下播放该AVI文件时都能同步。
AVI文件格式详细分析和理解
AVI文件格式详细分析和理解AVI(Audio Video Interleave)是一种常见的多媒体文件格式,它是由微软公司在1992年推出的。
AVI文件格式是一种容器格式,允许音频和视频数据以及其他元数据存储在一个文件中。
下面是AVI文件格式的详细分析和理解。
1.容器结构:AVI文件由几个不同的部分组成,包括文件头、主要AVI头、数据块索引以及音频和视频数据块。
这些部分按特定的顺序排列在文件中。
2. 文件头(RIFF头):AVI文件以RIFF(Resource Interchange File Format)头开始,RIFF头包含四个字节的“RIFF”标识符和4字节的文件大小字段。
RIFF头指示这是一个AVI文件并指示文件的大小。
3. 主要AVI头(Main AVI Header):主要AVI头提供了关于文件整体结构以及音频和视频流的信息。
主要AVI头包括文件格式版本号、总帧数、SuggestedBufferSize、宽度、高度以及数据的编码格式等信息。
4. 数据块索引(Data Chunk Index):数据块索引记录了音频和视频数据的位置和长度,它包括每个数据块的四字节标识符(比如“00db”表示视频数据块,“01wb”表示音频数据块)和对应数据块的位置偏移和长度。
5.音频和视频数据块:AVI文件中包含音频和视频数据块,这些数据块存储了实际的音频和视频数据。
音频数据块可能使用不同的编码格式,如PCM、MP3等,而视频数据块可能使用不同的编码格式,如MPEG、H.264等。
6.AVI文件的优点:AVI文件格式的一个优点是它的广泛兼容性。
几乎所有主流的媒体播放器都支持AVI格式,因此它可以在各种平台上播放。
此外,AVI格式还支持流式传输,因此可以在互联网上进行实时传输。
avi格式说明
RIFF文件格式
AVI 文件格式
AVI 文件类型用一个四字符码‘AVI ’来表示。整个AVI 文件的结构 为:一个RIFF 头 + 两个列表(一个用于描述媒体流格式、一个用于保 存媒体流数据) + 一个可选的索引块。
(RIFF+LIST(movi)+LIST(movi)+idx1)
RIFF头列表
idx1
Thanks!
RIFF文件格式
RIFF文件最开始的4 个字节是一个四字符码RIFF,表示这是一个RIFF 文件;紧跟着后面用4 个字节表示此RIFF 文件的大小;然后又是一个四 字符码说明文件的具体类型(比如AVI、WAVE 等);最后就是实际的数 据。注意文件大小值的计算方法为:实际数据长度 + 4(文件类型域的 大小)。 用 Uedit32.exe 打开一个avi文件一看就知道。
typedef struct _avimainheader { FOURCC fcc; // 必须为‘avih’ DWORD cb; // 本数据结构的大小,不包括最初的8 个字节(fcc 和cb 两个域)
hdrl列表
DWORD dwMicroSecPerFrame; // 视频帧间隔时间(以毫秒为单位) DWORD dwMaxBytesPerSec; // 这个AVI 文件的最大数据率 DWORD dwPaddingGranularity; // 数据填充的粒度 DWORD dwFlags; // AVI 文件的全局标记,比如是否含有索引块等 DWORD dwTotalFrames; // 总帧数 DWORD dwInitialFrames; // 为交互格式指定初始帧数(非交互格式 应 该指定为0) DWORD dwStreams; // 本文件包含的流的个数 DWORD dwSuggestedBufferSize; // 建议读取本文件的缓存大小 (应 能容纳最大的块) DWORD dwWidth; // 视频图像的宽(以像素为单位) DWORD dwHeight; // 视频图像的高(以像素为单位) DWORD dwReserved[4]; // 保留 } AVIMAINHEADER; 我看到的avi格式文件cd一般大小都是56,而实际数据是44,多的可能是填 充部分。
avi视频文件头十六进制码分析AVI格式
结合avi视频文件头十六进制码分析AVI格式这段时间要搞视频合成方面的东西,因此打算先弄明白avi视频的格式,介绍这方面内容的东西google一下一大堆,可是很悲剧,现在的人基本上都喜欢copy,内容基本来源于同一篇,对我没什么实质性的帮助。
本来是希望通过看看一些avi合成的源码来分析avi的结构的,可是windows下的程序基本是调用directshow完成的,格式方法都封装好了。
百思不得其解之余,还只自己分析吧。
开始之前,先看看avi的文件格式图:下面我们将结合一以下数据进行分析(该数据截取于是某个视频文件的文件头):[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0123456789012345]000000000: 52 49 46 46 DC 6C 57 09 41 56 49 20 4C 49 53 54 |RIFF.lW.AVI LIST|000000016: CC 41 00 00 68 64 72 6C 61 76 69 68 38 00 00 00 |.A..hdrlavih8...|e000000032: 50 C3 00 00 00 B0 04 00 00 00 00 00 10 00 00 00 |P...............| c000000048: A8 02 00 00 00 00 00 00 01 00 00 00 00 84 03 00 |................| 000000064: 40 01 00 00 F0 00 00 00 00 00 00 00 00 00 00 00 |@...............| 000000080: 00 00 00 00 00 00 00 00 4C 49 53 54 74 40 00 00 |........LISTt@..| 000000096: 73 74 72 6C 73 74 72 68 38 00 00 00 76 69 64 73 |strlstrh8...vids| 000000112: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000000128: 64 00 00 00 D0 07 00 00 00 00 00 00 A8 02 00 00 |d...............| 000000144: 00 84 03 00 10 27 00 00 00 00 00 00 00 00 00 00 |.....'..........| 000000160: 40 01 F0 00 73 74 72 66 28 00 00 00 28 00 00 00 |@...strf(...(...| 000000176: 40 01 00 00 F0 00 00 00 01 00 18 00 00 00 00 00 |@...............| 000000192: 00 84 03 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000000208: 00 00 00 00 69 6E 64 78 F8 3F 00 00 04 00 00 00 |....indx.?......| 000000224: 01 00 00 00 30 30 64 62 00 00 00 00 00 00 00 00 |....00db........| 000000240: 00 00 00 00 0C 44 00 00 00 00 00 00 00 40 00 00 |.....D.......@..|..000017408: 4C 49 53 54 38 F9 56 09 6D 6F 76 69 69 78 30 30 |LIST8.V.moviix00| 000017424: F8 3F 00 00 02 00 00 01 A8 02 00 00 30 30 64 62 |.?..........00db|"avih"子块:typedefstruct_avimainheader{FOURCC fcc;//必须为‘avih’DWORD cb;//本数据结构的大小,不包括最初的8个字节(fcc和cb两个域)structsize DWORD dwMicroSecPerFrame;//视频帧间隔时间(以毫秒为单位)DWORD dwMaxBytesPerSec;//这个AVI文件的最大数据率DWORD dwPaddingGranularity;//数据填充的粒度DWORD dwFlags;//AVI文件的全局标记,比如是否含有索引块等DWORD dwTotalFrames;//总帧数DWORD dwInitialFrames;//为交互格式指定初始帧数(非交互格式应该指定为0)DWORD dwStreams;//本文件包含的流的个数DWORD dwSuggestedBufferSize;//建议读取本文件的缓存大小(应能容纳最大的块)DWORD dwWidth;//视频图像的宽(以像素为单位)DWORD dwHeight;//视频图像的高(以像素为单位)DWORD dwReserved[4];//保留}AVIMAINHEADER;[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0123456789012345]000000000: 52 49 46 46DC 6C 57 0941 56 49 204C 49 53 54|RIFF.lW.AVI LIST|RIFF fileSize fileType LIST000000016: CC 41 00 0068 64 72 6C61 76 69 6838 00 00 00 |.A..hdrlavih8...|listSize listType avih结构大小000000032: 50 C3 00 0000 B0 04 0000 00 00 0010 00 00 00 |P...............|帧间时间最大数据率填充粒度全局标记000000048: A8 02 00 0000 00 00 0001 00 00 0000 84 03 00 |................|总帧数交互帧数流个数建议缓存000000064: 40 01 00 00F0 00 00 0000 00 00 00 00 00 00 00 |@...............|width height 保留000000080: 00 00 00 00 00 00 00 00"strh"子块:typedefstruct_avistreamheader{FOURCC fcc;//必须为‘strh’DWORD cb;//本数据结构的大小,不包括最初的8个字节(fcc和cb两个域)FOURCC fccType;//流的类型:‘auds’(音频流)、‘vids’(视频流)、//‘mids’(MIDI流)、‘txts’(文字流)FOURCC fccHandler;//指定流的处理者,对于音视频来说就是解码器DWORD dwFlags;//标记:是否允许这个流输出?调色板是否变化?WORD wPriority;//流的优先级(当有多个相同类型的流时优先级最高的为默认流)WORD wLanguage;DWORD dwInitialFrames;//为交互格式指定初始帧数DWORD dwScale;//这个流使用的时间尺度DWORD dwRate;DWORD dwStart;//流的开始时间DWORD dwLength;//流的长度(单位与dwScale和dwRate的定义有关)DWORD dwSuggestedBufferSize;//读取这个流数据建议使用的缓存大小DWORD dwQuality;//流数据的质量指标(0~10,000)DWORD dwSampleSize;//Sample的大小struct{shortint left;shortint top;shortint right;shortint bottom;}rcFrame;//指定这个流(视频流或文字流)在视频主窗口中的显示位置//视频主窗口由AVIMAINHEADER结构中的dwWidth和dwHeight决定}AVISTREAMHEADER;4C 49 53 5474 40 00 00|........LISTt@..|LIST listSize000000096: 73 74 72 6C73 74 72 6838 00 00 0076 69 64 73 |strlstrh8...vids| strl strh结构大小流类型(vids)000000112: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 流的处理者dwFlags wPriority wLanguage交互帧数000000128: 64 00 00 00 D0 07 00 00 00 00 00 00 A8 02 00 00 |d...............| 000000144: 00 84 03 00 10 27 00 00 00 00 00 00 00 00 00 00 |.....'..........| 000000160: 40 01 F0 00"strf"子块:typedef struct tagBITMAPINFO{BITMAPINFOHEADER bmiHeader;RGBQUAD bmiColors[1]; //颜色表}BITMAPINFO;typedef struct tagBITMAPINFOHEADER{DWORD biSize;LONG biWidth;LONG biHeight;WORD biPlanes;WORD biBitCount;DWORD biCompression;DWORD biSizeImage;LONG biXPelsPerMeter;LONG biYPelsPerMeter;DWORD biClrUsed;DWORD biClrImportant;}BITMAPINFOHEADER;73 74 72 66 28 00 00 00 28 00 00 00 |@...strf(...(...| strf 000000176: 40 01 00 00 F0 00 00 00 01 00 18 00 00 00 00 00 |@...............| 000000192: 00 84 03 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000000208: 00 00 00 00Index子块:typedefstruct_avioldindex{FOURCCfcc;//必须为‘idx1’DWORDcb;//本数据结构的大小,不包括最初的8个字节(fcc和cb两个域)struct_avioldindex_entry{DWORDdwChunkId;//表征本数据块的四字符码DWORDdwFlags;//说明本数据块是不是关键帧、是不是‘rec’列表等信息DWORDdwOffset;//本数据块在文件中的偏移量DWORDdwSize;//本数据块的大小}aIndex[];//这是一个数组!为每个媒体数据块都定义一个索引信息}AVIOLDINDEX;69 6E 64 78 F8 3F 00 00 04 00 00 00 |....indx.?......| indx 000000224: 01 00 00 00 30 30 64 62 00 00 00 00 00 00 00 00 |....00db........| 000000240: 00 00 00 00 0C 44 00 00 00 00 00 00 00 40 00 00 |.....D.......@..|000017408: 4C 49 53 5438 F9 56 096D 6F 76 69 69 78 30 30|LIST8.V.moviix00|LIST listSize listType indexBlock ( ix00 )000017424: F8 3F 00 00 02 00 00 01 A8 02 00 00 30 30 64 62 |.?..........00db| .... 00db ( uncompressed video frame )。
AVI数位视频
A VI數位視頻A VI數位視頻的格式A VI(Audio Video Interleave)是一種音頻視像交插記錄的數位視頻檔格式。
1992年初Microsoft公司推出了A VI技術及其應用軟體VFW(Video for Windows)。
在A VI檔中,運動圖像和伴音資料是以交織的方式存儲,並獨立於硬體設備。
這種按交替方式組織音頻和視像資料的方式可使得讀取視頻資料流程時能更有效地從存儲媒介得到連續的資訊。
構成一個A VI檔的主要參數包括視像參數、伴音參數和壓縮參數等:一、視像參數1、視窗尺寸(Video size):根據不同的應用要求,A VI的視窗大小或解析度可按4:3的比例或隨意調整:大到全屏640×480,小到160×120甚至更低。
視窗越大,視頻檔的資料量越大。
2、幀率(Frames per second):幀率也可以調整,而且與資料量成正比。
不同的幀率會產生不同的畫面連續效果。
二、伴音參數:在A VI檔中,視像和伴音是分別存儲的,因此可以把一段視頻中的視像與另一段視頻中的伴音組合在一起。
A VI檔與WA V檔密切相關,因為WA V檔是A VI檔中伴音信號的來源。
伴音的基本參數也即WA V文件格式的參數,除此以外,A VI文件還包括與音頻有關的其他參數:1、視像與伴音的交織參數(Interlace Audio Every X Frames)A VI格式中每X幀交織存儲的音頻信號,也即伴音和視像交替的頻率X是可調參數,X的最小值是一幀,即每個視頻幀與音頻資料交織組織,這是CD-ROM上使用的預設值。
交織參數越小,重播A VI檔時讀到記憶體中的資料流程越少,重播越容易連續。
因此,如果A VI檔的存儲平臺的資料傳輸率較大,則交錯參數可設置得高一些。
當A VI檔存儲在硬碟上時,也即從硬碟上讀A VI檔進行播放時,可以使用大一些的交織頻率,如幾幀,甚至1秒。
2、同步控制(Synchronization)在A VI檔中,視像和伴音是同步得很好的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结合avi视频文件头十六进制码分析AVI格式这段时间要搞视频合成方面的东西,因此打算先弄明白avi视频的格式,介绍这方面内容的东西google一下一大堆,可是很悲剧,现在的人基本上都喜欢copy,内容基本来源于同一篇,对我没什么实质性的帮助。
本来是希望通过看看一些avi合成的源码来分析avi的结构的,可是windows下的程序基本是调用directshow完成的,格式方法都封装好了。
百思不得其解之余,还只自己分析吧。
开始之前,先看看avi的文件格式图:下面我们将结合一以下数据进行分析(该数据截取于是某个视频文件的文件头):[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0123456789012345]000000000: 52 49 46 46 DC 6C 57 09 41 56 49 20 4C 49 53 54 |RIFF.lW.AVI LIST|000000016: CC 41 00 00 68 64 72 6C 61 76 69 68 38 00 00 00 |.A..hdrlavih8...|e000000032: 50 C3 00 00 00 B0 04 00 00 00 00 00 10 00 00 00 |P...............| c000000048: A8 02 00 00 00 00 00 00 01 00 00 00 00 84 03 00 |................| 000000064: 40 01 00 00 F0 00 00 00 00 00 00 00 00 00 00 00 |@...............| 000000080: 00 00 00 00 00 00 00 00 4C 49 53 54 74 40 00 00 |........LISTt@..| 000000096: 73 74 72 6C 73 74 72 68 38 00 00 00 76 69 64 73 |strlstrh8...vids| 000000112: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000000128: 64 00 00 00 D0 07 00 00 00 00 00 00 A8 02 00 00 |d...............| 000000144: 00 84 03 00 10 27 00 00 00 00 00 00 00 00 00 00 |.....'..........| 000000160: 40 01 F0 00 73 74 72 66 28 00 00 00 28 00 00 00 |@...strf(...(...| 000000176: 40 01 00 00 F0 00 00 00 01 00 18 00 00 00 00 00 |@...............| 000000192: 00 84 03 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000000208: 00 00 00 00 69 6E 64 78 F8 3F 00 00 04 00 00 00 |....indx.?......| 000000224: 01 00 00 00 30 30 64 62 00 00 00 00 00 00 00 00 |....00db........| 000000240: 00 00 00 00 0C 44 00 00 00 00 00 00 00 40 00 00 |.....D.......@..|..000017408: 4C 49 53 54 38 F9 56 09 6D 6F 76 69 69 78 30 30 |LIST8.V.moviix00| 000017424: F8 3F 00 00 02 00 00 01 A8 02 00 00 30 30 64 62 |.?..........00db|"avih"子块:typedefstruct_avimainheader{FOURCC fcc;//必须为‘avih’DWORD cb;//本数据结构的大小,不包括最初的8个字节(fcc和cb两个域)structsize DWORD dwMicroSecPerFrame;//视频帧间隔时间(以毫秒为单位)DWORD dwMaxBytesPerSec;//这个AVI文件的最大数据率DWORD dwPaddingGranularity;//数据填充的粒度DWORD dwFlags;//AVI文件的全局标记,比如是否含有索引块等DWORD dwTotalFrames;//总帧数DWORD dwInitialFrames;//为交互格式指定初始帧数(非交互格式应该指定为0)DWORD dwStreams;//本文件包含的流的个数DWORD dwSuggestedBufferSize;//建议读取本文件的缓存大小(应能容纳最大的块)DWORD dwWidth;//视频图像的宽(以像素为单位)DWORD dwHeight;//视频图像的高(以像素为单位)DWORD dwReserved[4];//保留}AVIMAINHEADER;[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0123456789012345]000000000: 52 49 46 46DC 6C 57 0941 56 49 204C 49 53 54|RIFF.lW.AVI LIST|RIFF fileSize fileType LIST000000016: CC 41 00 0068 64 72 6C61 76 69 6838 00 00 00 |.A..hdrlavih8...|listSize listType avih结构大小000000032: 50 C3 00 0000 B0 04 0000 00 00 0010 00 00 00 |P...............|帧间时间最大数据率填充粒度全局标记000000048: A8 02 00 0000 00 00 0001 00 00 0000 84 03 00 |................|总帧数交互帧数流个数建议缓存000000064: 40 01 00 00F0 00 00 0000 00 00 00 00 00 00 00 |@...............|width height 保留000000080: 00 00 00 00 00 00 00 00"strh"子块:typedefstruct_avistreamheader{FOURCC fcc;//必须为‘strh’DWORD cb;//本数据结构的大小,不包括最初的8个字节(fcc和cb两个域)FOURCC fccType;//流的类型:‘auds’(音频流)、‘vids’(视频流)、//‘mids’(MIDI流)、‘txts’(文字流)FOURCC fccHandler;//指定流的处理者,对于音视频来说就是解码器DWORD dwFlags;//标记:是否允许这个流输出?调色板是否变化?WORD wPriority;//流的优先级(当有多个相同类型的流时优先级最高的为默认流)WORD wLanguage;DWORD dwInitialFrames;//为交互格式指定初始帧数DWORD dwScale;//这个流使用的时间尺度DWORD dwRate;DWORD dwStart;//流的开始时间DWORD dwLength;//流的长度(单位与dwScale和dwRate的定义有关)DWORD dwSuggestedBufferSize;//读取这个流数据建议使用的缓存大小DWORD dwQuality;//流数据的质量指标(0~10,000)DWORD dwSampleSize;//Sample的大小struct{shortint left;shortint top;shortint right;shortint bottom;}rcFrame;//指定这个流(视频流或文字流)在视频主窗口中的显示位置//视频主窗口由AVIMAINHEADER结构中的dwWidth和dwHeight决定}AVISTREAMHEADER;4C 49 53 5474 40 00 00|........LISTt@..|LIST listSize000000096: 73 74 72 6C73 74 72 6838 00 00 0076 69 64 73 |strlstrh8...vids| strl strh结构大小流类型(vids)000000112: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 流的处理者dwFlags wPriority wLanguage交互帧数000000128: 64 00 00 00 D0 07 00 00 00 00 00 00 A8 02 00 00 |d...............| 000000144: 00 84 03 00 10 27 00 00 00 00 00 00 00 00 00 00 |.....'..........| 000000160: 40 01 F0 00"strf"子块:typedef struct tagBITMAPINFO{BITMAPINFOHEADER bmiHeader;RGBQUAD bmiColors[1]; //颜色表}BITMAPINFO;typedef struct tagBITMAPINFOHEADER{DWORD biSize;LONG biWidth;LONG biHeight;WORD biPlanes;WORD biBitCount;DWORD biCompression;DWORD biSizeImage;LONG biXPelsPerMeter;LONG biYPelsPerMeter;DWORD biClrUsed;DWORD biClrImportant;}BITMAPINFOHEADER;73 74 72 66 28 00 00 00 28 00 00 00 |@...strf(...(...| strf 000000176: 40 01 00 00 F0 00 00 00 01 00 18 00 00 00 00 00 |@...............| 000000192: 00 84 03 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000000208: 00 00 00 00Index子块:typedefstruct_avioldindex{FOURCCfcc;//必须为‘idx1’DWORDcb;//本数据结构的大小,不包括最初的8个字节(fcc和cb两个域)struct_avioldindex_entry{DWORDdwChunkId;//表征本数据块的四字符码DWORDdwFlags;//说明本数据块是不是关键帧、是不是‘rec’列表等信息DWORDdwOffset;//本数据块在文件中的偏移量DWORDdwSize;//本数据块的大小}aIndex[];//这是一个数组!为每个媒体数据块都定义一个索引信息}AVIOLDINDEX;69 6E 64 78 F8 3F 00 00 04 00 00 00 |....indx.?......| indx 000000224: 01 00 00 00 30 30 64 62 00 00 00 00 00 00 00 00 |....00db........| 000000240: 00 00 00 00 0C 44 00 00 00 00 00 00 00 40 00 00 |.....D.......@..|000017408: 4C 49 53 5438 F9 56 096D 6F 76 69 69 78 30 30|LIST8.V.moviix00|LIST listSize listType indexBlock ( ix00 )000017424: F8 3F 00 00 02 00 00 01 A8 02 00 00 30 30 64 62 |.?..........00db| .... 00db ( uncompressed video frame )。