Utilisation d’un fichier SMIL

Afin de gérer plusieurs flux continus pour plusieurs bandes passantes, la classe VideoPlayer utilise une classe d’assistance (NCManager) qui prend en charge un sous-ensemble de SMIL. Le langage SMIL permet d’identifier l’emplacement du flux vidéo, la disposition (largeur et hauteur) du fichier FLV ainsi que les fichiers FLV source qui correspondent aux différentes bandes passantes. Il peut également être utilisé pour indiquer la vitesse de transmission et la durée du fichier FLV.

Stipulez l’emplacement d’un fichier SMIL par le biais du paramètre source ou de la propriété FLVPlayback.source (ActionScript). Pour plus d’informations, voir La source et la propriété FLVPlayback.source dans le Guide de référence d’ActionScript 3.0 pour Flash Professional .

L’exemple suivant affiche un fichier SMIL qui diffuse en continu plusieurs fichiers FLV à partir d’un serveur FMS à l’aide du protocole 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>

La balise <head> peut contenir les balises <meta> et <layout> . La balise <meta> ne prend en charge que l’attribut base , qui permet de spécifier l’URL de la vidéo en flux continu (RTMP à partir d’un serveur FMS).

La balise <layout> ne prend en charge que l’élément root-layout qui permet de définir les attributs height et width et donc de déterminer la taille de la fenêtre dans laquelle le fichier FLV est rendu. Ces attributs acceptent uniquement des valeurs en pixels et non des pourcentages.

Vous pouvez insérer dans le corps du fichier SMIL un lien vers un fichier source FLV ou, si vous diffusez en continu plusieurs fichiers pour plusieurs bandes passantes d’un serveur FMS (comme dans l’exemple précédent), vous pouvez utiliser la balise <switch> pour dresser la liste des fichiers source.

Les balises video et ref situées dans la balise <switch> sont synonymes : elles peuvent utiliser toutes deux l’attribut src pour spécifier des fichiers FLV. Par ailleurs, chacune peut utiliser les attributs region , system-bitrate et dur pour spécifier la région, la bande passante minimale nécessaire et la durée du fichier FLV.

Dans la balise <body> , une seule occurrence des balises <video> , <src> ou <switch> est autorisée.

L’exemple suivant affiche le téléchargement progressif d’un seul fichier FLV qui n’utilise pas de détection de bande passante :

<smil> 
        <head> 
            <layout> 
                <root-layout width="240" height="180" /> 
            </layout> 
        </head> 
        <body> 
            <video src=""myvideo.flv" /> 
        </body> 
</smil>

<smil>

Disponibilité

Flash Professional 8.

Utilisation

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

Attributs

Aucun.

Balises enfant

<head>, <body>

Balise parent

Aucun.

Description

Balise de niveau supérieur qui identifie un fichier SMIL.

Exemple

L’exemple suivant affiche un fichier SMIL spécifiant trois fichiers 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>

Disponibilité

Flash Professional 8.

Utilisation

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

Attributs

Aucun.

Balises enfant

<meta>, <layout>

Balise parent

<smil>

Description

Prenant en charge les balises <meta> et <layout> , elle indique l’emplacement et la disposition par défaut (hauteur et largeur) des fichiers FLV source.

Exemple

L’exemple suivant définit la disposition racine sur 240 x 180 pixels :

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

<meta>

Disponibilité

Flash Professional 8.

Utilisation

<meta/>

Attributs

base

Balises enfant

<layout>

Balise parent

Aucun.

Description

Contient l’attribut base qui spécifie l’emplacement (URL RTMP) des fichiers FLV source.

Exemple

L’exemple suivant affiche une balise meta pour indiquer l’emplacement de base sur myserver :

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

<layout>

Disponibilité

Flash Professional 8.

Utilisation

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

Attributs

Aucun.

Balises enfant

<root-layout>

Balise parent

<meta>

Description

Indique la largeur et la hauteur du fichier FLV.

Exemple

L’exemple suivant spécifie la disposition sur 240 x 180 pixels :

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

<root-layout>

Disponibilité

Flash Professional 8.

Utilisation

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

Attributs

Largeur, hauteur

Balises enfant

Aucun.

Balise parent

<layout>

Description

Indique la largeur et la hauteur du fichier FLV.

Exemple

L’exemple suivant spécifie la disposition sur 240 x 180 pixels :

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

<body>

Disponibilité

Flash Professional 8.

Utilisation

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

Attributs

Aucun.

Balises enfant

<video>, <ref>, <switch>

Balise parent

<smil>

Description

Contient les balises <video> , <ref> et <switch> , qui indiquent le nom du fichier FLV source, la bande passante minimale et la durée du fichier FLV. L’attribut system-bitrate est uniquement pris en charge pour utiliser la balise <switch> . Dans la balise <body> , une seule occurrence des balises <video> , <ref> ou <switch> est autorisée.

Exemple

L’exemple suivant spécifie trois fichiers FLV, deux utilisant la balise video et un utilisant la balise 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>

Disponibilité

Flash Professional 8.

Utilisation

<video...attributes.../>

Attributs

src, system-bitrate, dur

Balises enfant

Aucun.

Balise parent

<body>

Description

Synonyme de la balise <ref> . Elle prend en charge les attributs src et dur , qui spécifient le nom du fichier FLV source ainsi que sa durée. L’attribut dur prend en charge les formats horaires complet (00:03:00:01) et partiel (03:00:01).

Exemple

L’exemple suivant définit la source et la durée d’une vidéo :

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

<ref>

Disponibilité

Flash Professional 8.

Utilisation

<ref...attributes.../>

Attributs

src, system-bitrate, dur

Balises enfant

Aucun.

Balise parent

<body>

Description

Synonyme de la balise <video> . Elle prend en charge les attributs src et dur , qui spécifient le nom du fichier FLV source ainsi que sa durée. L’attribut dur prend en charge les formats horaires complet (00:03:00:01) et partiel (03:00:01).

Exemple

L’exemple suivant définit la source et la durée d’une vidéo :

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

<switch>

Disponibilité

Flash Professional 8.

Utilisation

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

Attributs

Aucun.

Balises enfant

<video>, <ref>

Balise parent

<body>

Description

Utilisée avec la balise enfant <video> ou <ref> pour répertorier les fichiers FLV destinés à la diffusion de vidéo en continu via plusieurs bandes passantes. La balise <switch> prend en charge l’attribut system-bitrate , qui spécifie la bande passante minimale ainsi que les attributs src et dur .

Exemple

L’exemple suivant spécifie trois fichiers FLV, deux utilisant la balise video et un utilisant la balise 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>