Blog

Alle Artikel

Echtzeit-Multimedia-Technologie

Technologies for Real-Time Multimedia | New Line Technologies

Stellen Sie sich vor, Sie könnten ohne Wartezeit sofort ein Video ansehen, Musik hören oder an einer Online-Veranstaltung teilnehmen. Dies ist dank Echtzeit-Datenstreaming möglich. Diese Technologie ermöglicht das kontinuierliche Streamen von Audio-, Video- und anderen Inhalten über das Internet, sodass Benutzer die Inhalte sofort genießen können, ohne die gesamte Datei herunterladen zu müssen. Daten werden in Form von Paketen übertragen, die fast unmittelbar nach ihrer Erstellung oder Erfassung eintreffen. Auf diese Weise können Sie das Material direkt in dem Moment ansehen oder anhören, in dem es geliefert wird, wodurch der Effekt eines Live-Zugriffs oder sofortigen Zugriffs entsteht.

Wie funktioniert es?

Live-Streaming ist ein komplexer Prozess, bei dem Daten in kleinen Paketen über das Internet gesendet werden, normalerweise über einen Server, der den Inhalt kodiert und liefert. Hier ist eine einfache Erklärung dieses Prozesses, um besser zu verstehen, wie alles funktioniert:

Schritt 1: Datenerfassung

Daten (z. B. Audio oder Video) können in Echtzeit übertragen, z. B. bei Sportübertragungen, oder vorab aufgezeichnet werden, z. B. bei Videos auf Netflix.

Schritt 2: Datenkomprimierung und -kodierung

Die Daten werden komprimiert, um die Dateigröße zu reduzieren, und in ein speziell für Streaming optimiertes Format kodiert. Dieses Format wird Codec genannt, die Abkürzung für Coder-Decoder oder Kompressor-Dekompressor. Codecs reduzieren die Dateigröße bei gleichbleibender Qualität und wandeln sie in ein Format um, das bequem übertragen und in Echtzeit wiedergegeben werden kann.

Zu den beliebtesten Codecs für das Streaming von Videos gehören H.264 (oder AVC), H.265 (oder HEVC) und VP9, ​​die alle ein gutes Gleichgewicht zwischen Komprimierung und Qualität bieten. Für Audio werden häufig AAC- (Advanced Audio Codec) und Opus-Codecs verwendet. Erwähnenswert ist auch AV1, ein neuer Codec, der für seine Effizienz beim Streaming bekannt ist. Mit diesen Formaten können Plattformen qualitativ hochwertige Medien ohne nennenswerte Bandbreitenanforderungen bereitstellen und so eine reibungslose Wiedergabe auch bei instabilen Internetgeschwindigkeiten gewährleisten.

Schritt 3: Streaming-Server

In einem Echtzeit-Streaming-System kodiert und komprimiert der Server die Medien und zerlegt sie in fortlaufend nummerierte und mit Zeitstempel versehene Pakete für die synchronisierte Zustellung an den Kunden. Es nutzt adaptive Datenübertragungsprotokolle wie HLS, DASH oder WebRTC, um die Übertragungsrate dynamisch an die Netzwerkbedingungen anzupassen. Dies trägt dazu bei, Verzögerungen zu reduzieren und eine reibungslose Wiedergabe zu gewährleisten. Um den Paketfluss zu steuern und eine qualitativ hochwertige Übertragung sicherzustellen, verwendet der Server Puffermethoden, Netzwerklastkontrolle und Fehlerkorrektur.

Schritt 4: Content Delivery Network (CDN)

ЯкщBei vielen Nutzern verteilt das CDN die Daten auf mehrere Server weltweit und sorgt so für eine reibungslose Zustellung ohne Verzögerungen oder Pufferung.

Schritt 5: Wiedergabe

Ein Gerät wie ein Smartphone, ein Computer oder ein Smart-TV empfängt Daten sofort und spielt sie ab. Die Wiedergabesoftware (oder „Player“) dekodiert und spielt jedes Paket in Echtzeit ab, wodurch der Eindruck einer kontinuierlichen Wiedergabe entsteht.

Beim Echtzeit-Streaming werden häufig Protokolle wie WebRTC (für Videoanrufe) oder RTP (Real-time Transport Protocol) verwendet, um den Zeitpunkt und die Übermittlung von Daten zu steuern.

RTS Protocols

Streaming-Protokolle sind standardisierte Methoden zur Übertragung von Medien über das Internet. Sie unterteilen Videodaten in kleinere Segmente und erleichtern so die Übertragung über verschiedene Arten von Internetverbindungen. Diese Protokolle spielen eine Schlüsselrolle beim Video-Streaming und stellen die Übertragung von Inhalten in verschiedenen Phasen des Bereitstellungsprozesses sicher.

