Video API-Grundlagen

Erfahren Sie, was die Vonage Video API ist und wie sie funktioniert.

Dieses Thema umfasst die folgenden Abschnitte:

Suchst du nach Code? Ein Verständnis der Funktionsweise der Vonage Video API-Plattform ist für die Entwicklung von Vonage Video API-Applications äußerst hilfreich. Wenn Sie sich jedoch lieber direkt mit dem Code beschäftigen und mit der Entwicklung beginnen möchten, bevor Sie sich mit den KernConcepts vertraut machen, schauen Sie sich unsere Anleitungen.

Die Vonage Video API-Plattform

Die Vonage Video API-Plattform ermöglicht die einfache Einbindung von interaktiven Echtzeit-Videos in hoher Qualität, Messaging, Bildschirmfreigabe und vielem mehr in Web- und Mobil-Apps. Die Plattform umfasst Client-Bibliotheken für Web, iOS, Android, Windows, macOS, Linux und React sowie serverseitige SDKs und eine REST-API. Die Vonage Video API nutzt WebRTC für die Audio-Video-Kommunikation.

Alle Anwendungen, die mit der Vonage Video API-Plattform erstellt wurden, erfordern zwei Hauptkomponenten:

  • Der Kunde — clientseitiger Code, der in einem Browser oder einer mobilen App ausgeführt wird und vom Entwickler mithilfe der clientseitigen Bibliotheken der Vonage Video API eingerichtet wird, die für Web, iOS, Android, Windows, macOS, Linuxund React Native. Der Großteil der Funktionen der Vonage Video API wird auf der Client-Seite abgewickelt.
  • Der Server — serverseitiger Code, der auf einem Webserver ausgeführt wird, der vom Entwickler mithilfe der Vonage Video API-Server-SDKs eingerichtet wurde, die für Knotenpunkt, PHP, Java, .NET, Pythonund Rubinrot.

Funktionen von Client und Server

Auftraggeber:

Anwendungsserver:

Sitzung:

  • „Chatroom“ in der Vonage Video API Cloud
  • Verbindet Kunden miteinander
  • Sendet Ereignisse an Clients

Sitzungen

Jeder Video-Chat über die Vonage Video API findet innerhalb einer Sitzung. Man kann sich eine Sitzung als einen „Raum“ vorstellen, in dem Kunden in Echtzeit miteinander interagieren können. Die Sitzungen werden auf der Vonage Video API Cloud und Benutzer verwalten Verbindungen, Audio-Video Ströme, und Benutzer Veranstaltungen (z. B. wenn sich ein neuer Benutzer anmeldet). Jede Sitzung ist mit einer eindeutigen Sitzungs-ID. Damit mehrere Clients miteinander chatten können, müssen Sie sie einfach mit derselben Sitzung verbinden (unter Verwendung derselben Sitzungs-ID).

Die Anwendungsserver (das den serverseitigen Code ausführt) ist für die Erstellung neuer Sitzungen und die Generierung eindeutiger Authentifizierungsdaten zuständig Token für jeden neuen Client. Der Client nutzt dieses Token dann, um eine Verbindung zur Sitzung herzustellen. Clients, die mit einer Sitzung verbunden sind, können veröffentlichen. in die Sitzung streamt und abonnieren zu den Streams anderer Clients. Weitere Informationen dazu, wie sich Clients mit einer Sitzung verbinden, finden Sie im nächsten Abschnitt.

Debugging-Sitzungen mit dem Inspector

Wenn Sie Informationen zu einer bestimmten Sitzung anzeigen möchten, können Sie Folgendes verwenden: Inspektor. Dieses Tool liefert eine vollständige Aufschlüsselung der Sitzung, einschließlich Nutzer, Qualität, Ereignisse, Fehler und mehr. Dies ist nützlich für die Fehlersuche und um ein besseres Verständnis dafür zu gewinnen, was in den Sitzungen Ihrer App vor sich geht.

Verbinden, Veröffentlichen und Abonnieren

Dieser Abschnitt bietet eine visuelle Übersicht über die Schritte, die erforderlich sind, damit zwei Clients eine Video-Chat-Sitzung starten können.

Schritt 1: Die Sitzung wird von Ihrem App-Server erstellt

Ihr Anwendungsserver, unter Verwendung von Code aus einem Vonage Video API Server-SDK, erstellt eine Sitzung in der Cloud über die Vonage Video REST API und erhält die Sitzungs-ID. Stellen Sie sich die Sitzung als einen „Raum“ vor, in dem der Video-Chat stattfinden wird. Zu diesem Zeitpunkt ist er noch unbesetzt.

