Was ist Streaming? | Wie Streaming von Videos funktioniert

Streaming ist eine Methode, mit der Videos betrachtet oder Audioinhalte gehört werden können, ohne dass die Mediendateien heruntergeladen werden müssen. Die Streaming-Performance kann verbessert und die Pufferungszeit verkürzt werden, wenn der Besitzer der Dateien ein CDN verwendet.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Verstehen, wie Streaming funktioniert
  • Verstehen, durch welche Faktoren Streaming verlangsamt wird
  • Verstehen, warum beim Streaming UDP/IP anstelle von TCP/IP verwendet wird
  • Erklären, wie Streaming schneller gemacht werden kann

Link zum Artikel kopieren

Was ist Streaming?

Streaming von Medien

Die ersten Websites waren einfache Seiten mit Text und vielleicht einem oder zwei Bildern. Heute kann jedoch jeder mit einer ausreichend schnellen Internetverbindung hochauflösende Filme streamen oder einen Videoanruf über das Internet ausführen. Das ist dank einer als Streaming bezeichneten Technologie möglich.

Streaming ist die kontinuierliche Übertragung von Audio- oder Videodateien von einem Server zu einem Client. Einfacher ausgedrückt handelt es sich beim Streaming um das, was passiert, wenn Verbraucher auf Geräten mit Internetverbindung fernsehen oder sich Podcasts anhören. Beim Streaming wird die auf dem Clientgerät abgespielte Mediendatei remote gespeichert und in Abschnitten von jeweils einigen Sekunden über das Internet übertragen.

Was ist der Unterschied zwischen Streaming und Herunterladen?

Streaming erfolgt in Echtzeit und ist effizienter als das Herunterladen von Mediendateien. Beim Herunterladen einer Videodatei wird eine Kopie der ganzen Datei auf der Festplatte eines Geräts gespeichert, und das Video kann erst abgespielt werden, wenn die ganze Datei heruntergeladen worden ist. Wenn die Datei statt dessen gestreamt wird, spielt der Browser das Video ab, ohne es zu kopieren und zu speichern. Das Video wird jeweils nur in kleinen Abschnitten geladen, anstatt die ganze Datei auf einmal laden zu müssen, und die Informationen, die der Browser lädt, werden nicht lokal gespeichert.

Denken Sie an den Unterschied zwischen einem See und einem Fluss: Beide enthalten Wasser, und ein Fluss kann genauso viel Wasser enthalten wie ein See. Der Unterschied liegt darin, dass das ganze Wasser in einem Fluss nicht gleichzeitig an derselben Stelle ist. Eine heruntergeladene Videodatei ähnelt einem See, weil sie viel Festplatten-Speicherplatz einnimmt (und es lange dauert, einen See zu bewegen). Video-Streaming ähnelt eher einem Fluss, weil die Videodaten kontinuierlich und schnell zum Browser des Benutzers fließen.

Wie funktioniert Streaming?

Genauso wie andere, über das Internet gesendete Daten werden Audio- und Videodaten in Datenpakete unterteilt. Jedes Paket enthält einen kleinen Teil der Datei, und ein Audio- oder Video-Player im Browser des Clientgeräts empfängt den Fluss der Datenpakete und interpretiert sie als Video oder Audio.

Wenn Video über das Internet gesendet wird, ist anders als beim Senden von Text oder Bildern eine schnellere Datenübertragungsmethode als TCP/IP erforderlich, bei der Zuverlässigkeit wichtiger ist als Geschwindigkeit.

Wie wird Streaming durch das User Datagram Protocol (UDP) verbessert?

UDP ist ein Transportprotokoll, d. h. es wird verwendet, um Datenpakete über Netzwerke zu bewegen. UDP wird zusammen mit dem Internetprotokoll (IP) verwendet, und gemeinsam werden sie als UDP/IP bezeichnet. Anders als TCP sendet UDP keine Nachrichten hin und zurück, um eine Verbindung zu öffnen, bevor Daten übertragen werden, und es wird nicht sichergestellt, dass alle Datenpakete ankommen und in Ordnung sind. Demzufolge dauert die Datenübertragung nicht so lange wie über TCP, und obwohl einige Pakete unterwegs verloren gehen, sind so viele Datenpakete beteiligt, um einen Datenstrom aufrechtzuerhalten, dass der Benutzer die verlorenen Pakete nicht bemerken sollte.

