Vonage Video API Node SDK

Das Node SDK bietet Methoden für:

Installation mit npm (empfohlen):

NPM hilft bei der Verwaltung von Abhängigkeiten für Node-Projekte. Mehr Informationen finden Sie hier: http://npmjs.org

Führen Sie diesen Befehl aus, um das Paket zu installieren und es zu Ihrem package.json:

Verwendung

Initialisierung

Importieren Sie das Modul, um eine Konstruktorfunktion für ein Videoobjekt zu erhalten, und rufen Sie sie dann mit new auf ein Videoobjekt mit Ihrer eigenen App-ID und Ihrem privaten Schlüssel zu erstellen.

Sitzungen erstellen

Um eine Sitzung zu erstellen, verwenden Sie die createSession(properties) Methode. Die Website properties ist ein optionales Objekt, mit dem angegeben werden kann, ob die Sitzung den Media Router verwendet wird, um einen Hinweis auf den Speicherort zu geben, und um anzugeben, ob die Sitzung automatisch archiviert wird oder . session zurückgegeben wird, ist eine Instanz von Session. Sitzungsobjekte haben eine sessionId Eigenschaft, die es die in einem dauerhaften Speicher (z. B. einer Datenbank) gespeichert werden sollen.

Token generieren

Sobald eine Sitzung erstellt ist, können Sie damit beginnen, Token zu erzeugen, die die Clients bei der Verbindung mit der Sitzung verwenden können. Sie können ein Token erzeugen, indem Sie die Funktion generateClientToken(sessionId) Methode.

Für die Layoutkontrolle in Archiven und Broadcasts kann die anfängliche Layoutklassenliste von Streams, die von Verbindungen, die dieses Token verwenden, ebenfalls festgelegt werden.

Arbeit mit Archiven

Sie können die Aufzeichnung einer Sitzung mit der Taste startArchive(sessionId, options) Methode. Die Website options ist ein optionales Objekt, das zum Festlegen des Namens des Archivs festzulegen. Der archive zurückgegeben wird, ist eine Instanz von Archive.

Beachten Sie, dass Sie ein Archiv nur in einer Sitzung mit verbundenen Clients starten können.

Sie können die Audio- oder Videoaufzeichnung auch deaktivieren, indem Sie die Option hasAudio oder hasVideo Eigenschaft der der options Parameter zu false:

Standardmäßig werden alle Streams in einer einzigen (zusammengesetzten) Datei aufgezeichnet. Sie können die verschiedenen Streams in der Sitzung in einzelnen Dateien (statt in einer einzigen zusammengesetzten Datei) aufzeichnen, indem Sie den Parameter outputMode Option zu 'individual' wenn Sie die startArchive() Methode:

Sie können die Aufzeichnung eines gestarteten Archivs mit der Taste stopArchive(archiveId) Methode. Die Website archive die im Rückruf zurückgegeben wird, ist eine Instanz von Archive.

Um eine Archive Instanz (und alle Informationen darüber) aus einer archiveIdverwenden Sie die getArchive(archiveId) Methode.

Sie können die Eigenschaften des Archivs überprüfen, um weitere Einzelheiten zu erfahren.

Um ein Archiv zu löschen, können Sie die Funktion deleteArchive(archiveId) Methode.

Sie können auch eine Liste aller Archive erhalten, die Sie mit Ihrer App-ID erstellt haben (bis zu 1000). Dies geschieht mit der Funktion searchArchives(filter) Methode. Der Parameter filter ist ein optionales Objekt, das zur Angabe einer sessionId, offset und count um Ihnen das Durchblättern der Ergebnisse zu erleichtern.

Die archives zurückgegeben wird, ist ein Array aus Archive Instanzen. Die totalCount die vom Rückruf zurückgegeben wird, ist die Gesamtzahl der Archive, die Ihre App-ID erzeugt hat.

Beachten Sie, dass Sie auch eine automatisch archivierte Sitzung erstellen können, indem Sie in 'always' als die archiveMode wenn Sie die Option createSession() Methode (siehe "Sitzungen erstellen". oben).

Für zusammengesetzte Archive können Sie das Layout dynamisch ändern, indem Sie die updateArchiveLayout(archiveId, layout) Methode:

Sie können die anfängliche Layoutklasse für die Streams eines Clients festlegen, indem Sie die layout Option, wenn Sie das Token für den Client erstellen, indem Sie die vonage.video.generateToken() Methode. Und Sie können die Layoutklassen für Streams in einer Sitzung ändern, indem Sie die Methode vonage.video.setStreamClassLists(sessionId, classListArray) Methode.

Die Festlegung des Layouts von zusammengestellten Archiven ist optional. Standardmäßig verwenden zusammengestellte Archive das "best fit" Layout (siehe Anpassen des Videolayouts für zusammengesetzte Archive).

Weitere Informationen zur Archivierung finden Sie in der Leitfaden für Archivierungsentwickler.

Arbeiten mit Live-Streaming-Übertragungen

