用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   有意向写收费精品教程的朋友,请联系本站合作
当前位置 :首页>flash教程>Fms教程>列表

flv文件格式解读之data tags结构及实例分析

[来源:roading.net | 作者:roading | 时间:2008-04-04 | 点击:  | 收藏本文  【 】]
data tag的组成
//------------------------------------
data tags被flash player中的NetStream调用.一个meta包的内容由两个amf包组成.第一个(amf类型0x02)是基本上总是由2个字节带字符串长度+字符串组成,第二个(amf类型0x08)是由一个数组组成,数组中的各个元素是由不同类型组成.

data tags基本格式:
-------------------------------------------------------------------------------------------------
tag类型 0x12
tag大小 3个字节
时间戳 3个字节
时间戳扩展 1个字节
streamid 3个字节 总是0
data tag数据
--------------------------------------------------------------------------------------------------

data tag数据组成:
//-------------------------------------
object由名字和数据组成:
--------------------------------------------
object名字类型开始标志 0x02

object结束  0x02/000009

***********************************************
object名字:
名字大小 2个字节/4个字节名字的长度 名字
------------------
object数据:
数据类型 1个字节
  0 = Number type
  1 = Boolean type
  2 = String type
  3 = Object type
  4 = MovieClip type
  5 = Null type
  6 = Undefined type
  7 = Reference type
  8 = ECMA array type
  10 = Strict array type
  11 = Date type
  12 = Long string type

数组长度
  If Type = 8, 4个字节的数据大小
  
数据值  If Type = 0, DOUBLE(8个字节的double数据)
  If Type = 1, UI8
  If Type = 2, 2字节长度的字符串
  If Type = 3, object数据[n]
  If Type = 4, SCRIPTDATASTRING 定义MovieClip的路径
  If Type = 7, UI16
  If Type = 8,数据变量[ECMAArrayLength] 变量的结束标志是000009
  If Type = 10,数据变量[n]
  If Type = 11,日期类型

  If Type = 12,4字节长度的字符串

数据结束  If Type = 3,object数据结束标志  Object 和array 的结束标志
  If Type = 10,array数据结束标志
**************************************************************************************
日期类型是由下面组成:
------------------------
时间值  DateTime类型由8个字节的毫秒从Jan 1, 1970 UTC开始

时间偏移 本地的时区和标准时间的分钟的偏移


----------------------------------------------------------------------------------------------------


这是一个flv data tag的具体内容,下面是针对其结构数据的分析:

0x12  data tag的类型标志.
000152  data tag的长度
000000  时间戳
00  时间戳扩展
000000  流id

0x02  data object的类型标志
000A  object name的长度
6F6E4D65746144617461  object name(onMetaData)
08  第二个amf. data array的类型标志
0000000E 数组的长度
000D  object name的长度
617564696F6461746172617465 object name(audiodatarate)
00  double类型数据标志
404C354DDA204355 double类型的数据值

...
...

0005 object name的长度
7769647468 object name(width flv视频的宽度)
00  double类型数据标志
4086800000000000 double类型的数据值
000009   data tag的结束标志.

0000015D data tag的tag size


----------------------------------------------------------------------------------------------
到此,flv文件头,内容,以及文件内容组成的三种tag都做了简单的分析,在下一篇将谈论从flv文件中提取flv的meta信息.
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:flv文件格式解读之视频tags
下一篇:减少fms对磁盘的损耗
Tags:     结构 实例 分析 文件 格式 解读 数据 类型 字节 Type
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  教程分类
  基础操作   动画特效
  应用开发   组件学习
  As程序   动画教程
  Flash cs3   AS 3.0
  FCS/FMS教程   Loading教程
  Flash与Web   Flash教程连载
  相关文章
·FMS在线客服系统(客户端篇)
·FMS在线客服系统(fms脚本)
·FMS在线客服系统(分析篇)
·分布式的Flash Media Server: Gr
·基于SharedObject 3*3数组 做的M
·用flex做的 多服务器 im 及 源码
·基于SharedObject做的房间列表和
·fms 2.0A星寻路
·FMS音频延迟分析
·fms中介函数
  热门文章
·Flash进度条的制作详细讲解(组图)
·flash幻灯片网页效果
·Flex 3 AdvancedDataGrid的使用(第二
·全Flash动画网站实现的基础教学
·flash水影效果字
·Flash打造简单的飘雪动画视觉特效
·FLASH+XML相册(附源码)
·超酷flash光晕移动效果
·Flash旋转拖尾文字效果的制作教程
·Flash制作大雪纷飞效果动画
·flash春雷闪电效果
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号