Hier sind einige der am häufigsten verwendeten Streaming-Protokolle:

HLS (HTTP Live Streaming)

HTTP Live Streaming (HLS) ist ein weit verbreitetes adaptives Bitraten-Streaming-Protokoll, das von Apple entwickelt wurde. Dabei handelt es sich um ein HTTP-basiertes Medien-Streaming-Protokoll, das Medien in kleinere sequentielle HTTP-basierte Dateisegmente von einigen Sekunden Länge aufteilt, die über das Internet übertragen werden.

Hauptmerkmale:

  • Kompatibilität: HLS wird von den meisten HTML5-Videoplayern und iOS-Geräten unterstützt. Moderne Browser wie Safari, Chrome und Edge unterstützen die HLS-Wiedergabe ohne zusätzliche Plugins, obwohl einige Plattformen aus Kompatibilitätsgründen möglicherweise JavaScript-Bibliotheken wie Hls.js erfordern.
  • Adaptive Bitrate Streaming (ABR): HLS passt die Videoqualität automatisch an die Netzwerkbedingungen an und wechselt zwischen Streams mit unterschiedlichen Bitraten, die in unterschiedlichen Auflösungen codiert sind.
  • Bereitstellung über CDN (Content Delivery Network):  HLS arbeitet nahtlos mit Content Delivery Networks (CDNs) zusammen, um eine skalierbare Videoverteilung zu ermöglichen.
  • Segmentbasiertes Streaming: Medien werden in kleine MPEG-TS-Segmente oder fragmentierte MP4-Segmente (fMP4) aufgeteilt, was die Latenz und Fehlerbehebung verbessert.
  • Sicheres Streaming: Unterstützt Verschlüsselung (AES-128, SAMPLE-AES) und sichere Schlüsselaustauschmechanismen.

Technische Aspekte:

  • Herunterladen von Medien: Obwohl HLS das Herunterladen unterstützt, ist es aufgrund der hohen Latenz und der eingeschränkten Encoder-Unterstützung kein ideales Protokoll. Normalerweise wird RTMP oder WebRTC zum Herunterladen ausgewählt.
  • Latenz: Standard-HLS-Implementierungen haben tendenziell eine hohe Latenz (6–30 Sekunden), obwohl Low Latency HLS (LL-HLS) diese auf 2–3 Sekunden reduzieren kann.
  • Protokolle: Funktioniert über HTTP/1.1 oder HTTP/2 und ist daher äußerst kompatibel mit der vorhandenen HTTP-Infrastruktur.

RTMP (Real-Time Messaging Protocol)

RTMP wurde von Macromedia entwickelt (später von Adobe übernommen) und wurde für Echtzeit-Streaming mit geringer Latenz und Video-on-Demand-Wiedergabe über Adobe Flash Player entwickelt. Trotz des Niedergangs von Flash wird RTMP aufgrund seiner Einfachheit und geringen Kosten weiterhin häufig zum Herunterladen von Medien verwendet.

Hauptmerkmale:

  • Geringe Ladelatenz: RTMP bietet eine minimale Latenz für Streams und eignet sich daher ideal für interaktive Echtzeitanwendungen wie Live-Übertragungen und Online-Events.
  • Datenübertragungsprotokoll: RTMP verwendet eine dauerhafte TCP-Verbindung, um einen konstanten Datenfluss aufrechtzuerhalten, Paketverluste zu minimieren und eine unterbrechungsfreie Übertragung sicherzustellen.
  • Codierungskompatibilität: Kompatibel mit vielen Hardware- und Software-Encodern, einschließlich Open-Source-Tools wie OBS Studio und FFmpeg.

Technische Aspekte:

  • Verwendung: RTMP wird hauptsächlich für das Postback (Download) auf Video-Hosting-Plattformen oder CDNs verwendet, wo es häufig zur Bereitstellung an den Verbraucher in HLS, MPEG-DASH oder andere Protokolle neu codiert wird.
  • Codecs: Obwohl RTMP H.264 (Video) und AAC/MP3 (Audio) unterstützt, fehlt die Unterstützung für neuere Codecs wie H.265 (HEVC) oder VP9.
  • Herausforderungen und Probleme: RTMP ist weniger sicher als neuere Protokolle und erfordert zusätzlichen Aufwand zur Umgehung von Firewalls oder NAT-Problemen.

RTSP (Real-Time Streaming Protocol)