Schritt 2: Ein Client lädt die App und der Server erstellt ein Token

Wenn ein Benutzer Ihre clientseitige Anwendung lädt, die mit einem Vonage Video API Client SDK, erhält der Client (eine Webseite oder eine mobile App) Sitzungsinformationen vom Server. Dazu gehört eine eindeutige Authentifizierung Token (der „Schlüssel“ des Kunden), der von Ihrem App-Server erstellt wurde.

Schritt 3: Der Client stellt eine Verbindung her und beginnt mit dem Streaming in die Sitzung

Der Client verwendet die Sitzungs-ID und das Token, um eine Verbindung mit der Sitzung. Der Client kann dann veröffentlichen. ein Audio-Video-Gerät Strom an der Sitzung teil und achten Sie auf wichtige Veranstaltungen (z. B. wenn ein neuer Benutzer der Sitzung beitritt). Zu diesem Zeitpunkt ist der Client der einzige Teilnehmer der Sitzung.

Schritt 4: Ein neuer Client stellt eine Verbindung zur Sitzung her

Wenn ein neuer Benutzer die clientseitige Anwendung auf einer separaten Webseite oder auf einem mobilen Gerät (Client 2) lädt, erhält der neue Client die Sitzungs-ID und ein eindeutiges Token von Ihrem App-Server. Der Client nutzt diese Informationen, um eine Verbindung zur Sitzung herzustellen.

Schritt 5: Die Clients abonnieren gegenseitig ihre Streams

Nachdem die Verbindung zur Sitzung hergestellt ist, kann Client 2 den Stream von Client 1 abonnieren. Anschließend veröffentlicht Client 2 seinen eigenen Videostream in der Sitzung, und Client 1 abonniert diesen. Beide Clients haben nun in einem Eins-zu-Eins-Videochat den Stream des jeweils anderen abonniert und „warten“ auf neue Ereignisse (z. B. wenn sich ein neuer Benutzer mit der Sitzung verbindet).

Die Vonage Video API unterstützt sowohl Einzelgespräche als auch Gruppenkommunikation. Mehrere Clients können sich mit einer Sitzung verbinden, und jeder verbundene Client kann jeden Stream in der Sitzung abonnieren. Zusätzlich zu den oben genannten Grundfunktionen bietet die Vonage Video API-Plattform eine Vielzahl weiterer Funktionen, wie zum Beispiel Bildschirmfreigabe, Archivierung, Text-Chat, Rundfunk, und vieles mehr. Eine Übersicht über den gesamten Funktionsumfang finden Sie unter Entwicklerhandbücher.

Entwicklung einer Vonage Video API-Anwendung

Nachdem Sie die oben genannten Unterlagen durchgesehen haben, sollten Sie ein grundlegendes Verständnis davon haben, wie die Vonage Video API funktioniert. Wenn Sie bereit sind, mit der Entwicklung Ihrer ersten Application zu beginnen, sehen Sie sich das Tutorial „Basic Client“ für Web, iOS, Android, Windows oder Linux an:

Grundlegende Client-Anleitungen anzeigen

Im Folgenden finden Sie außerdem eine Liste mit wichtigen Begriffen und Definitionen sowie eine Auflistung weiterer Ressourcen im Entwicklerzentrum.

Schlüsselbegriffe

Sitzung

Man kann sich eine Sitzung als einen „Raum“ vorstellen, in dem Kunden können in Echtzeit miteinander interagieren – verbunden mit einer eindeutigen Sitzungs-ID. Neue Sitzungen werden von Ihrem Anwendungsserver über die Server-SDKs. Clients können die Sitzungs-ID und eine eindeutige Authentifizierung abrufen Token vom Server an Die Sitzung initialisieren und eine Verbindung herstellen, woraufhin sie veröffentlichen. Ströme und abonnieren auf Streams in der Sitzung sowie auf Veranstaltungen die von der Sitzung ausgelöst werden (z. B. wenn sich ein neuer Benutzer anmeldet).

Besuchen Sie unser Entwicklerhandbücher um zu lernen, wie man eine Sitzung erstellen mit den Server-SDKs, An einer Sitzung teilnehmen mit dem Client-SDKs, und entdecken Sie weitere Funktionen rund um Sitzungen. Informationen zu bestimmten Klassen, Methoden und Ereignissen im Zusammenhang mit Sitzungen finden Sie in unserer API-Referenz unter Web, iOS, Android, Windowsund Linux.


Token

