Dynamic Streaming: FLV Playback Kompontente mit SMIL-Datei

Ergänzend zum Artikel Dynamic Streaming mit dem Flash Media Server möchte ich eine sehr einfache Möglichkeit zeigen, wie man ohne große ActionScript-Kenntnisse dynamisches Streaming mit der FLV Playback Komponente 2.5 und einer SMIL-Datei realisieren kann.

Verwendet wird eine XML-Datei nach dem SMIL-Standard (Synchronized Multimedia Integration Language), einer Auszeichnungssprache für zeitsynchronisierte, multimediale Inhalt.

SMIL-Datei erstellen

Die SMIL-Datei kann mit jedem Text-/Codeeditor erstellt werden und wird mit dem (frei wählbaren) Dateinamen dynstream.smil im gleichen Verzeichnis wie die Flashanwendung abgespeichert.

[xml]









[/xml]

Sie enthält im head den Pfad zum Flash Media Server (rtmp://192.168.2.108) und der FMS-Anwendung mit dem Video (vod).

Im body stehen die Pfade zu den Bitraten-Varianten des Videos. Bei system-bitrate wird die jeweilige Bitrate eingetragen (in Bit, nicht wie in ActionScript in KBit)

SMIL-Datei in Flash laden

In Flash wird wie gewohnt die FLV Playback Komponente eingebunden. Einziger wesentlicher Unterschied: Man gibt statt eines Videofiles als Quelle einfach die SMIL-Datei als Videodatei an! Außerdem muss man das dynamische Streaming noch aktivieren (Zeile 2).

[as]
import fl.video.*;
VideoPlayer.iNCManagerClass = NCManagerDynamicStream;
myFLVPlayback.source = „dynstream.smil“;
[/as]

SMIL-Datei in Flex laden

Verwendet man Flex, sieht die Kombination von FLV Playback Komponente und externer SMIL-Datei z.B. so aus:

[xml]




[/xml]

[ad]

6 Gedanken zu „Dynamic Streaming: FLV Playback Kompontente mit SMIL-Datei“

  1. Hallo Arno,
    eine SMIL-Datei ist eine einfache XML-Datei, die du mit jedem Texteditor (z.B Notepad) öffnen kannst.

  2. Hallo Flo!
    Muss denn die SMIL-Datei zwingend im selben Ordner liegen, oder kann man die auch per Flashvar dynamisch von irgendwo her laden?

  3. Du kannst den Namen/Pfad der SMIL-Datei natürlich auch dynamisch als Flashvar übergeben.

    Quasi so:
    myFLVPlayback.source = root.loaderInfo.parameters.meineFlashVar;

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert