https://d226lax1qjow5r.cloudfront.net/blog/blogposts/opentok-version-2-18-whats-new-and-how-you-can-use-it/Blog_SDK-Updates_1200x600-1.png

Vonage Video API Version 2.18: Was ist neu und wie können Sie es verwenden?

Zuletzt aktualisiert am May 11, 2021

Lesedauer: 2 Minuten

Das Vonage Video API Team hat kürzlich eine neue Version des Vonage Video Client SDK - v2.18 (ehemals TokBox OpenTok) - veröffentlicht. Dieser Beitrag gibt einen Überblick über die neuen Funktionen und wie Sie diese nutzen können. Ich werde die Einführung unseres neuesten Linux-SDK, die IP-Proxy-Funktion, Aktualisierungen der WebRTC-Statistiken, Verbesserungen der Sicherheit und vieles mehr behandeln!

Linux-SDK

Ich freue mich, Ihnen mitteilen zu können, dass wir die volle Unterstützung für das Vonage Video Linux SDK für X86_64 unter Debian 10 hinzugefügt haben. Dieses neue SDK verfügt über eine C API mit den gleichen Primitiven wie unsere anderen Video Client SDKs.

Das Linux-SDK ermöglicht viele neue Anwendungsfälle, von nativen Desktop-Applikationen bis hin zu IP-Kamera-basiertem Streaming. Obwohl wir zu diesem Zeitpunkt keine Unterstützung für andere Referenzarchitekturen und Linux-Varianten anbieten, werden wir die nicht unterstützten SDK-Builds im Vonage Video-Entwicklerzentrum.

Sie finden die Beispiele auf unserem GitHub und die vollständige API-Dokumentation im Developer Center.

IP-Proxy

Um Anwendungsfälle zu unterstützen, in denen Endbenutzer nur bestimmte IPs und Domains zu ihrer Erlaubnisliste hinzufügen können, veröffentlichen wir die IP Proxy API, die es Applikationen ermöglicht, den gesamten Vonage Video HTTPS- und WS-Verkehr über ihren Reverse Proxy Server zu leiten.

Um sie zu Ihrer Anwendung hinzuzufügen, sehen Sie sich den Beispielcode unten an:

JavaScript

OT.setProxyUrl('https://mycustomproxy.com');

Swift

let settings = OTSessionSettings()
  settings.proxyUrl = "https://mycustomproxy.com"
  let session = OTSession(apiKey: apiKey, sessionId: sessionId, delegate: self, settings: settings)

Java

Session session = new Session.Builder(context, apiKey, sessionId).setProxyUrl("https://mycustomproxy.com").build();

C#

csharp var session = new Session(context, apiKey, sessionId, proxyUrl: "https://mycustomproxy.com")

C

otc_session_settings* otc_settings = otc_session_settings_new();
otc_session_settings_set_proxy_url(otc_settings, "https://mycustomproxy.com");
otc_session* session = otc_session_new_ex(apiKey, sessionId, &sessionCb, otc_settings);

Im obigen Beispiel kodieren wir hart die proxyUrlhart kodiert, aber in Produktionsfällen empfehlen wir, die proxyUrl von Ihrem Anwendungsserver abzurufen, wenn Sie die Anmeldeinformationen für die Verbindung der Sitzung abrufen. Dieser Ansatz ermöglicht es Ihnen, die proxyUrl zur Laufzeit nach Bedarf ändern.

Sie finden die ausführliche Dokumentation und Anleitungen finden Sie im Vonage Video Developer Center. Bitte beachten Sie, dass diese Funktion nur als Add-on verfügbar ist.

getRtcStatsReport

Da wir immer mehr Anwendungsfälle mit unserer Video API und WebRTC sehen, wollen wir unsere Entwickler mit vollständigen WebRTC-Statistiken ausstatten, um eine unabhängige Analyse der Medienverbindungsqualität zu ermöglichen.

