Nachdem der Streaming-Markt früher zwischen Windows Media, Real und Quicktime aufgeteilt war, versucht nun Adobe mit der Integration der standardisierten Mpeg-4-Formate H.264 und AAC die bereits starke Position von Flash noch weiter auszubauen. Auf Seite der Clients sorgt dafür der frei verbreitete Flash Player für Mac, Windows und Linux. Server-seitig verkauft Adobe seinen Flash Media Server als kommerzielles Produkt, das in der aktuellen Version 3 auch für Linux verfügbar ist [1].
Streaming statt HTTP
Den großen Durchbruch haben Flash-Videos durch die so genannten progressiven Downloads à la Youtube erlangt. Dabei lädt der Client (Flash Player im Browser) Audio- oder Videodaten über HTTP herunter und spielt sie bereits während des Downloads ab. Der Vorteil: Es fallen keinerlei Lizenzkosten für Streamingserver an, da der gesamte Datenverkehr über den Webserver läuft. Außerdem gibt es keine Schwierigkeiten mit Firewalls, da der HTTP-Port 80 ohnehin fast immer freigegeben ist.
Ein richtiger Streamingserver kostet demgegenüber erst einmal Geld, verursacht zusätzlichen Administrationsaufwand und verbreitet die Inhalte über exotische Protokolle wie RTSP, die in der Regel von Firewalls zumindest in Firmennetzwerken geblockt werden.
Es gibt aber einige entscheidende Vorteile: Zunächst werden keine Daten auf die Festplatte des Clients heruntergeladen, ein Stream belegt stattdessen nur einen Teil des Arbeitsspeichers. Während der Wiedergabe lädt der Client einen Datenpuffer (meist etwa 10 Sekunden des Videos) fortlaufend nach, während er die wiedergegebenen Informationen gleich wieder verwirft. Die Navigation in einem Stream ist daher für den Nutzer wesentlich komfortabler, da er bereits unmittelbar nach dem Start bis kurz vor das Ende springen kann, weil der Client dazu ja nur den Puffer nachladen muss. Eine Kapitel-ähnliche Navigation wie bei DVDs ist daher praktisch nur mit einem Streamingserver umsetzbar.
Unter Umständen kann ein Streamingserver damit auch Kosten sparen, da er immer nur den Teil des Videos überträgt, den der Anwender auch ansieht. Bei Youtube beispielsweise lädt der Browser ein 10-Minuten-Video immer komplett herunter, sofern der Nutzer nicht das Browserfenster schließt.
Live-Flash nur mit dem Adobe FMS
Eine Live-Übertragung von Flash-Videos einer Veranstaltung ist nur mit einem Streamingserver möglich. Außerdem kann der Server durch die ständige Kommunikation mit dem Client die verfügbare Bandbreite des Nutzers messen und bei entsprechend encodiertem Material dynamisch bandbreitengerechte Streams ausliefern. Die meisten Streamingserver bringen auch Clustering-Funktionen zur Verteilung der Netzwerklast und Erhöhung der Ausfallsicherheit mit.
Die Logdateien eines Streamingservers enthalten ausführlichere Informationen zur Mediennutzung, als das mit einem Webserver möglich wäre. Zum Beispiel erfassen sie genau die Betrachtungszeiten jedes einzelnen Streams mit dem übertragenen Datenvolumen. Diese Informationen sind für Inhaltsanbieter wie die Deutsche Welle natürlich besonders interessant, für die der Autor im Bereich Streaming Development arbeitet.
Mit dem Einsatz des Flash Media Server (FMS) lassen sich die Vorteile eines Streamingservers mit den Stärken des Flash-Formats verbinden. Der Flash Player ist für alle drei wesentlichen Plattformen (Windows, Linux, Mac OS) in aktuellen Versionen mit identischem Funktionsumfang verfügbar und hat eine hohe Verbreitung von über 90 Prozent aller Internet-fähigen Computer. Mit der Flash- oder Flex-Entwicklungsumgebung lassen sich inzwischen sehr leistungsfähige Anwendungen entwickeln.
Im Wesentlichen gibt es zwei verschiedene Editionen des FMS 3. Zunächst den Flash Media Streaming Server 3: Er kostet 995 US-Dollar und kann Flash- und Mpeg-4-Videos sowie MP3-Dateien streamen. Der Flash Media Interactive Server zum Preis von 4500 US-Dollar bietet zahlreiche ergänzende Features: Er kann zum Beispiel geclustert werden und unterstützt Server-seitiges Skripting. Das ist nützlich, um interaktive Videochat-Anwendungen zu realisieren oder um von den Nutzern per Webcam aufgezeichnete Videos auf dem Server zu speichern. Zudem lässt sich der Interactive Server über eigene in C++ geschriebene Plugins erweitern, auch unterstützt er die Benutzer-Authentifizierung per LDAP.
Die kostenfreie Developer Edition entspricht im Funktionsumfang dem Interactive Server, ist aber auf zehn gleichzeitige Nutzer beziehungsweise Netconnections beschränkt. Hintergrund: Der Flash Player baut Netconnections (bidirektionale Verbindung für die Steuerung des Streams) zum Server auf, um anschließend per Netstream-Objekt (unidirektionale Verbindung) Audios oder Videos zum Client zu streamen (Abbildung 1).
Abbildung 1: Der Flash Media Server im Zentrum der Streaming-Welt. Als Grundlage für die Produktion dient der Media Encoder, zum Anschauen der Flash Player.
Adobe hat das Lizenzmodell des FMS drastisch überarbeitet. Während bei früheren Versionen die Lizenzen nach einer bestimmten Nutzeranzahl berechnet wurden (FMS 2 bediente beim Preis von 5500 US-Dollar maximal 100 gleichzeitige Nutzer), sind die aktuellen Versionen nicht mehr eingeschränkt.
Es gibt zwei Alternativen zum Flash Media Server: das Open-Source-Projekt Red5 [2] sowie den kommerziellen Wowza Media Server. Letzterer bietet im Wesentlichen alle Features des Flash Media Interactive Server, aber zu dem deutlich geringeren Preis von 995 US-Dollar. Beide Server beruhen auf Reverse Engineering beziehungsweise einer Eigenentwicklung des Streamingprotokolls.
Glaubt man den diversen Internetforen wie zum Beispiel [3] und berücksichtigt dabei die eher Open-Source-freundliche Grundhaltung von Adobe, lässt sich mit einiger Vorsicht davon ausgehen, dass Adobe die Patentansprüche auf das Protokoll wahrscheinlich nicht juristisch durchsetzen wird.