Sitzungen

Um eine Verbindung zu einer Sitzung herzustellen, müssen Sie die Sitzung, zu der Sie eine Verbindung herstellen möchten, mit ihrer Sitzungs-ID angeben.

Jede Sitzungs-ID identifiziert eine eindeutige Sitzung. Sie können sich eine Sitzung als einen Raum vorstellen, in dem sich die Teilnehmer treffen und unterhalten.

Die Anzahl der Sitzungen, die Sie erstellen, und die Art und Weise, wie sich Clients mit ihnen verbinden, hängen von den Anforderungen Ihrer Anwendung ab.

Wenn Ihre App Benutzer für ein einmaliges Treffen miteinander verbindet, erstellen Sie eine eindeutige Sitzung für dieses Treffen.

Wenn Ihre App die Nutzer jedoch über mehrere Tage hinweg im selben "Raum" verbindet, können Sie eine Sitzung erstellen und diese wiederverwenden. Wenn sich eine Gruppe von Nutzern gemeinsam trifft, während andere Gruppen unabhängig voneinander tagen, erstellen Sie für jede Gruppe eine eigene Sitzung.

Sitzungen laufen nicht ab. Authentifizierungstokens laufen jedoch ab. Beachten Sie auch, dass Sitzungen nicht explizit zerstört werden können.

Wenn Sie eine Sitzung erstellen, können Sie die folgenden Optionen angeben, die in den folgenden Abschnitten beschrieben werden:

  • Der Medienmodus (ob der Medienrouter verwendet werden soll oder nicht).
  • Die Präferenz für die Archivierung (ob der Lauf automatisch archiviert werden soll).
  • Ein Ortshinweis (zur Angabe des geografischen Standorts der Sitzung).

Der Media Router und die Medienmodi

Wenn Sie eine Sitzung erstellen, legen Sie fest, wie die Clients in der Sitzung Audio- und Videoströme senden sollen, was als Medienmodus bezeichnet wird. Es gibt zwei Optionen:

  • Weitergereicht - In einer weitergeleiteten Sitzung versuchen die Clients, Audio- und Videoströme direkt untereinander zu senden (Peer-to-Peer). Wenn die Clients jedoch aufgrund von Firewall-Beschränkungen keine Verbindung herstellen können, verwendet die Sitzung den TURN-Server zur Weiterleitung von Audio-Video-Streams. (Vor Version 2.2 bezeichneten die Server-SDKs diese Sitzungen als Peer-to-Peer-Sitzungen. Aber auch bei Verwendung dieser SDKs verwenden die Sitzungen den TURN-Server zur Weiterleitung von Streams, wenn Firewall-Beschränkungen Peer-to-Peer-Streaming blockieren). TLS 1.3 und ein starkes Zertifikat von mindestens 3072 Bit werden für die Sitzungsaushandlung verwendet.

  • Geroutet - Die Sitzung verwendet den Media Router, um Audio- und Videoströme zwischen den Clients weiterzuleiten. Der Media Router bietet die folgenden Vorteile:

    • TLS 1.3 und ein starkes Zertifikat von mindestens 3072 Bit werden für die gesamte Signalisierung verwendet.

    • Der Medien-Router kann die Bandbreitennutzung in Mehrteilnehmer-Sitzungen verringern. (Wenn die Eigenschaft "Medienmodus" auf "Relayed" eingestellt ist, muss jeder Client, der einen Stream veröffentlicht, diesen separat an jeden Client, der ihn abonniert, senden. Mit dem Media Router sendet ein Verleger einen Stream einmal an den Router und dieser leitet ihn an jeden abonnierenden Client weiter).

    • Der Media Router kann die Qualität der Benutzererfahrung durch Audio-Fallback und Video-Wiederherstellung verbessern. Wenn sich die Konnektivität eines Clients so weit verschlechtert, dass er das Video für einen abonnierten Stream nicht mehr unterstützt, wird das Video auf diesem Client unterbrochen (ohne Auswirkungen auf andere Clients), und der Client erhält nur noch Audio. Wenn sich die Konnektivität des Clients verbessert, wird das Video wieder angezeigt.

    • Der Media Router unterstützt die Archivierungsfunktion, mit der Sie Sitzungen aufzeichnen, speichern und wieder abrufen können.

    • In Sitzungen, die den Media Router verwenden, wird durch die Verringerung der Bildrate für ein veröffentlichtes Video die Bandbreite, die der Stream benötigt, proportional reduziert.

    • Der Media Router unterstützt die Funktion für skalierbares Video. Skalierbares Video kann die Qualität von Videos in Sitzungen mit mehreren Teilnehmern erheblich verbessern.

    • Bei Clients, die die iOS- und Android-SDKs verwenden, unterstützen weitergeleitete Sitzungen nur zwei Clients, die mit der Sitzung verbunden sind. Der Media Router unterstützt zusätzliche Clients für Mehrteilnehmer-Sitzungen auf mobilen Geräten.

    • Der Media Router unterstützt die SIP-Interconnect-Funktion, mit der Sie Sitzungen mit SIP-Gateways verbinden können.

