https://d226lax1qjow5r.cloudfront.net/blog/blogposts/video-express-is-here-and-why-it-is-awesome/video-express_1200x600.png

Video Express ist da und warum es großartig ist!

Zuletzt aktualisiert am September 23, 2021

Lesedauer: 2 Minuten

Ausdrückliche Erläuterung

Vonage verfügt über ein Jahrzehnt Erfahrung in der Videoentwicklung und hat eine einfache High-Level-API namens Video Express entwickelt, um die Entwicklung und Integration von Mehrparteien-Videos in Web-Applikationen zu beschleunigen.

Mehrparteiensystem?

Lassen Sie uns zunächst definieren, was Mehrparteiengespräche sind. Dies ist der Fall, wenn ein Videoanruf mehrere Teilnehmer hat, die sowohl ihre Audio- als auch ihre Videostreams veröffentlichen und gleichzeitig die Streams der anderen Teilnehmer abonnieren.

Früher war es üblich, dass sich Teams in einem Raum aufhielten und sich dann per Video mit einem Team in einem anderen Raum austauschten.

Graphic depicting 2 groups of people passing information back and forth via 2 streams2 teams 2 streams

Wie Sie vielleicht in letzter Zeit selbst erlebt haben, verlagern sich die Dinge hin zu Personen, die von verschiedenen Orten aus anrufen.

Graphic depicting 6 individuals passing information back and forth via 36 streams6 people 36 streams

Wie Sie aus dem obigen Bild ersehen können, kann es schnell zu einer komplexen Herausforderung werden, mit all den Verbindungen der Teilnehmer Schritt zu halten.

Dies ist der Ort Video Express ins Spiel. Vielleicht sind Sie neu in der Entwicklung von Applications, die Video integrieren, oder ein erfahrener Entwickler, der sich auf andere Dinge konzentrieren möchte. Video Express hilft Ihnen, die Komplexität zu beseitigen und optimiert die Qualität, die CPU-Auslastung und das Layout! Das ist der Grund, warum es großartig ist!

Hier wird Video Express in einem Vanilla-JavaScript-Projekt das Sie sich ansehen können. Es gibt eine Schaltfläche für die schnelle Bereitstellung, so dass Sie einfach Ihren API-Schlüssel und Ihr Geheimnis in die .env-Datei eingeben können und schon haben Sie Ihr eigenes funktionierendes Beispiel. Dies ist eine einfache Implementierung, um Video Express vorzustellen.

Beseitigung der Komplexität

Im folgenden Vergleich sehen Sie den Startcode, der für einen Video-Chat benötigt wird.

Vonage Video API JavaScript Client SDK

const session = OT.initSession(this.apiKey, this.roomId); // Init session
session.on('sessionConnected', ...); // Handle session connected events
session.on('sessionDisconnected', ...); // Handle session end
session.on('streamCreated', ...); // Subscribe to newly published streams
session.on('streamDestroyed', ...); // Clean up on stream end
session.on('connectionCreated', ...); // Handle connection events (join)
session.on('connectionDestroyed', ...); // Handle disconnect events (leave)

// Build your own UI / Layout
// Active Speaker Detection
// Video / Audio Optimizations
const pub = OT.initPublisher(targetElement, options, (err) => console.error(err)); // Create a publisher
session.publish(pub, undefined, err => { // Try to publish media
 if (err) {
   reject(err);
 } else {
   resolve();
 }
});

Vonage Video Express