Ein Token ist ein eindeutiger Authentifizierungs-„Schlüssel“, der es ermöglicht, Kunde um einer Sitzung. Wenn ein Client versucht, einer Sitzung beizutreten, wird Ihr Anwendungsserver erzeugt ein eindeutiges Token und sendet es zusammen mit der Sitzungs-ID an den Client. Token haben ein Ablaufdatum (das vom Server festgelegt wird), während Sitzungen niemals ablaufen. Token können zudem Rollen zugewiesen werden — Herausgeber, Teilnehmeroder Moderator, die die Berechtigungen des Clients festlegen, beispielsweise das Veröffentlichen Ströme und das Abonnieren von Streams in der Sitzung.

Besuchen Sie unser Entwicklerhandbücher um zu lernen, wie man Ein Token erstellen mit dem Server-SDKs und An einer Sitzung teilnehmen mit dem Client-SDKs. Wenn Sie eine Demo oder einen Proof of Concept erstellen, können Sie in Ihrer Vonage Video API Tokens generieren Account Indem Sie ein Projekt erstellen, zur Projektübersicht navigieren und nach unten zu den Projektwerkzeugen scrollen; allerdings muss vor der Inbetriebnahme eine Serverkomponente eingerichtet werden.


Kunde

Ein Client ist jeder Browser oder jede mobile App, die clientseitigen Code aus der Vonage Video API nutzt. Client-SDKs. Der Client ist eine von zwei Schlüsselkomponenten, aus denen sich eine Vonage Video API-Application zusammensetzt (die andere ist die Server) und ist für den Großteil der Funktionen der Vonage Video API verantwortlich, wie zum Beispiel Verbindung mit einer Sitzung, Veröffentlichung und Abonnieren Sie zu Ströme, auf die Sitzung warten Veranstaltungen, sowie das Auslösen von Ereignissen an die Sitzung.

Bevor der Client mit einer Sitzung interagieren kann, muss er die Sitzungs-ID erhalten und Token die von Ihrem App-Server generiert werden. Schauen Sie sich unsere Einführung in den Client um zu erfahren, wie man clientseitige Funktionen implementiert, sowie unsere Entwicklerhandbücher für weitere Informationen.


Server

Der App-Server, der vom App-Entwickler mithilfe der Vonage Video API-Server-SDKs, erzeugt neue Sitzungen und Token, die es anschließend an die Kunde. Alle Vonage Video API-Applications erfordern sowohl eine Client- als auch eine Serverkomponente. Schauen Sie sich unsere Entwicklerhandbücher um zu lernen, wie man eine Sitzung erstellen und Ein Token erstellen mit den Server-SDKs sowie weiteren Funktionen, die vom Server abgewickelt werden.


Verbindung

A Kunde steht in Wechselwirkung mit dem Sitzung über eine dauerhafte Ereignis- (oder Signal-)Verbindung, die mithilfe von WebSockets ständig auf neue Ereignisse wartet Veranstaltungen von der Sitzung initiiert. Diese Verbindung unterscheidet sich von den WebRTC-Medienverbindungen, die hergestellt werden, wenn Clients veröffentlichen. und abonnieren zu Ströme in der Sitzung.

Um eine Verbindung zu einer Sitzung herzustellen, muss der Client eine Sitzungs-ID erhalten und Token von Ihrem Anwendungsserver, die anschließend zur Authentifizierung verwendet werden. In der Regel baut jeder Client eine einzige Verbindung zu einer bestimmten Sitzung auf, und jede Client-Verbindung zu dieser Sitzung ist mit einer eindeutigen Verbindungs-ID verknüpft. Schauen Sie sich unsere Entwicklerhandbücher um zu lernen, wie man mit einer Sitzung verbinden mit dem Client-SDKs.


Stream

Ein Stream ist ein einzelnes Audio-Video-Signal, das die vom Nutzer veröffentlichten Kamera- und Mikrofon-Signale umfasst. Während eines Sitzung, Kunden veröffentlichen. in die Sitzung streamt und abonnieren in die Streams anderer Clients. Wenn ein neuer Stream erstellt wird, wird ein Veranstaltung wird sowohl von der Publisher-Objekt und Session-Objekt.


veröffentlichen.

Einst war ein Kunde ist verbunden zu einer Sitzung, kann es Audio- und Videodaten übertragen Strom an der Sitzung über die Webcam und das Mikrofon des Geräts teilnehmen. Der Kunde Token Rolle (Verlag, Teilnehmer, Moderator) legt fest, ob dieser Client Beiträge in der Sitzung veröffentlichen darf. Dies ermöglicht Sitzungen mit nur einem oder zwei Verfassern, aber vielen Abonnenten (Eins-zu-Viele). Schauen Sie sich unsere Entwicklerhandbücher um zu lernen, wie man einen Stream veröffentlichen zu einer Sitzung mit dem Client-SDKs.


