Einzelne Peer-Verbindung

Ermöglichen Sie schlankere, schnellere und besser skalierbare Videositzungen, indem Sie alle Teilnehmerströme über eine einzige WebRTC-Peer-Verbindung leiten.

Mit zunehmender Anzahl Ihrer Sitzungen steigt auch die Anzahl der WebRTC-Peer-Verbindungen, die jeder Client aufrechterhalten muss (eine für jeden abonnierten Stream). Jede Verbindung umfasst eine eigene ICE-Verhandlung, einen eigenen DTLS-Handshake und einen eigenen Status zur Überlastungskontrolle. Dieser Overhead kann sich schnell summieren, insbesondere auf mobilen Geräten.

Einzel-Peer-Verbindung (SPC) reduziert den Aufwand beim Verbindungsaufbau. Wenn diese Funktion aktiviert ist, werden alle Teilnehmer-Streams für einen Client über eine gemeinsame Peer-Verbindung zum Vonage Video Media Router multiplexiert, unabhängig davon, wie viele verschiedene Sender an der Sitzung beteiligt sind. Das Ergebnis ist eine geringere Netzwerkbelastung durch die Nutzung weniger Ports, ein intelligenteres Bandbreitenmanagement und eine bessere Skalierbarkeit über alle Geräte hinweg.

Die Funktion „Single Peer Connection“ ist nur in gerouteten Sitzungen verfügbar (Sitzungen, die den Vonage Video Media Router nutzen). In Sitzungen, die adaptives Medien-Routing, SPC findet keine Anwendung, solange die Medienübertragung direkt zwischen zwei Teilnehmern erfolgt, gilt jedoch, sobald die Sitzung auf die Nutzung des Media Routers umgestellt wird. Siehe Der Vonage Video Media Router und die Medienmodi.

Vorteile

Die Aktivierung der „Single Peer Connection“ ist eine der wirkungsvollsten Optimierungen, die Sie für Videokonferenzen mit mehreren Teilnehmern vornehmen können. Das sind die Vorteile:

  • Deutlich geringerer Ressourcenverbrauch: Jede Peer-Verbindung verfügt über eigene Ports, Sockets, ICE-Kandidaten, DTLS-Handshakes und SRTP-Kontexte. Bei Dutzenden von Teilnehmern führt dies zu einem erhöhten Verbrauch von CPU-Leistung, Arbeitsspeicher und Dateideskriptoren. SPC fasst all dies in einer einzigen Verbindung zusammen und gibt so Ressourcen für Ihre Anwendung frei.

  • Bessere, einheitliche Tarifkontrolle: Bei separaten Peer-Verbindungen wendet jede ihren eigenen Algorithmus zur Überlastungskontrolle an und konkurriert dabei mit den anderen um dieselbe Verbindungskapazität. SPC bietet dem Bandbreitenschätzer eine einheitliche Gesamtübersicht über das Netzwerk für alle Medienströme, was zu einer stabileren Bitratenanpassung und geringeren Qualitätsschwankungen führt.

  • Unterstützung für größere Sitzungen auf dem Handy: Mobile Geräte verfügen über begrenzte CPU-, Speicher- und Netzwerkressourcen, und insbesondere iOS schränkt die Anzahl der gleichzeitig bestehenden Peer-Verbindungen ein. Durch die Zusammenfassung aller Abonnentenströme in einer einzigen Peer-Verbindung ermöglicht SPC mobilen Clients, in einer einzigen Sitzung problemlos mehr Ströme zu verarbeiten.

  • Schnellere Einrichtung von Abonnements: Das Hinzufügen eines neuen Teilnehmers erfordert nun nicht mehr eine vollständige ICE/DTLS-Verhandlung von Grund auf. Die bestehende Verbindung wird wiederverwendet, sodass neue Streams schneller verfügbar sind. Dies macht sich insbesondere in Sitzungen bemerkbar, in denen Teilnehmer häufig beitreten und wieder verlassen.

  • Geringerer Batterieverbrauch: Weniger aktive Netzwerkverbindungen bedeuten weniger Keep-Alive-Pakete und weniger Funkaktivierung bei Mobilgeräten, was letztendlich zu einer längeren Akkulaufzeit für Ihre Endnutzer führt.

  • Geringere Netzkomplexität: Eine Verbindung bedeutet einen Satz von NAT-Zuordnungen, eine TURN-Zuweisung (falls erforderlich) und einen Pfad durch die Unternehmensfirewalls. Das vereinfacht die Bereitstellung in restriktiven Netzwerkumgebungen und reduziert Verbindungsausfälle.

  • Besser vorhersehbare Qualität in großem Maßstab: Da alle Medien einen gemeinsamen Übertragungsweg nutzen, wird die Bandbreite gerechter auf die Streams verteilt. Es gibt keine „konkurrierenden Verbindungen“, die sich gegenseitig ausbremsen, was zu einem flüssigeren und gleichmäßigeren Erlebnis für jeden Teilnehmer führt.