Ich freue mich, Ihnen mitteilen zu können, dass Sie mit dem Vonage Video JS SDK 2.18.0 jetzt die rohen, nicht umgewandelten WebRTC-Statistiken sammeln können, während der Browser sie überträgt. Diese Statistiken ermöglichen es Ihnen, Metriken zu entdecken, wie zum Beispiel, wie lange es dauert, einen Frame zu kodieren, so dass Sie es verwenden können, um die Auswirkungen auf die CPU zu bewerten.

// Get the raw stats from the publisher in a relayed session.
async function collectStats() {
  try {
    const pubStats = await publisher.getRtcStatsReport();

    // Print publisher raw stats on the console.
    pubStats.forEach(({ subscriberId, connectionId, rtcStatsReport }) => {
      console.log(`Raw stats for subscriber ${subscriberId} with connectionId ${connectionId}`);
      rtcStatsReport.forEach(console.log);
    });
  } catch(err) {
    console.log(err);
  }
}

// Get the raw stats from the publisher in a routed session.
async function collectStats() {
  try {
    const pubStats = await publisher.getRtcStatsReport();

    // Print publisher raw stats on the console.
    pubStats.forEach(({ rtcStatsReport }) => {
      rtcStatsReport.forEach(console.log);
    });
  } catch(err) {
    console.log(err);
  }
}

// Get the raw stats from the subscriber.
async function collectStats() {
  try {
    const subStats = await subscriber.getRtcStatsReport();

    // Print subscriber raw stats on the console.
    subStats.forEach(console.log);
  } catch (error) {
    console.log(err);
  }
}

Android SDK Kamera-Aufnahme- und Auslöse-APIs

In der letzten Version v2.17.0 haben wir unser Android-SDK um einige Verbesserungen erweitert, um es stabiler zu machen als die vorherigen Versionen. Mit diesen Verbesserungen erhielten wir einige Anfragen von unseren Entwicklern, neue APIs hinzuzufügen, mit denen sie die Kamera direkt auslösen und wieder einfangen können.

Um dem SDK mehr Kontrolle zu geben, haben wir eine API hinzugefügt, die genau das mit den Methoden onStop und onRestart ermöglicht.

class PublisherKit {
    // ...

    /**
     * This method will release any resource tied to the publisher.
     * It will stop capturing and then it will release the camera.
     * Please note that after calling this method if you plan to reuse the publisher again
     * you need to call onRestart
     */
    public void onStop() {
    }

    public void onRestart() {
    }
}

Skalierbares Video HD Layer für Windows SDK

Skalierbares Video wurde erstmals mit dem Vonage Video Windows SDK 2.14 veröffentlicht, das die Videoqualität in Sitzungen mit mehreren Teilnehmern verbessert.

Heute veröffentlichen wir Verbesserungen an unserem Windows SDK, um HD-Auflösung intelligent zu streamen, wenn Scalable Video (wo verfügbar) verwendet wird.

Sicherheit für unsere SDKs

Wir beheben die WebRTC-Schwachstelle in SCTP mit Sicherheitspatches für iOS-, Android- und Windows-SDKs.

Wir verbessern dies weiter, indem wir mit 2.18.0 weitere zusätzliche Schutzebenen hinzufügen. Zusätzlich zu den Client-Versionen haben wir auch unsere Server aktualisiert, um alle Datenkanäle zu blockieren, bevor die WebRTC-Schwachstelle bekannt wurde.

Erste Schritte mit den neuen Funktionen

Die Version 2.18.0 ist bereits verfügbar für Vonage Video API Kunden, die mit der Standardumgebung arbeiten, bereits verfügbar und wir planen, sie Anfang Oktober für die Unternehmensumgebung freizugeben.

Um mehr zu erfahren und auf Entwickler-Tutorials zuzugreifen, besuchen Sie bitte Vonage Video-Entwicklerzentrum.

Teilen Sie:

https://a.storyblok.com/f/270183/384x384/63f654d765/manik.png
Manik SachdevaVonage Ehemalige

Manik ist ein leitender Software-Ingenieur. Er arbeitet gerne mit Entwicklern zusammen und entwirft APIs. Wenn er nicht gerade APIs oder SDKs entwickelt, kann man ihn bei Konferenzen und Meetups als Redner antreffen.