Erbt von: : Object

Definiert in: : lib/opentok/opentok.rb

Übersicht

Enthält Methoden zum Erstellen von OpenTok-Sitzungen und zum Generieren von Tokens. Außerdem umfasst es Methoden zum Zurückgeben von Objekten, mit denen Sie mit Archiven arbeiten, Live-Streams verwalten, die SIP-Anbindung nutzen, Signale an Sitzungen senden, Clients von Sitzungen trennen und die Layout-Klassen für Streams festlegen können.

Um ein neues OpenTok-Objekt zu erstellen, rufen Sie den OpenTok-Konstruktor mit Ihrem OpenTok-API-Schlüssel und dem API-Geheimnis für Ihre OpenTok-Projekt. Geben Sie Ihren API-Schlüssel nicht öffentlich weiter. Sie verwenden ihn mit dem OpenTok-Konstruktor (ausschließlich auf Ihrem Webserver), um OpenTok-Sitzungen zu erstellen.

Zusammenfassung der Instanzmethoden

Angaben zum Hersteller

#initialisieren(api_key, api_secret, opts = {}) ⇒ OpenTok

Erstellen Sie ein neues OpenTok-Objekt.

Parameter:

  • api_key (Zeichenkette) —

    Der OpenTok-API-Schlüssel für Ihre OpenTok-Projekt.

  • api_secret (Zeichenkette) —

    Ihr OpenTok-API-Schlüssel.

  • opts (Hash) (Standardwert: {})

    eine individuell anpassbare Auswahl an Optionen

Options-Hash (opts):

  • :api_url (Symbol)

    -

    Setzen Sie diesen Parameter nicht. Er ist für den internen Gebrauch bei Vonage vorgesehen.

  • :ua_addendum (Symbol)

    -

    Setzen Sie diesen Parameter nicht. Er ist für den internen Gebrauch bei Vonage vorgesehen.

  • :timeout_length (Symbol)

    -

    Benutzerdefinierte Zeitüberschreitung in Sekunden. Wird kein Wert angegeben, beträgt der Standardwert 2 Sekunden.

Details zur Instanzmethode

#Archiv ⇒ Objekt

Ein „Archives“-Objekt, mit dem Sie mit OpenTok-Archiven arbeiten können.

#Sendungen ⇒ Objekt

Ein „Broadcasts“-Objekt, mit dem Sie Live-Streaming-Übertragungen von OpenTok verwalten können.

#Bildunterschriften ⇒ Objekt

Ein „Captions“-Objekt, mit dem Sie die Live-Untertitel für eine OpenTok-Sitzung starten und stoppen können.

#Verbindungen ⇒ Objekt

Ein „Connections“-Objekt, mit dem Sie Clients von einer OpenTok-Sitzung trennen können.

#create_session(opts = {}) ⇒ Sitzung

Erstellt eine neue OpenTok-Sitzung und gibt die Sitzungs-ID zurück, die die Sitzung eindeutig identifiziert.

Wenn Sie beispielsweise die OpenTok-JavaScript-Bibliothek verwenden, geben Sie beim Aufruf der Methode OT.initSession() (zur Initialisierung einer OpenTok-Sitzung) die Sitzungs-ID an.

OpenTok-Sitzungen laufen nicht ab. Authentifizierungstoken verfallen jedoch (siehe die Methode `generateToken()`). Beachten Sie außerdem, dass Sitzungen nicht explizit beendet werden können.

Eine Sitzungs-ID-Zeichenkette kann bis zu 255 Zeichen lang sein.

Der Aufruf dieser Methode führt im Fehlerfall zu einer OpenTokException. Einzelheiten entnehmen Sie bitte der Fehlermeldung.