Adaptive Medienlenkung: Beginnend mit OpenTok.js v2.24.7werden geroutete Sitzungen für die Verwendung optimiert adaptives Medien-Routingwenn möglich. Das adaptive Medien-Routing bestimmt, ob Medien ohne den Medien-Router für Einzel-Video-Streaming weitergegeben werden können (und der Medien-Router nicht im Medienpfad verwendet wird), um die Medienleistung zwischen zwei Teilnehmern zu optimieren. Die geroutete Sitzung passt das Media Routing automatisch an, um den Media Router bei Bedarf zu verwenden - für Sitzungen mit drei oder mehr Teilnehmern, Archivierung, Live-Streaming-Übertragungen, SIP-Interconnect, Experience Composer und Audio Connector. Mit der Einführung des adaptiven Media Routing gibt es auch eine scalableVideo Option in der OT.initPublisher() Methode, um die Standardeinstellung außer Kraft zu setzen und skalierbares Video für den Herausgeber in einer gerouteten Sitzung zu deaktivieren.

  • Einzelne Peer-Verbindung. Ab Version 2.28.0 der Client-SDKs für iOS, Android, Windows, macOS und Linux werden geroutete Sitzungen unterstützt einzelne Peer-Verbindung. Wenn die Einzel-Peer-Verbindung aktiviert ist, werden alle Abonnentenströme für einen Client mit einer einzigen Verbindung zum Medien-Router geliefert (auch wenn sie von verschiedenen Clients veröffentlicht werden). Zu den Vorteilen der Aktivierung der Einzel-Peer-Verbindung gehören ein geringerer Ressourcenverbrauch des Clients, eine verbesserte Ratenkontrolle und - im Falle von mobilen nativen Geräten - die Unterstützung größerer Sitzungen. Wenn die Einzel-Peer-Verbindung deaktiviert ist (Standardeinstellung), verwendet der Client für jedes Audio-/Videobündel eine eigene Verbindung zum Media Router.

    Die Einzel-Peer-Verbindung ist nur in gerouteten Sitzungen verfügbar (Sitzungen, die den Vonage Video API Media Router verwenden). Um die Einzel-Peer-Verbindung zu aktivieren, verwenden Sie die folgenden Client SDK APIs:

    • Web SDK - Siehe die singlePeerConnection Eigenschaft der Optionen, die Sie in OT.initSession()
    • Android SDK - Session.Builder.setSinglePeerConnection()
    • iOS SDK - OTSessionSettings.singlePeerConnection
    • Linux SDK - otc_session_settings_set_single_peer_connection()
    • macOS SDK - otc_session_settings_set_single_peer_connection()
    • Windows SDK - SinglePeerConnection Eigenschaft der Session.Builder Klasse
    • React Native SDK - Das enableSinglePeerConnection Eigenschaft der options prop der Komponente OTSession