RTSP, definiert in IETF RFC 2326, ist ein Netzwerksteuerungsprotokoll, das für Streaming-Media-Systeme entwickelt wurde. Im Gegensatz zu RTMP, das sich mit Medientransport und -verwaltung befasst, konzentriert sich RTSP ausschließlich auf die Verwaltung von Wiedergabebefehlen.

Hauptmerkmale:

  • Wiedergabesteuerung: RTSP unterstützt Video-Player-ähnliche Befehle wie Wiedergabe, Pause, Stopp und Rücklauf, sodass Benutzer mit Live- und On-Demand-Streams interagieren können.
  • Streaming-Flexibilität: RTSP eignet sich hervorragend für Video-on-Demand- und Videoüberwachungssysteme, bei denen eine präzise Steuerung der Stream-Wiedergabe erforderlich ist.
  • Protokollunabhängigkeit: Obwohl RTSP allein keine Medien transportiert, wird es häufig in Verbindung mit RTP (Real-Time Protocol) verwendet, um Daten direkt zu liefern.

Technische Aspekte:

  • Medienbereitstellung: RTP, das über UDP oder TCP arbeitet, wird häufig in Verbindung mit RTSP für Medienstreaming verwendet.
  • Einsatzgebiete: Weit verbreitet in IP-Kamera-Streams, Videoüberwachungssystemen und Videokonferenzen.
  • Nachteile: RTSP bietet in den meisten Webbrowsern keine integrierte Unterstützung, sodass Player oder Plugins von Drittanbietern verwendet werden müssen.

MPEG-DASH (Dynamic Adaptive Streaming over HTTP)

MPEG-DASH ist ein offener adaptiver Streaming-Standard, der von der Moving Picture Experts Group (MPEG) entwickelt wurde. Dieses Protokoll konkurriert mit HLS, bietet aber aufgrund seiner Plattformunabhängigkeit Vorteile.

Hauptmerkmale:

  • Adaptives Streaming (ABR): Gewährleistet eine reibungslose Wiedergabe durch automatische Anpassung der Videoqualität basierend auf der verfügbaren Bandbreite und den Gerätefunktionen.
  • Codec-unabhängig: Unterstützt eine Vielzahl von Codecs, darunter H.264, H.265 (HEVC), VP9 und AV1, was es äußerst flexibel macht.
  • Segmentbasierte Bereitstellung: Medieninhalte werden in kleine Segmente unterteilt, normalerweise im fragmentierten MP4-Format, die über HTTP übertragen werden.

Technische Aspekte:

  • Protokollstapel: Verwendet TCP zum Transport von Daten, was eine zuverlässige Zustellung ermöglicht, allerdings mit erhöhter Latenz im Vergleich zu UDP-basierten Protokollen.
  • Manifestdateien: Verwendet MPD-Dateien (Media Presentation Description), um verfügbare Streams, Qualitäten und Wiedergaberegeln zu beschreiben.
  • Weitgehend kompatibel: Da MPEG-DASH Open Source und Codec-frei ist, wird es auf vielen Geräten und Plattformen unterstützt.
  • Latenz: Ähnliche Latenz wie herkömmliches HLS, kann jedoch verschiedene Innovationen wie Chunked Encoding nutzen, um eine Wiedergabe mit geringer Latenz zu ermöglichen.

Herausforderungen und Probleme:

  • Browserunterstützung: Obwohl MPEG-DASH weit verbreitet ist, bietet es in einigen gängigen Browsern (insbesondere Safari) keine native Unterstützung, sodass die Verwendung von Bibliotheken von Drittanbietern wie Dash.js erforderlich ist.

Streaming-Protokolle spielen eine Schlüsselrolle bei der Bereitstellung von Echtzeit-Video und -Audio und bieten einzigartige Vorteile für eine Vielzahl von Anwendungsfällen. Von Downloads mit geringer Latenz mit RTMP bis hin zur adaptiven Bereitstellung mit HLS und der Flexibilität des offenen MPEG-DASH-Standards ermöglichen diese Protokolle eine reibungslose, skalierbare und interaktive Bereitstellung von Inhalten. Die Kenntnis ihrer Stärken und Schwächen hilft Entwicklern, fundierte Entscheidungen zu treffen und die Leistung für bestimmte Anforderungen zu optimieren – sei es eine globale Live-Übertragung, ein sicherer Videoüberwachungs-Feed oder eine interaktive Videokonferenz. Während sich die Streaming-Technologie weiterentwickelt, werden neue Protokolle und Verbesserungen das Echtzeiterlebnis verbessern und die Zuschauer verbunden, informiert und unterhalten halten.

Möchten Sie Ihre Reise zur Schaffung eines erfolgreichen Echtzeit-Mediendienstes mit uns beginnen?