Abonnieren

Einst war ein Kunde ist verbunden zu einer Sitzung, kann es jeden Audio-Video-Kanal abonnieren Ströme veröffentlicht von anderen Teilnehmern der Sitzung. Schauen Sie sich unsere Entwicklerhandbücher um zu lernen, wie man Streams abonnieren in einer Sitzung mit dem Client-SDKs.


Veranstaltungen

Einst war ein Kunde legt eine … fest Verbindung zu einer Sitzung, kann es auf Ereignisse reagieren, die von der Sitzung ausgelöst werden. Ereignisse werden aus verschiedenen Gründen ausgelöst, beispielsweise wenn ein neuer Stream erstellt wird oder wenn ein neuer Client eine Verbindung zur Sitzung herstellt oder diese trennt. Wenn Sie möchten, dass ein Client auf ein bestimmtes Ereignis reagiert, müssen Sie einen Ereignis-Listener einrichten. Informationen zu den verschiedenen Ereignissen, die während einer Sitzung auftreten können, und zu deren Behandlung finden Sie unter Client SDK Referenzdokumente zu Web (JavaScript), iOS, Android, Windowsund Linux.


Client SDK

Die Client-SDKs sind eine Reihe von Code-Bibliotheken, die für Web (JavaScript), iOS, Android, Windowsund Linux, das zum Einrichten des Kunde. Der clientseitige Code übernimmt den Großteil der Funktionen der Vonage Video API, darunter Veröffentlichung und Abonnieren Sie zu Ströme in der Sitzung und auf die Sitzung warten Veranstaltungen.


Server-SDK

Die Server-SDKs sind eine Reihe von Wrappern für die Vonage Video REST API verfügbar für Knotenpunkt, PHP, Java, .NET, Pythonund Rubinrot. Dieser Code ist auf Ihrem Anwendungsserver und dient dazu, neue zu generieren Sitzungen und Token für die Kunde.


Vonage Video REST API

Die Vonage Video REST-API ist eine HTTP-Schnittstelle mit der Vonage Video API Cloud zur Erstellung verwendet Sitzungen und fortgeschrittene Funktionen wie beispielsweise Archivierung und Ausstrahlung. Die Vonage Video API Server-SDKs Viele der Methoden der REST-API implementieren. Sehen Sie sich die REST-API-Referenzdokumente um die verschiedenen verfügbaren Methoden kennenzulernen.


Vonage Video API Cloud — verwaltet Sitzungen, Kunde Verbindungen, API-Aufrufe, Signalisierung, Veranstaltungen, und so ziemlich alles andere, was nicht von der Client-SDKs oder Server-SDKs.

Ressourcen im Entwicklerzentrum

Der Artikel, den Sie gerade lesen, ist zusammen mit der gesamten übrigen Dokumentation zur Vonage Video API Teil der Vonage Video API-Entwicklerzentrum. Das Developer Center soll Entwicklern alles bereitstellen, was sie benötigen, um eine Vonage Video API-Application erfolgreich zu entwickeln und zu warten.

Hier sind einige der im Developer Center verfügbaren Ressourcen:

Hallo Welt — eine kurze Demonstration der grundlegendsten Funktionen der Vonage Video API

Anleitungen — Schritt-für-Schritt-Anleitungen zum Erstellen einer Vonage Video API-Application und zum Hinzufügen erweiterter Funktionen

Code-Muster — eine Liste von GitHub-Repos mit Beispiel-Apps, die Ihnen helfen, schneller zu entwickeln

Einbettungen von Video-Chats — der schnellste Weg, die Funktionen der Vonage Video API mit minimalem Programmieraufwand in Ihre Website zu integrieren

Leitfäden für Entwickler — Ausführliche Dokumentation zu allen Funktionen und Merkmalen der Vonage Video API

Client SDK-Referenz für Web, iOS, Android, Windows, Linux — Informationen zu bestimmten Klassen, Methoden und Ereignissen, die von den Client-SDKs verwendet werden

REST-API-Referenzdokumente — Ein Leitfaden zur Verwendung der Vonage Video API und der Server-SDKs

Entwickler-Tools — nützliche Tools zum Debuggen von Sitzungen, zum Testen von API-Aufrufen und vieles mehr

Beta-Programme — eine Seite mit einer Übersicht über alle öffentlichen Beta-Versionen der Vonage Video API und Informationen zur Teilnahme daran

Hilfe holen

Wenn Sie eine Frage haben oder auf Probleme stoßen und im Developer Center keine Antwort finden, können Sie Besuchen Sie unser Support-Center um unser Support-Team zu kontaktieren oder die häufig gestellten Fragen durchzusehen.