Anwendungsfälle

Applications benefit from the Single-Peer connection when the number of subscribed streams starts to increase. Here are the scenarios where this makes the biggest difference:

  • Große interaktive Sitzungen: In virtuellen Klassenzimmern, bei der Gruppenzusammenarbeit und bei Videogesprächen mit mehreren Teilnehmern kann es vorkommen, dass viele Teilnehmer gleichzeitig Inhalte veröffentlichen. Mit steigender Anzahl der Publisher öffnet jeder abonnierende Client mehr Peer-Verbindungen. SPC hält den Ressourcenverbrauch konstant, unabhängig davon, wie viele Streams ein Client abonniert. Beachten Sie, dass Ihre Anwendung weiterhin priorisieren sollte, welche Video- Widgets angezeigt werden sollen, und verwalten sollte, welche Streams abonniert werden, da es selten sinnvoll ist, alle Teilnehmer gleichzeitig auf dem Bildschirm darzustellen.

  • Mobile-first Applications: Wenn Ihre Nutzer Smartphones und Tablets verwenden, ist SPC sehr zu empfehlen. Weniger Verbindungen bedeuten eine geringere CPU-Auslastung, weniger Speicherbelastung und einen geringeren Akkuverbrauch.

  • Bandbreitenbeschränkte oder variable Netze: Bei überlasteten WLAN-, Mobilfunk- oder Satellitenverbindungen sorgt ein einziger Regelkreis zur Überlastungskontrolle für eine weitaus effizientere Zuweisung der Bandbreite als eine große Anzahl konkurrierender Verbindungen. Die Nutzer profitieren von flüssigeren Videos mit weniger Pufferung.

  • Firmennetzwerke und eingeschränkte Netzwerke: Firewalls, Proxys und NATs können ausfallen oder Verzögerungen verursachen, wenn sie viele gleichzeitige UDP-Datenströme verfolgen müssen. Die Reduzierung auf eine einzige Verbindung verringert das Risiko von Verbindungsproblemen bei strengen Netzwerkrichtlinien.

  • Schnelle Beitritts-/Austrittsszenarien: In Breakout-Räumen oder bei anderen Veranstaltungen, bei denen die Teilnehmer häufig zwischen Gruppen wechseln, entfällt dank SPC der Verhandlungsaufwand pro Stream, sodass die Übergänge nahezu sofort erfolgen.

  • Hybride Veranstaltungen mit Bildschirmfreigabe: Wenn Moderatoren neben den Kamerabildern auch ihren Bildschirm teilen, verdoppelt sich die Gesamtzahl der Streams pro Abonnent . SPC hält den Overhead konstant, unabhängig davon, wie viele gemischte Streams ein Client empfängt. Da die einheitliche Ratenkontrolle Übersicht über alle Streams auf derselben Verbindung hat, priorisiert sie intelligent Bildschirmfreigabe-Streams und weist mehr Bandbreite dort zu, wo Schärfe und Lesbarkeit am wichtigsten sind.

Anforderungen und Einschränkungen

  • SPC wird nur unterstützt in weitergeleitete Sitzungen (Sitzungen, die den Vonage Video Media Router nutzen). Für weitergeleitete Sitzungen steht diese Funktion nicht zur Verfügung, da sich in einer weitergeleiteten Sitzung jeder Client direkt mit jedem anderen Client im Peer-to-Peer-Verfahren verbindet. Es gibt keinen zentralen Media Router, über den die Streams multiplexiert werden könnten, sodass nichts konsolidiert werden muss.

  • SPC ist verfügbar ab Version 2.28.0 der nativen SDKs und Version 2.29.0 des Web-SDKs.

  • SPC ist standardmäßig deaktiviert. Sie müssen diese Funktion bei der Initialisierung der Sitzung auf der Client-Seite ausdrücklich aktivieren. Siehe Aktivieren einer einzelnen Peer-Verbindung.

  • SPC gilt für nur Teilnehmerverbindungen. Der Publisher nutzt weiterhin seine eigene Peer-Verbindung, um Medien an den Media Router zu senden.

Aktivieren einer einzelnen Peer-Verbindung

Um die Single-Peer-Verbindung zu aktivieren, konfigurieren Sie diese im Client SDK beim Erstellen oder Initialisieren der Sitzung. Einen kurzen Überblick über SPC im Zusammenhang mit der Sitzungserstellung finden Sie im Abschnitt "Einzel-Peer-Verbindung aus dem Leitfaden „Erstellen einer Sitzung“. In den folgenden Abschnitten wird erläutert, wie man diese Funktion in den einzelnen unterstützten SDKs aktiviert.

Web-SDK