Ein großer Teil des Internets verwendet TCP – das Transmission Control Protocol. Wenn bei diesem Transportprotokoll eine Verbindung geöffnet wird, findet eine gründliche Bestätigung in beiden Richtungen statt. Sobald die Verbindung offen ist und die beiden kommunizierenden Geräte Pakete hin und zurück senden, wird durch TCP gewährleistet, dass die Übertragung zuverlässig ist und alle Pakete in Ordnung sind.

Beim Streaming ist Geschwindigkeit weitaus wichtiger als Zuverlässigkeit. Wenn zum Beispiel jemand online eine Folge einer Fernsehsendung sieht, muss nicht bei jedem Einzelbild der Folge jedes Pixel vorhanden sein. Der Benutzer möchte eher, dass die Folge in normaler Geschwindigkeit abgespielt wird, anstatt zu sitzen und zu warten, dass jedes Datenbit geliefert wird. Daher sind ein paar verlorene Datenpakete kein großes Problem, und aus diesem Grund wird beim Streaming UDP verwendet.

TCP lässt sich mit einem Paketzustelldienst vergleichen, bei dem der Empfänger den Empfang des Pakets per Unterschrift bestätigen muss, wohingegen UDP einem Zustelldienst ähnelt, bei dem die Pakete vor der Haustür gelassen werden, ohne dass an der Tür geklingelt oder eine Unterschrift verlangt wird. Beim TCP-Zustelldienst gehen weniger Pakete verloren, aber der UDP-Zustelldienst ist schneller, weil Pakete auch dann abgegeben werden können, wenn niemand zu Hause ist, um ihren Empfang zu bestätigen.

Was ist Pufferung?

Streaming und Puffern

Streaming-Media-Player laden ein paar Sekunden des Datenstroms im Voraus, damit das Video oder Audio weiterhin abgespielt werden kann, wenn die Verbindung kurzzeitig unterbrochen wird. Dieser Vorgang wird als Pufferung bezeichnet. Durch Pufferung wird sichergestellt, dass Videos reibungslos und ohne Unterbrechungen abgespielt werden können. Bei langsamen Verbindungen oder bei großer Latenz in einem Netzwerk kann die Pufferung eines Videos allerdings lange dauern.

Durch welche Faktoren wird Streaming verlangsamt?

Auf der Netzwerkseite:

  • Netzwerklatenz: Die Latenz wird durch unterschiedliche Faktoren beeinflusst, z. B. durch den Speicherort des Inhalts, auf den Benutzer zuzugreifen versuchen.
  • Netzwerküberlastung: Wenn zu viele Daten über das Netzwerk gesendet werden, kann sich die Streaming-Performance verschlechtern.

Auf der Benutzerseite:

  • WLAN-Probleme: Durch Neustart des LAN-Routers oder Wechsel zu Ethernet anstelle von WLAN kann die Streaming-Performance verbessert werden.
  • Langsam arbeitende Clientgeräte: Zum Abspielen von Videos ist eine Menge Rechenleistung erforderlich. Wenn auf dem Gerät, das das Video streamt, viele andere Prozesse laufen oder es einfach allgemein langsam ist, kann die Streaming-Performance beeinträchtigt werden.
  • Nicht genug Bandbreite: Zum Streaming von Videos benötigen Heimnetzwerke ungefähr 4 Mbit/s Bandbreite, für hochauflösende Videos wahrscheinlich mehr.

Wie kann Streaming schneller gemacht werden?

Beim Streaming können die gleichen Verzögerungen und Performance-Probleme auftreten wie bei anderen Webinhalten. Da der gestreamte Inhalt anderswo gespeichert wird, macht der Hosting-Standort einen großen Unterschied aus, genauso wie bei allen anderen Inhalten, auf die über das Internet zugegriffen wird. Wenn ein Nutzer in New York versucht, einen Stream von einem Netflix-Server in Los Gatos zu empfangen, müssen die Daten fast 5.000 km zurücklegen. Das Puffern der Inhalte nimmt dementsprechend viel Zeit in Anspruch und möglicherweise startet das Video gar nicht erst. Aus diesem Grund machen Netflix und andere Streaming-Provider ausgiebig Gebrauch von verteilten Content Delivery Networks (CDN), die Inhalte an Standorten auf der ganzen Welt speichern, die viel näher an den Benutzern sind.

CDNs wirken sich sehr positiv auf die Streaming-Performance aus. Cloudflare Stream Delivery speichert mithilfe des Cloudflare-CDN Videoinhalte verteilt auf allen Cloudflare-Rechenzentren weltweit. Das Ergebnis sind weniger Latenz und damit kurze Videostartzeiten und weniger Pufferung.