·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]视频播放器处理flv,mp4,f4v元数据的问题

时间:2013-02-23 12:51CuPlayer.com
as3 中元数据 metadata 是干什么用的?能否自定义 元数据, 自定义元数据有什么用处?

as3 中元数据 metadata 是干什么用的,比如
[Property(value="1")]
public var acceleration:Number = 1;
这里的[Property(value="1")]是干什么用的?
能否自定义 元数据, 自定义元数据有什么用处?

元数据用途:
元数据在代码中的作用就是向编译器提供如何编译程序的信息,专门给编译器用的,说白了是告诉编译器做某些事情, 就Bindable来讲,它的作用是告诉flex编译器,给某些东西建立绑定关系,flex编译器会在编译过程中给AS加事件发生和处理的代码。

自定义元数据
元数据是可以自定义的,在"additional compiler arguments(附加的编译器参数)"中添加 "-keep-as3-metadata = Meta1,Meta2", 注意,使用逗号来分隔不同的元数据标签。

方法1

  从mvhd - movie header atom中找到time scale和duration,duration除以time scale即是整部电影的长度。

  time scale相当于定义了标准的1秒在这部电影里面的刻度是多少。

  例如audio track的time scale = 8000, duration = 560128,所以总长度是70.016,video track的time scale = 600, duration = 42000,所以总长度是70

方法2

  首先计算出共有多少个帧,也就是sample(从sample size atoms中得到),然后整部电影的duration = 每个帧的duration之和(从Time-to-sample atoms中得出)

  例如audio track共有547个sample,每个sample的长度是1024,则总duration是560128,电影长度是70.016;video track共有1050个sample,每个sample的长度是40,则总duration是42000,电影长度是70

  [mp4文件格式]获取mp4文件信息2 - 计算电影图像宽度和高度

  从tkhd – track header atom中找到宽度和高度即是。

  [mp4文件格式]获取mp4文件信息3 - 计算电影声音采样频率

  从tkhd – track header atom中找出audio track的time scale即是声音的采样频率。

  [mp4文件格式]获取mp4文件信息6 - 查找sample

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器