Nur weitergeleitete Sitzungen Live-Streaming-Übertragungen unterstützen.

Zum Starten einer Live-Streaming-Übertragung einer Video-Session, rufen Sie die vonage.video.startBroadcast() Methode. Übergeben Sie drei Parameter: die Sitzungs-ID für die Sitzung, Optionen für die Übertragung und eine Callback-Funktion:

Siehe die API-Referenz für Details über die options Parameter.

Bei Erfolg wird ein Broadcast-Objekt als zweiter Parameter an die Callback-Funktion übergeben. Das Broadcast-Objekt hat Eigenschaften, die den Broadcast definieren, einschließlich einer broadcastUrls Eigenschaft, die URLs für die Broadcast-Streams enthält. Siehe die API-Referenz für Details.

Rufen Sie die vonage.video.stopBroadcast() Methode, um eine Live-Streaming-Übertragung zu stoppen, geben Sie die Broadcast-ID (die id Eigenschaft des Broadcast-Objekts) als ersten Parameter. Der zweite Parameter ist die Rückruffunktion:

Sie können auch die stop() Methode des Broadcast-Objekts, um einen Broadcast zu stoppen.

Rufen Sie die vonage.video.getBroadcast() Methode und geben Sie eine Broadcast-ID ein, um ein Broadcast-Objekt zu erhalten.

Sie können auch eine Liste aller Sendungen abrufen, die Sie mit Ihrem API-Schlüssel erstellt haben (bis zu 1000). Dies geschieht erfolgt über die vonage.video.searchBroadcasts(options) Methode. Der Parameter options ist ein optionales Objekt, das zur Angabe einer offset, countund sessionId um Ihnen das Paginieren durch die Ergebnisse zu erleichtern. Der Callback hat eine Signatur function(err, broadcasts, totalCount). Die broadcasts zurückgegeben von der Rückruf ist ein Array von Broadcast Instanzen. Die totalCount die vom Callback zurückgegeben wird, ist die Gesamtzahl der Sendungen, die Ihre App-ID erzeugt hat.

Um das Broadcast-Layout zu ändern, rufen Sie die Funktion vonage.video.updateArchiveLayout() Methode, Übergabe der Broadcast-ID und des Layout Typ.

Sie können die anfängliche Layoutklasse für die Streams eines Clients festlegen, indem Sie die layout Option, wenn Sie das Token für den Client erstellen, indem Sie die vonage.video.generateToken() Methode. Und Sie können die Layoutklassen für Streams in einer Sitzung ändern, indem Sie die vonage.video.setStreamClassLists(sessionId, classListArray) Methode.

Die Einstellung des Layouts einer Live-Streaming-Übertragung ist optional. Standardmäßig wird bei Live-Streaming-Übertragungen das Layout "best fit". -->

Senden von Signalen

Sie können ein Signal an alle Teilnehmer einer Sitzung senden, indem Sie die Funktion sendSignal(payload, sessionId, connectionId) Methode und Einstellung die connectionId Parameter zu null:

Oder senden Sie ein Signal an einen bestimmten Teilnehmer der Sitzung, indem Sie die Funktion sendSignal(payload, sessionId, connectionId) Methode und Einstellung aller Parameter, einschließlich connectionId:

Dies ist das serverseitige Äquivalent zum sendSignal() Methode in den Client-SDKs. Siehe Leitfaden für Signalisierungsentwickler .

Trennen von Teilnehmern

Sie können Teilnehmer von einer Sitzung trennen, indem Sie die disconnectClient(sessionId, connectionId) Methode.

Erzwingen, dass Clients in einer Sitzung das veröffentlichte Audio stummschalten

Sie können den Herausgeber eines bestimmten Streams zwingen, die Veröffentlichung von Audio zu beenden, indem Sie die muteStream(sessionId, streamId)Methode.

Sie können den Herausgeber aller Streams in einer Sitzung (mit Ausnahme einer optionalen Liste von Streams) zwingen die Veröffentlichung von Audio zu beenden, indem Sie die forceMuteAll() Methode. Sie können dann den Stummschaltungsstatus der Sitzung deaktivieren, indem Sie die Methode disableForceMute() Methode.

Stream-Informationen abrufen

Sie können Informationen über einen aktiven Stream in einer Sitzung abrufen:

Übergeben Sie eine Sitzungs-ID und eine Stream-ID an die getStreamInfo() Methode. Nach erfolgreichem Abschluss wird die stream Objekt, das die Eigenschaften des Streams enthält.

Anforderungen

Sie benötigen eine Vonage App ID und einen privaten Schlüssel, die Sie erhalten, indem Sie sich bei Ihrem Vonage Video API-Konto.

Das Node SDK erfordert Node.js 6 oder höher. Es kann mit älteren Versionen funktionieren, aber sie werden nicht mehr getestet.

Anmerkungen zur Veröffentlichung

Siehe die Veröffentlichungen Seite auf GitHub für Details zu jeder Version.