Setzen Sie die singlePeerConnection Eigenschaft zu true im Options-Objekt, das Sie an OT.initSession():

var session = OT.initSession(apiKey, sessionId, {
  singlePeerConnection: true
});

Android-SDK

Verwenden Sie die Session.Builder.setSinglePeerConnection() Methode:

Session session = new Session.Builder(context, apiKey, sessionId)
    .setSinglePeerConnection(true)
    .build();

iOS-SDK

Setzen Sie die singlePeerConnection Eigentum an OTSessionSettings:

OTSessionSettings *settings = [[OTSessionSettings alloc] init];
settings.singlePeerConnection = YES;

OTSession *session = [[OTSession alloc] initWithApiKey:apiKey
                                             sessionId:sessionId
                                              delegate:self
                                              settings:settings];

Windows-SDK

Setzen Sie die SinglePeerConnection Eigenschaft auf der Session.Builder Klasse:

var session = new Session.Builder(Context.Instance, apiKey, sessionId)
{
    SinglePeerConnection = true
}.Build();

macOS-SDK

Verwenden Sie die otc_session_settings_set_single_peer_connection() Funktion:

otc_session_settings *settings = otc_session_settings_new();
otc_session_settings_set_single_peer_connection(settings, OTC_TRUE);

otc_session *session = otc_session_new_with_settings(apiKey, sessionId, &callbacks, settings);

Linux-SDK

Verwenden Sie die otc_session_settings_set_single_peer_connection() Funktion:

otc_session_settings *settings = otc_session_settings_new();
otc_session_settings_set_single_peer_connection(settings, OTC_TRUE);

otc_session *session = otc_session_new_with_settings(apiKey, sessionId, &callbacks, settings);

React Native SDK

Setzen Sie die enableSinglePeerConnection Eigenschaft zu true im options Stütze des OTSession Komponente:

<OTSession
  apiKey={apiKey}
  sessionId={sessionId}
  token={token}
  options={{ enableSinglePeerConnection: true }}
/>

Interaktion mit anderen Funktionen

Skalierbares Video

Die Einzel-Peer-Verbindung funktioniert parallel zu skalierbares Video. Wenn beide Funktionen aktiviert sind, liefert der Media Router weiterhin Multi-Quality-Layer an jeden Teilnehmer über die gemeinsame Peer-Verbindung. Jeder Teilnehmer kann je nach Änderung der Netzwerkbedingungen einen Layer mit unterschiedlicher Auflösung und Bildrate empfangen, genau wie dies bei separaten Peer-Verbindungen der Fall wäre.

Audio-Fallback

Audio-Fallback läuft weiterhin normal, auch wenn SPC aktiviert ist. Sollte sich die Netzwerkqualität eines Teilnehmers verschlechtern, kann der Media-Router trotzdem die Videokomponente ausblenden und für den betroffenen Stream nur noch Audio übertragen, unabhängig von den anderen Streams, die über dieselbe Peer-Verbindung übertragen werden.

Client-Beobachtbarkeit und senderseitige Statistiken

Wenn SPC aktiviert ist, wird die Statistik der Absender-Seite Die Bandbreitenschätzung wird auf alle Teilnehmer der einzelnen Peer- Verbindung verteilt. Die maximale Bitrate entspricht der höchsten Bitrate, die die Peer- Verbindung schätzen kann, während die aktuelle Bitrate die Bitrate jedes Audio-Video-Bündels widerspiegelt. Bei der Ermittlung der verfügbaren Bandbreite berechnen Sie die geschätzte Gesamtbandbreite, indem Sie die einzelnen Bündelschätzungen addieren.

Weitere Informationen finden Sie in der Leitfaden zur Beobachtung der Kunden.

Ende-zu-Ende-Verschlüsselung

Ende-zu-Ende-Verschlüsselung ist mit einer Single-Peer-Verbindung kompatibel. Die Medienströme werden einzeln verschlüsselt, bevor sie über die gemeinsame Peer-Verbindung multiplexiert werden.

Bewährte Praktiken

  • Aktivieren Sie SPC für Sitzungen mit vielen Publishing Clients: If in your application there are regular sessions with more than a few participants, enabling SPC can significantly reduce resource consumption and improve stability.

  • Test auf Zielgeräten: Zwar senkt SPC den Ressourcenverbrauch im Allgemeinen, Sie sollten die Funktion jedoch stets unter den konkreten Geräten und Netzwerkbedingungen testen, mit denen Ihre Benutzer konfrontiert sein werden.

  • Überwachen Sie die Bandbreite mit senderseitigen Statistiken: Da sich alle Abonnentenströme einen einzigen Transport teilen, sollten Sie die senderseitigen Statistiken nutzen, um die insgesamt verfügbare Bandbreite zu ermitteln und Ihre Anwendung entsprechend anzupassen.

Weitere Lektüre