Использование SMIL-файла

Для управления несколькими потоками для нескольких полос пропускания класс VideoPlayer использует вспомогательный класс (NCManager), который поддерживает подмножество SMIL. SMIL-файл используется для определения местоположения видеопотока, макета (ширины и высоты) FLV-файла и исходных FLV-файлов, соответствующих различным полосам пропускания. Он также может использоваться для указания скорости потока и длительности FLV-файла.

Используйте параметр source или свойство FLVPlayback.source (ActionScript) для указания пути к файлу SMIL. Дополнительные сведения см. в описании свойств Источник и FLVPlayback.source в справочнике ActionScript® 3.0 для Adobe® Flash® Professional CS5 .

Следующий пример иллюстрирует SMIL-файл для потоковой передачи FLV-файлов с разными полосами пропускания с сервера FMS с использованием RTMP:

<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 , который используется для указания URL-адреса потокового видео (RTMP с FMS).

Тег <layout> поддерживает только элемент root-layout , который используется для задания атрибутов height и width , определяя размер окна, в котором отображается FLV-файл. Для этих атрибутов допустимы только значения в пикселах, а не в процентах.

В тело SMIL-файла можно либо включить одну ссылку на исходный FLV-файл, либо, при потоковой передаче нескольких файлов с разными полосами пропускания с FMS (как в предыдущем примере), использовать тег <switch> для перечисления исходных файлов.

Теги video и ref в теге <switch> являются синонимами — они оба могут использовать атрибут 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>

Доступность

Flash Professional 8.

Применение

<smil> 
... 
child tags 
... 
</smil>

Атрибуты

Нет.

Дочерние теги

<head>, <body>

Родительский тег

Нет.

Описание

Тег верхнего уровня, который идентифицирует SMIL-файл.

Пример

В следующем примере показан SMIL-файл, указывающий три 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>

Доступность

Flash Professional 8.

Применение

<head> 
... 
child tags 
... 
</head>

Атрибуты

Нет.

Дочерние теги

<meta>, <layout>

Родительский тег

<smil>

Описание

Поддерживая теги <meta> и <layout> , указывает местоположение и макет по умолчанию (высоту и ширину) исходных FLV-файлов.

Пример

В следующем примере указан корневой макет размером 240 на 180 пикселов:

<head> 
    <meta base="rtmp://myserver/myapp/" /> 
    <layout> 
        <root-layout width="240" height="180" /> 
    </layout> 
</head>

<meta>

Доступность

Flash Professional 8.

Применение

<meta/>

Атрибуты

base

Дочерние теги

<layout>

Родительский тег

Нет.

Описание

Содержит атрибут base , который указывает местоположение (URL-адрес RTMP) исходных FLV-файлов.

Пример

Следующий пример иллюстрирует тег meta для указания местоположения base на myserver :

<meta base="rtmp://myserver/myapp/" />

<layout>

Доступность

Flash Professional 8.

Применение

<layout> 
... 
child tags 
... 
</layout>

Атрибуты

Нет.

Дочерние теги

<root-layout>

Родительский тег

<meta>

Описание

Указывает ширину и высоту FLV-файла.

Пример

В следующем примере указан макет размером 240 на 180 пикселов:

<layout> 
    <root-layout width="240" height="180" /> 
</layout>

<root-layout>

Доступность

Flash Professional 8.

Применение

<root-layout...attributes.../>

Атрибуты

Ширина, высота

Дочерние теги

Нет.

Родительский тег

<layout>

Описание

Указывает ширину и высоту FLV-файла.

Пример

В следующем примере указан макет размером 240 на 180 пикселов:

<root-layout width="240" height="180" />

<body>

Доступность

Flash Professional 8.

Применение

<body> 
... 
child tags 
... 
</body>

Атрибуты

Нет.

Дочерние теги

<video>, <ref>, <switch>

Родительский тег

<smil>

Описание

Содержит теги <video> , <ref> и <switch> , указывающие имя исходного FLV-файла, минимальную пропускную способность и длительность FLV-файла. Атрибут system-bitrate поддерживается только при использовании тега <switch> . В теге <body> допускается присутствие только одного экземпляра тега <switch> , <video> или <ref> .

Пример

Следующий пример указывает три FLV-файла, два из которых используют тег video , а один — тег ref :

<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>

<video>

Доступность

Flash Professional 8.

Применение

<video...attributes.../>

Атрибуты

src, system-bitrate, dur

Дочерние теги

Нет.

Родительский тег

<body>

Описание

Синоним тега <ref> . Поддерживает атрибуты src и dur , указывающие имя исходного FLV-файла и его длительность. Атрибут dur поддерживает полный (00:03:00:01) и сокращенный (03:00:01) форматы времени.

Пример

Следующий пример задает источник и длительность видеофайла:

<video src="myvideo_mdm.flv" dur="3:00.1"/>

<ref>

Доступность

Flash Professional 8.

Применение

<ref...attributes.../>

Атрибуты

src, system-bitrate, dur

Дочерние теги

Нет.

Родительский тег

<body>

Описание

Синоним тега <video> . Поддерживает атрибуты src и dur , указывающие имя исходного FLV-файла и его длительность. Атрибут dur поддерживает полный (00:03:00:01) и сокращенный (03:00:01) форматы времени.

Пример

Следующий пример задает источник и длительность видеофайла:

<ref src="myvideo_cable.flv" dur="3:00.1"/>

<switch>

Доступность

Flash Professional 8.

Применение

<switch> 
... 
child tags 
... 
<switch/>

Атрибуты

Нет.

Дочерние теги

<video>, <ref>

Родительский тег

<body>

Описание

Используется с дочерним тегом <video> или <ref> для вывода списка FLV-файлов для потоковой передачи с несколькими полосами пропускания. Тег <switch> поддерживает атрибут system-bitrate , который указывает минимальную пропускную способность, а также атрибуты src и dur .

Пример

Следующий пример указывает три FLV-файла, два из которых используют тег video , а один — тег ref :

<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>