Archiv-Modus

Wenn Sie einen Lauf erstellen, können Sie den Archivierungsmodus so einstellen, dass der Lauf automatisch archiviert wird.

Dies gilt nur für geroutete Sitzungen (Sitzungen, die den Media Router verwenden).

Standardmäßig werden die Sitzungen nicht automatisch archiviert.

Hinweise zum Standort

Wenn Sie eine Sitzung erstellen, können Sie die IP-Adresse festlegen, die die Vonage Videoplattform verwenden wird, um die Sitzung in ihrem globalen Netzwerk zu lokalisieren.

Wenn beim Erstellen der Sitzung kein Standort-Hinweis festgelegt wird (was empfohlen wird), verwendet die Sitzung einen Medienserver, der auf dem Standort des ersten Clients basiert, der eine Verbindung zur Sitzung herstellt.

Setzen Sie den Standort-Hinweis nur dann, wenn Sie die allgemeine geografische Region (und eine repräsentative IP-Adresse) kennen und Sie glauben, dass der erste Client, der eine Verbindung herstellt, nicht in dieser Region ist.

Geben Sie eine IP-Adresse an, die für den geografischen Standort der Sitzung repräsentativ ist.

Bewährte Praktiken bei der Erstellung von Sitzungen

Wiederverwendung der Session-ID

Verwenden Sie nach Möglichkeit keine Sitzungs-IDs zwischen verschiedenen Video-Chat-Gesprächen.

Erstellen Sie stattdessen neue Sitzungs-IDs für jeden einzelnen Video-Chat in Ihrer Anwendung.

Dies ist wichtig, insbesondere bei der Verwendung der Sitzungsinspektor.

In Inspector werden die Bewertungen der Sitzungsqualität und die Daten durch die Sitzungs-ID indiziert.

Eine Sitzungs-ID, die für mehrere Gespräche wiederverwendet wird, ist mit Inspector schwieriger zu debuggen, und Sitzungen mit wiederverwendeten Sitzungs-IDs neigen dazu, niedrigere Gesamtqualitätswerte zu melden als die tatsächlich erlebte Anrufqualität.

Aktivieren Sie die Sitzungsmigration oder begrenzen Sie Sitzungen auf 8 Stunden

Die moderne automatische Skalierung der Cloud macht es erforderlich, eine Mindestrotationszeit für die Dienste festzulegen. Alle Sitzungen, die länger als 8 Stunden dauern, können getrennt werden, da sie sich in Diensten befinden, die aus- oder einskaliert werden.

Die Vonage Video API Client SDKs ab Version 2.30.0 enthalten eine Sitzungsmigrationsfunktion, die alle Teilnehmer einer Sitzung während der Serverrotation nahtlos auf einen neuen Server überträgt. Diese Funktion gewährleistet die Kontinuität der Sitzung bei minimaler Unterbrechung für die Teilnehmer. Siehe Serverrotation und Sitzungsmigration.

Hinweis für Clients, die Versionen der Client-SDKs verwenden, die kleiner als 2.30.0 sind: Wir empfehlen, dass Sie bei Sitzungen, die länger als 8 Stunden dauern sollen, die verbundenen Benutzer zu einer neuen Sitzung migrieren, bevor es zu einer Zeitüberschreitung/Wiederverbindung kommt. Dadurch wird die beste Benutzererfahrung gewährleistet.

Clients werden auch von einer Sitzung getrennt, wenn sie innerhalb von 4 Stunden nach der Verbindung keine Streams veröffentlichen oder abonnieren.

Sie können verwenden Sitzungsüberwachung um Benachrichtigungen zu erhalten, wenn Sitzungen beendet werden oder die Zeit abgelaufen ist und wenn eine Gruppe von Video API-Servern für eine Sitzung gewechselt werden soll.

Weitere Informationen finden Sie unter Server-Rotation.

