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.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Was ist Live-Streaming?
Live-Stream-Verschlüsselung
HTTP-Livestreaming
Was ist MPEG-DASH?
Videocodierungsformate
Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!
Link zum Artikel kopieren
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 schauen 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.
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.
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.
Einige Streaming-Methoden verwenden UDP, andere TCP. UDP und TCP sind Transportprotokolle, d. h. sie werden für die Übertragung von Datenpaketen über Netzwerke verwendet. Beide werden mit dem Internetprotokoll (IP) verwendet. TCP öffnet eine dedizierte Verbindung, bevor es Daten überträgt, und stellt sicher, dass alle Datenpakete in der richtigen Reihenfolge ankommen. Im Gegensatz zu TCP tut UDP nichts von alledem. Daher ist TCP zuverlässiger, aber die Übertragung von Daten über UDP dauert nicht so lange wie über TCP, obwohl einige Pakete unterwegs verloren gehen.
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.
Beim Streaming ist Geschwindigkeit in manchen Fällen viel wichtiger als Zuverlässigkeit. Wenn jemand beispielsweise an einer Videokonferenz teilnimmt, möchte er lieber in Echtzeit mit den anderen Konferenzteilnehmern interagieren, als auf die Übertragung jedes einzelnen Datenpakets zu warten. Daher sind ein paar verlorene Datenpakete kein großes Problem, und UDP ist die richtige Wahl.
In anderen Fällen ist die Zuverlässigkeit beim Streaming wichtiger. So sind beispielsweise sowohl HTTP-Live-Streaming (HLS) als auch MPEG-DASH Streaming-Protokolle, die TCP für den Transport verwenden. Viele Video-on-Demand-Dienste verwenden TCP.
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.
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 cacht mithilfe des Cloudflare-CDN Videoinhalte und verteilt sie auf allen Cloudflare-Rechenzentren weltweit. Das Ergebnis sind weniger Latenz und damit kurze Videostartzeiten und weniger Pufferung.