const room = new VideoExpress.Room({ apiKey, sessionId, token, roomContainer: 'roomContainer’ });

room.join();

Video Express kümmert sich um die Veröffentlichung und das Abonnieren aller Teilnehmer des Videoanrufs. Geben Sie einfach die ID des HTML-Elements (in diesem Beispiel "roomContainer") an, in das der "Room" eingefügt werden soll, fügen Sie ihn ein und das war's. Lesen Sie unsere Dokumentation um mehr darüber zu erfahren, was Sie tun können.

Qualitätsmanager

Graphic showing the larger video feed on the left with a higher resolution and more bitrate and a column of other smaller video feeds to the right with smaller resolution and bitrates.Quality Manager diagram

Um die bestmögliche Qualität des Videoanrufs zu erreichen, wendet Video Express automatisch verschiedene Methoden an. Dazu gehört die Maximierung der Kachelgrößen für sichtbare Videostreams und die Unterbrechung derjenigen, die nicht sichtbar sind. Außerdem werden Auflösung und Bildrate je nach Netzwerkbedingungen und CPU-Auslastung angepasst. Durch die dynamische Einstellung höherer Prioritäten für Lautsprecher und Bildschirmfreigaben können die Dinge, die im Mittelpunkt stehen müssen, die beste Qualität erreichen.

Erfahrung Manager

Um eine optimale Benutzererfahrung zu gewährleisten, optimiert Video Express die Client-Seite. Zum Beispiel wird jeder Teilnehmer nach 10 automatisch stummgeschaltet, um sehr laute Räume zu vermeiden. Wenn ein angezeigtes Video kleiner wird, wird ein kleinerer Stream angefordert, um die für eine reibungslose Wiedergabe erforderliche Bandbreite zu verringern.

Beispiel für eine unbearbeitete, nicht optimierte Video-Sitzung

Table showing the amount of bandwidth used for audio and video for 1 to 1, 10 videos, and 25 videos in unoptimized sessionsTable with data of an unoptimized multiparty video session

Beispiel für eine optimierte Video-Sitzung

Table showing the amount of bandwidth used for audio and video for 1 to 1, 10 videos, and 25 videos in optimized sessions with as much as 80% lower bandwidth. Table with data of an optimized multiparty video session

Layout-Manager

Demonstrating the layout changes of colored blocks representing video feeds as they are being added and removed to the screen.Layout Manager diagram

Video Express passt das Layout der Streams automatisch an die Bildschirmgröße und die Anzahl der Teilnehmer an. Bildschirmfreigaben und der aktive Sprecher erhalten eine höhere Priorität oder nehmen mehr Platz ein.

Vorschau Herausgeber

Eine weitere Funktion, die Video Express für Sie übernimmt, ist die Möglichkeit, dem Benutzer eine Vorschau seines Videos und Audios zu geben, bevor er dem Raum beitritt. Hier ist ein Beispielcode:

const previewPublisher = new VideoExpress.PreviewPublisher('previewContainer');
await previewPublisher.previewMedia({
  targetElement: 'previewContainer',
  publisherProperties: {
    resolution: '1280x720',
    audioBitrate: 15,
  },
});

Screenshare

Die letzte Funktion von Video Express, auf die ich hinweisen möchte, ist die Handhabung der Bildschirmfreigabe.

const startScreensharing = () => {
  room.startScreensharing("myScreenshare");
}

const stopScreensharing = () => {
  room.stopScreensharing();
}

screenshareStartBtn.addEventListener("click", startScreensharing, false);

screenshareStopBtn.addEventListener("click", stopScreensharing, false);

Das war's! Mit diesen wenigen Codezeilen können Sie Ihren Bildschirm freigeben, und Video Express konfiguriert das Layout des Raums neu, um ihm Priorität einzuräumen.

Na ja...

Bereit, etwas Erstaunliches zu bauen?!

Werfen Sie einen Blick in die Video Express-Dokumentation für weitere Details.

Spielen Sie mit dem Basis-Starterprojekt.

Zeigen Sie uns, woran Sie arbeiten und geben Sie uns Feedback in unserem Gemeinschafts-Slack-Kanal.

Teilen Sie:

https://a.storyblok.com/f/270183/384x384/1a06993970/dwanehemmings.png
Dwane HemmingsFürsprecher für JavaScript-Entwickler