Aby obsłużyć strumienie dla wielu przepustowości, w klasie VideoPlayer używana jest klasa pomocnicza (NCManager), w której obsługiwany jest podzbiór SMIL. SMIL używany jest w celu identyfikacji położenia strumienia wideo, układu (szerokości i wysokości) pliku FLV oraz źródłowych plików FLV, które odpowiadają różnym przepustowościom. Może być on także używany do określania szybkości transmisji oraz czasu trwania pliku FLV.
Do określania położenia pliku SMIL służy parametr
source
lub właściwość FLVPlayback.source (ActionScript). Więcej informacji zawiera sekcja
Źródło
oraz opis właściwości
FLVPlayback.source
w
Skorowidzu języka ActionScript 3.0
dla programu Flash Professional
.
W poniższym przykładzie przedstawiony został plik SMIL, który strumieniuje z serwera FMS pliki FLV o różnej przepustowości za pomocą protokołu 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>
Znacznik
<head>
może zawierać znaczniki
<meta>
oraz
<layout>
. W znaczniku
<meta>
obsługiwany jest tylko atrybut
base
, który używany jest do określania adresu URL strumienia wideo (protokół RTMP z serwera FMS).
W znaczniku
<layout>
obsługiwany jest tylko element
root-layout
, który używany jest do ustawiania atrybutów
height
oraz
width
, dlatego też określany jest w nim rozmiar okna, w którym renderowany jest plik FLV. W atrybutach tych akceptowane są tylko wartości pikseli, nie zaś procenty.
Do ciała pliku SMIL można dołączyć pojedyncze łącze do źródłowego pliku FLV lub, jeśli z serwera FMS strumieniowanych jest wiele plików o różnych przepustowościach (tak, jak w poprzednim przykładzie), można użyć znacznika
<switch>
w celu wyświetlenia plików źródłowych.
Znaczniki
video
i
ref
w tagu
<switch>
są synonimami — oba znaczniki mogą używać atrybutu
src
do określania plików FLV. Każdego z atrybutów
region
,
system-bitrate
i
dur
można użyć do określenia obszaru, minimalnej wymaganej przepustowości oraz czasu trwania pliku FLV.
W znaczniku
<body>
dozwolone jest tylko jedno wystąpienie znacznika
<video>
,
<src>
lub
<switch>
.
W poniższym przykładzie przedstawione zostało pobieranie progresywne dla pojedynczego pliku FLV, w którym nie jest używane wykrywanie przepustowości:
<smil>
<head>
<layout>
<root-layout width="240" height="180" />
</layout>
</head>
<body>
<video src=""myvideo.flv" />
</body>
</smil>