Ein Medienserver liefert Video- und Audioinhalte an Clients, die diese anfordern. Der Begriff wird sowohl für eine Softwareanwendung verwendet, die diese Funktion ausführt, als auch für einen Host, auf dem die Medienserversoftware ausgeführt wird.

Die häufigste Verwendung von Medienservern ist wahrscheinlich die Bereitstellung von Video-on-Demand (VOD). Dabei ruft der Medienserver aufgezeichnete Videoinhalte aus dem Speicher ab und stellt sie über das Internet bereit. Im einfachsten Fall wird die Videodatei in eine Webseite eingebettet und auf demselben Host gespeichert wie die anderen Komponenten der Seite. Der wohl häufigste Anwendungsfall für VOD sind jedoch Abonnementdienste wie Netflix, Amazon und Hulu, bei denen Medienserver auf der ganzen Welt Videos über Content Delivery Networks (CDNs) an Millionen von Kunden liefern. Wie weiter unten erläutert, gibt es mehrere Techniken für VOD und ein Medienserver muss einige oder alle davon unterstützen, abhängig von der Art der Videoplayer, die er unterstützt.

Live-Streaming ist eine weitere, immer beliebtere Anwendung von Media-Streaming-Servern. In diesem Fall liefert der Medienserver Inhalte so, wie sie in Echtzeit (oder mit nur geringer Verzögerung) generiert werden. Beispiele für Live-Streaming sind Pay-per-View-Sportveranstaltungen. Im Gegensatz zu VOD bestimmt beim Live-Streaming der Inhaltsanbieter, wann Benutzer das Video ansehen (wie beim Rundfunkfernsehen). Zudem ist es möglich, Live-Streams aufzuzeichnen und später als VOD abzurufen.

Unterstützung mehrerer VOD-Techniken

Die Techniken zur Videobereitstellung unterscheiden sich erheblich hinsichtlich der Kontrolle, die der Player über die Wiedergabe hat. Sie sind hier in der Reihenfolge zunehmender Komplexität aufgeführt:

  • Dateidownload – Das Video liegt in einer einzelnen Datei vor und die Wiedergabe kann erst beginnen, wenn die gesamte Datei vom Medienserver auf den Player heruntergeladen wurde.
  • Progressiver Download – Das Video befindet sich in einer einzelnen Datei, aber dank Metadaten am Anfang der Datei kann die Wiedergabe beginnen, sobald die Metadaten und eine kleine Menge Videodaten heruntergeladen wurden. Der Download wird im Hintergrund fortgesetzt, während das Video abgespielt wird.
  • Pseudo-Streaming – Der Player puffert die Videodaten und spielt sie ab, anstatt sie in den Speicher herunterzuladen. Es kann die Start- und Endzeit für den angeforderten Teil des Videos angeben, und der Medienserver (heute häufig als Streaming-Medienserver bezeichnet) ruft den entsprechenden Teil der Mediendatei ab und liefert („streamt“). Dadurch kann der Benutzer während der Videoübertragung vor- und zurückspulen oder sogar im Video herumspringen. Flash und MP4 sind beliebte Formate für Pseudo-Streaming.
  • Adaptives Bitrate-Streaming – Die Mediendatei wird in viele kleine Dateien segmentiert und eine Playlist als Inhaltsverzeichnis für die Segmente erstellt, was es den Benutzern noch einfacher macht, im Video herumzuspringen. Darüber hinaus kann der Inhaltsanbieter mehrere Versionen des Videos erstellen und mit unterschiedlichen Bitraten codieren, um unterschiedliche Ton- und Bildqualitäten bereitzustellen. Durch Anfordern von Segmenten, die mit der entsprechenden Bitrate codiert sind, kann der Player als Reaktion auf sich ändernde Netzwerkbedingungen nahtlos zwischen Versionen wechseln. Zu den beliebten Kodierungen für adaptives Bitrate-Streaming gehören HTTP Live Streaming (HLS) von Apple und HTTP Dynamic Streaming (HDS) von Adobe.
Wie kann NGINX Plus helfen?

NGINX Plus und NGINX sind die besten Medienserverlösungen ihrer Klasse, die von Websites mit hohem Datenverkehr wie Dropbox, Netflix und Zynga verwendet werden. Mehr als 350 Millionen Websites weltweit verlassen sich auf NGINX Plus und NGINX Open Source, um ihre Inhalte schnell, zuverlässig und sicher bereitzustellen.

NGINX Plus unterstützt alle in diesem Artikel beschriebenen Techniken, Formate und Kodierungen, einschließlich Flash, MP4, HLS und HDS für VOD. Für HLS kann es die Segmente und die Wiedergabeliste sogar dynamisch erstellen, wenn sie noch nicht vorhanden sind. Für Live-Streaming unterstützt NGINX Plus Adobes Real Time Messaging Protocol (RTMP), HLS und Dynamic Adaptive Streaming over HTTP (DASH).

Im Gegensatz zu einigen anderen Medienservern, die sich speziell auf die Medienbereitstellung konzentrieren und diese beschränken, ist NGINX Plus eine umfassende Anwendungsbereitstellungsplattform, die Reverse-Proxy , erweiterte Lastverteilung , Caching und Web-Serving sowie Funktionen bietet, die speziell für Streaming-Medien entwickelt wurden.

Eine umfassende Erläuterung der Media-Streaming-Funktionen von NGINX Plus (und ihrer Konfiguration) finden Sie in unserem Whitepaper „Serving Media with NGINX Plus“ .