ASF文件结构

最近一个月经理让我把我公司.vm4格式的video文件,封装成MS的ASF文件。

ASF文件是一个容器。理论上来说,可以包容各种video文件。这些文件可以用MS自己的codec,也可用第三方的codec。

ASF主要有三个部分组成(我们把这些部分叫做对象):文件头对象,数据对象,索引对象!

E文:Header Object ,Data Object, Index Object

Header Object又由许多小的Object组成,如必须要有的三个File Object,Stream Object, HeadExtended Object.

DataObject由自己的DataObject头+n个Packet组成,每个Packet由一个Parsing 头+n个payload组成。

Index对象,因为是可选的,我就没有过多研究啊。

以上三个对象最重要的当然是前两个了。

DataObject中的packet,是一个固定大小的包,它是不同于一般video有的Frame的。

下面让我看看三个概念之间的联系和区别:

Packet是固定大小的网络包。如果Frame>Packet大小,则Frame被分段放入不同的Packet.

如果Frame<Packet,则一个Packet可以放入多个Frame.

那么Payload呢,数据就是放在Payload中的,Payload就是指一个小于Packet的Frame,或者是被分段的一段Frame。

在Packet中有一个两个重要参数:Stream Number,MediaObject Number.

前一个用于区分video、audio,或者其它数据。

后一个主不是Frame的编号。

那么Stream Number用户可以自主编号,它对应于HeadObject里的StreamObject.

而MediaObjectNumber就要按照Frame,进行顺序编号了。

当然其中细节很多,不可能在这里讲清楚,这里讲的只是概述。

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

后记:经理给我的这个任务,我没能完成,原因是我的英语水平不行。

我封装的ASF文件,虽然可以Media Player 6.0 或者其它播放器里播放,但就是不能在Medai Player 9.0播放。

不知道是我的原因,还是MS不在对第三方Codec进行支持的原故。总之这件事让我很郁闷。有时候有干劲,

努力工作不一定能成功。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值