Sie können eine Sitzung auch über die OpenTok-REST-API erstellen (siehe </developer/rest/#session_id_production>) oder auf Ihrer OpenTok-Account-Seite.

Parameter:

  • opts (Hash) (Standardwert: {})

    (Optional) Dieser Hash definiert Optionen für die Sitzung.

Options-Hash (opts):

  • :media_mode (Symbol)

    -

    Legt fest, ob die Sitzung Streams über den OpenTok Media Router überträgt (:routed) oder nicht (:relayed). Standardmäßig ist diese Eigenschaft auf :relayed.

    Mit dem media_mode Eigenschaft eingestellt auf :relayed, versucht die Sitzung, Streams direkt zwischen den Clients zu übertragen. Wenn Clients aufgrund von Firewall-Einschränkungen keine Verbindung herstellen können, nutzt die Sitzung den OpenTok-TURN-Server, um Audio- und Videostreams weiterzuleiten.

    Mit dem media_mode Eigenschaft eingestellt auf :routed, die Sitzung verwendet die OpenTok Media Router. Der OpenTok Media Router bietet folgende Vorteile:

    • Der OpenTok Media Router kann den Bandbreitenverbrauch bei Mehrparteien-Sitzungen senken. (Wenn der media_mode Eigenschaft wird auf :relayedmuss jeder Client einen separaten Audio-Video-Stream an jeden Client senden, der ihn abonniert).
    • Der OpenTok Media Router kann die Qualität des Nutzererlebnisses verbessern durch Audio-Fallback und Video-Wiederherstellung. Dank dieser Funktionen wird das Video auf einem Client unterbrochen (ohne dass andere Clients davon betroffen sind), wenn sich die Verbindung des Clients so weit verschlechtert, dass sie die Wiedergabe eines abonnierten Videostreams nicht mehr unterstützt; der Client empfängt dann nur noch Audio. Sobald sich die Verbindung des Clients wieder verbessert, wird das Video wieder angezeigt.
    • Der OpenTok Media Router unterstützt die Archivierung Funktion, mit der Sie OpenTok-Sitzungen aufzeichnen, speichern und abrufen können.
  • :location (Zeichenkette)

    -

    Eine IP-Adresse, anhand derer die OpenTok-Server die Sitzung in ihrem globalen Netzwerk verorten. Wenn Sie keinen Standorthinweis festlegen, stützen sich die OpenTok-Server auf den ersten Client, der eine Verbindung zur Sitzung herstellt.

  • :archive_mode (Symbol)

    -

    Legt fest, ob die Sitzung automatisch archiviert wird (:always) oder nicht (:manual). Bei Verwendung der automatischen Archivierung muss die Sitzung die :routed Medienmodus.

  • :archive_name (Symbol)

    -

    Der Name, der für Archive in automatisch archivierten Sitzungen verwendet werden soll. Bei der Einstellung dieser Option muss die Option :archive_mode auf :always gesetzt sein, da es sonst zu einem Fehler kommt. Der Archivname darf maximal 80 Zeichen lang sein. Aufgrund von Kodierungsbeschränkungen werden die folgenden Sonderzeichen in einen Doppelpunkt (:) umgewandelt: ~, -, _. Wenn Sie keinen Namen festlegen und die Option „archiveMode“ auf „always“ gesetzt ist, bleibt der Archivname leer.

  • :archive_resolution (Symbol)

    -

    Die Auflösung der Archive in einer automatisch archivierten Sitzung. Gültige Werte sind „480x640“, „640x480“ (Standard), „720x1280“, „1280x720“, „1080x1920“ und „1920x1080“. Bei der Einstellung dieser Option muss die Option :archive_mode auf :always gesetzt sein, andernfalls tritt ein Fehler auf.

  • :e2ee (wahr, falsch)

    — Standard: Boolescher Wert, optional —

    — Gibt an, ob für die Sitzung eine End-to-End-Verschlüsselung von Client zu Client verwendet wird (Standard: „false“). Diese Option sollte nicht auf „true“ gesetzt werden.if:media_modeis:relayed`. Siehe die / Dokumentation für weitere Informationen.

Rückgabe:

  • (Sitzung) —

    Das Session-Objekt. Die Eigenschaft „session_id“ des Objekts ist die Sitzungs-ID.

Erhöht:

  • (ArgumentError)

#generate_token(session_id, options) ⇒ String

Erzeugt ein Token für eine bestimmte Sitzung.

Parameter:

  • session_id (Zeichenkette) —

    Die Sitzungs-ID der Sitzung, auf die der Client mithilfe des Tokens zugreifen soll.

  • Optionen (Hash) —

    Ein Hash, der die Optionen für das Token definiert.

Options-Hash (options):

  • :Rolle (Symbol)

    -

    Die Rolle für das Token. Setzen Sie diesen Wert auf einen der folgenden Werte:

    • :subscriber – Ein Abonnent kann nur Streams abonnieren.
    • :publisher – Ein Publisher kann Streams veröffentlichen, Streams abonnieren und Signale senden. (Dies ist der Standardwert, wenn Sie keine Rolle angeben.)
    • :moderator – Zusätzlich zu den einem Publisher gewährten Berechtigungen kann ein Moderator Moderationsaufgaben wahrnehmen, beispielsweise Clients zwingen, die Verbindung zu trennen, die Veröffentlichung von Streams zu beenden oder den Ton in veröffentlichten Streams stummzuschalten. Siehe die / Leitfaden für Moderatoren.
  • :expire_time (Ganzzahl)

    -

    Die Ablaufzeit in Sekunden seit der UNIX-Epoche. Geben Sie den Wert 0 an, um die Standard-Ablaufzeit von 24 Stunden nach der Erstellung des Tokens zu verwenden. Die maximale Ablaufzeit beträgt 30 Tage nach der Erstellung.

  • :data (Zeichenkette)

    -

    Eine Zeichenkette mit Verbindungsmetadaten, die den Endbenutzer beschreiben. Sie können beispielsweise die Benutzer-ID, den Namen oder andere Daten übermitteln, die den Endbenutzer beschreiben. Die Länge der Zeichenkette ist auf 1000 Zeichen begrenzt. Diese Daten können nach ihrer Festlegung nicht mehr aktualisiert werden.

  • :initial_layout_class_list (Array)

    -

    Ein Array mit Klassennamen (Zeichenketten), die als anfängliche Layout-Klassen für die vom Client veröffentlichten Streams verwendet werden sollen. Layout-Klassen dienen zur Anpassung des Layouts von Videos in / Live-Streaming-Übertragungen und zusammengestellte Archive.

  • :token_type (Zeichenkette)

    -

    Der zu generierende Token-Typ. Muss entweder „T1“ oder „JWT“ lauten. „JWT“ ist die Standardeinstellung.

Rückgabe:

  • (Zeichenkette) —

    Die Token-Zeichenkette.

#Renderings ⇒ Objekt

Ein „Renders“-Objekt, mit dem Sie mit den Renderings des OpenTok Experience Composer arbeiten können.

#Signale ⇒ Objekt

Ein „Signals“-Objekt, mit dem Sie Signale an OpenTok-Sitzungen senden können.

#Schluck ⇒ Objekt

Ein SIP-Objekt, mit dem Sie das OpenTok-SIP-Gateway nutzen können.

#Ströme ⇒ Objekt

Ein „Streams“-Objekt, mit dem Sie Live-Streaming-Übertragungen von OpenTok verwalten können.

#WebSocket ⇒ Objekt

Ein WebSocket-Objekt, mit dem Sie OpenTok-Streams mit einer WebSocket-URI verbinden können.