Auswahl des Sitzungstyps Relayed vs. Routed

Verwenden Sie eine weitergeleitete anstelle einer gerouteten Sitzung, wenn Sie nur zwei (oder vielleicht sogar drei) Teilnehmer haben und keine Archivierung verwenden.

Durch die Verwendung von Relayed Sessions werden die Latenzzeiten zwischen den Teilnehmern verringert, die Fehlerquellen reduziert und in den meisten Fällen eine bessere Video- und Audioqualität erzielt.

Routed Läufe sind erforderlich, wenn Sie Ihren Lauf archivieren möchten.

Sie werden empfohlen, wenn Sie mehr als zwei oder drei Teilnehmer an der Sitzung haben.

Weitere Informationen finden Sie unter Der Media Router und die Medienmodi.

Sitzungen erstellen

Wenn Sie an einer Testversion Ihrer Anwendung arbeiten, können Sie eine Test-Session-ID von der BAUEN & VERWALTEN > Applications Seite Ihres Vonage Account.

Ihre Anmeldedaten finden Sie auch auf dem Dashboard, bitte folgen Sie unserem erste Schritte Leitfaden, um mehr zu erfahren.

Für Ihre eigene Implementierung sehen Sie sich bitte die Server-seitige SDKs.

Wenn Sie mehrere Sitzungs-IDs dynamisch erzeugen müssen, verwenden Sie die Server-seitige SDKs nicht die Projektseite.

Verwenden Sie die Sitzungs-ID mit einer Client SDK um eine Verbindung zu einer Videositzung herzustellen.

Außerdem müssen Sie einen Token erzeugen für jeden Benutzer, der sich mit der Sitzung verbindet.

Die Medien-Router bietet die folgenden Vorteile:

  • Der Media Router kann die Bandbreitennutzung in Mehrparteiensitzungen verringern. (Wenn die Eigenschaft mediaMode auf RELAISEDmuss jeder Client einen separaten Audio-Video-Stream an jeden Client senden, der ihn abonniert).
  • Der Media Router kann die Qualität der Nutzererfahrung verbessern durch Audio-Fallback und Video-Wiederherstellung. Wenn sich die Verbindung eines Clients so weit verschlechtert, dass er kein Video für einen abonnierten Stream unterstützt, wird das Video für diesen Client unterbrochen (ohne Auswirkungen auf andere Clients), und der Client erhält nur noch Audio. Wenn sich die Konnektivität des Clients verbessert, wird der Videostream wiederhergestellt.
  • Der Media Router unterstützt die Archivierungsfunktionmit dem Sie Sitzungen aufzeichnen, speichern und wieder abrufen können.

Erstellen einer weitergeleiteten Sitzung

Bei einer weitergeleiteten Sitzung versuchen die Clients, Streams direkt untereinander zu senden.

Wenn jedoch Clients aufgrund von Firewall-Beschränkungen keine Verbindung herstellen können, verwendet die Sitzung den TURN-Server zur Weiterleitung von Audio- und Videoströmen.

Das ist wichtig: Einige Funktionen, wie z. B. die Archivierung, sind nur in gerouteten (nicht weitergeleiteten) Sitzungen verfügbar.

Folgen Sie unserem Schritt für Schritt Tutorials, um zu lernen, wie man weitergeleitete Sitzungen erstellt

Erstellen einer automatisch aufgezeichneten Sitzung

Sie können einen Lauf erstellen, der automatisch archiviert wird.

Hinweis: Für archivierte Sitzungen muss der Modus "geroutete Medien" verwendet werden.

Weitere Informationen finden Sie in der Archivierung Leitfaden.

Verwendung von Sitzungen in Client-Applikationen

Verwenden Sie die Sitzungs-ID in der Client SDK um eine Verbindung zu einer Sitzung herzustellen.

Außerdem müssen Sie einen Token erzeugen für jeden Benutzer, der sich mit der Sitzung verbindet.