swf 多媒体流格式

swf(shock wave flash)是Macromedia(现已被ADOBE公司收购)公司的动画设计软件Flash的专用格式,是一种支持矢量和点阵图形的动画文件格式,被广泛应用于网页设计,动画制作等领域,swf文件通常也被称为Flash文件。swf普及程度很高,现在超过99%的网络使用者都可以读取swf档案。这个档案格式由FutureWave创建,后来伴随着一个主要的目标受到Macromedia支援:创作小档案以播放动画。计划理念是可以在任何操作系统和浏览器中进行,并让网络较慢的人也能顺利浏览。swf 可以用Adobe Flash Player打开,浏览器必须安装Adobe Flash Player插件

 

文件结构

第1节

  swf文件的整体结构是 header + body的组成。

  文件的开始是一个[文件头]

  它的结构如下:

  字节 名称 说明

  1 Signature

  “F”表示非加密格式,”C”表示加密格式

  1 Signature “W”无特殊意义

  1 Signature “S”无特殊意义

  1 Version 版本号,它表示对应播放器版本

  4 FileLength 整个文件长度,低位在前

  N FrameSize

  RECT结构体,表示屏幕大小,具体结构和长度根据数据变化,分析方法另外讨论。

  2 FrameRate 帧频,默认为12,高位在前

  2 FrameCount

  帧数,表明文件根下的帧数,低位在前

  以上是swf中,最简单的一个tag,一个完整的swf文件是由很多独立的tag组成的。每一个tag都包括一个头和一个数据体,头有2种类型,短tag型和长­tag型。

  短tag型由2byte构成,前10个bit表示tag类型,后6个bit表示tag长度。

  长tag型由6byte构成,前10个bit表示tag类型,后6个bit固定为全1,后4个byte代表tag长度。

  tag的长度不同于文件头的长度FileLength,它是除去tag头后的长度。

  (另外)只有非加密的swf文件可以直接用以上的方法解析,加密的文件需要另外增加一步处理。

  

第2节

  前节说明了swf文件是由1个head和1个body构成的。

  并且解析了header的结构,和一个tag的header部分的简单说明。

  下面余下的就是swf文件的body了。

  整个文件body是由大量的tag组成的,通过分析tag的head部分,可以立刻知道这个tag的类型代码和长度。

  如果你无法识别这个tag的类型,也可以利用tag的长度,直接跳过这个tag。

  这种方式保证了版本的兼容性,即使出现了新的tag,老版本的播放器还是能够解析完整个swf文件而不出现错误,大不了就是不能提供新的功能而已。

  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值