|
|
使用 SMIL 文件为了为多个带宽处理多个流,VideoPlayer 类可以使用支持 SMIL 的一个子集的辅助类 (NCManager)。SMIL 用于标识视频流的位置、FLV 文件的布局(宽和高)以及对应于不同带宽的源 FLV 文件。它还可以用于指定 FLV 文件的比特率和持续时间。 使用 source 参数或 FLVPlayback.source 属性 (ActionScript) 来指定 SMIL 文件的位置。有关详细信息,请参阅《ActionScript 3.0 语言和组件参考》中的 源 和 FLVPlayback.source 属性。 以下示例显示一个 SMIL 文件,该文件使用 RTMP 从 FMS 流式加载多个带宽 FLV 文件: <smil>
<head>
<meta base="rtmp://myserver/myapp/" />
<layout>
<root-layout width="240" height="180" />
</layout>
</head>
<body>
<switch>
<ref src="myvideo_cable.flv" dur="3:00.1"/>
<video src="myvideo_isdn.flv" system-bitrate="128000" dur="3:00.1"/>
<video src="myvideo_mdm.flv" system-bitrate="56000"dur="3:00.1"/>
</switch>
</body>
</smil>
<head> 标签可以包含 <meta> 和 <layout> 标签。<meta> 标签仅支持 base 属性,该属性用于指定视频流(来自 FMS 的 RTMP)的 URL。 <layout> 标签仅支持 root-layout 元素,该元素用于设置 height 和 width 属性,因此可确定用来呈现 FLV 文件的窗口的大小。这两个属性仅接受像素值,而不接受百分比。 在 SMIL 文件的正文内,您可以包括指向 FLV 源文件的单个链接;或者,如果您要从 FMS 流式加载多个带宽的多个文件(如前面的示例中所示),则可以使用 <switch> 标签列出这些源文件。 <switch> 标签内的 video 和 ref 标签意义相同;也就是说,它们都可以使用 src 属性指定 FLV 文件。进一步讲,每种标签都可以使用 region、system-bitrate 和 dur 属性指定 FLV 文件的区域、所需的最小带宽和持续时间。 在 <body> 标签内,只允许出现 <video>、<src> 或 <switch> 标签中的一个。 以下示例为不使用带宽检测的单个 FLV 文件显示渐进式下载: <smil>
<head>
<layout>
<root-layout width="240" height="180" />
</layout>
</head>
<body>
<video src=""myvideo.flv" />
</body>
</smil>
<smil>示例以下示例显示指定了 3 个 FLV 文件的一个 SMIL 文件: <smil>
<head>
<meta base="rtmp://myserver/myapp/" />
<layout>
<root-layout width="240" height="180" />
</layout>
</head>
<body>
<switch>
<ref src="myvideo_cable.flv" dur="3:00.1"/>
<video src="myvideo_isdn.flv" system-bitrate="128000" dur="3:00.1"/>
<video src="myvideo_mdm.flv" system-bitrate="56000"dur="3:00.1"/>
</switch>
</body>
</smil>
<body><switch> |