Herausgeber Maximale Bitrate

Dieses Thema enthält Informationen zur Einstellung der maximalen Video-Bitrate mithilfe des Vonage Video-Webclient-SDK. Bitte beachten Sie, dass die API in den aktuellen Versionen aller unterstützten Browser verfügbar ist. Sollten Fehler auftreten, stellen Sie bitte sicher, dass der Client eine aktuelle Browserversion verwendet.

Einen Überblick über die Publisher-API für die maximale Bitrate finden Sie unter dieses Thema.

Ein Voreinstellung festlegen und abrufen

Das Publisher-Objekt umfasst setVideoBitratePreset() und getVideoBitratePreset() Methoden. Die Website setVideoBitratePreset() Methode akzeptiert String-Werte - 'DEFAULT', 'BW_SAVER', oder 'EXTRA_BW_SAVER' (oder ihre Gegenstücke in Kleinbuchstaben) - und die getVideoBitratePreset() Methode gibt diese Werte (oder 'CUSTOM') zurück. Siehe Video-Bitrate-Voreinstellungen für weitere Einzelheiten zu diesen Voreinstellungen.

Bitte beachten Sie die getVideoBitratePreset() Methode gibt zurück undefined wenn zuvor keine Voreinstellung oder Bitrate festgelegt wurde.

Die setVideoBitratePreset() Methode hat einen Parameter: presetdie gewünschte Voreinstellung.

Beispiel:

console.log(publisher.getVideoBitratePreset());  // undefined

await publisher.setVideoBitratePreset('BW_SAVER');  // or 'DEFAULT' or 'EXTRA_BW_SAVER'

console.log(publisher.getVideoBitratePreset());  // 'BW_SAVER'

Die setVideoBitratePreset() Methode kann einen Fehler auslösen, wenn die name des Fehlerobjekts auf den folgenden Wert gesetzt:

  • OT_INVALID_PARAMETER - Ungültige Voreinstellung. Es muss 'DEFAULT', 'BW_SAVER' oder 'EXTRA_BW_SAVER' sein.

  • OT_UNEXPECTED_ERROR_CODE - Es ist ein unerwarteter Fehler aufgetreten, und die Voreinstellung wurde nicht aktualisiert.

Umfassen Sie den Aufruf der setVideoBitratePreset() Methode in einem try/catch-Block, auch wenn der voreingestellte Name korrekt ist:

const invalidPreset = 'VERY_FAST';

try {
    await publisher.setVideoBitratePreset(invalidPreset);
} catch (err) {
    console.error(err.name);
    // 'OT_INVALID_PARAMETER'
}

Festlegen und Abrufen eines Rohwerts für die Bitrate

Wenn die vordefinierten Voreinstellungen nicht geeignet sind, können Sie manuell einen benutzerdefinierten Rohbitratenwert festlegen.

Um die maximale Videobitrate zu erhalten, die derzeit für einen Publisher eingestellt ist, rufen Sie die getMaxVideoBitrate() Methode eines Publisher-Objekts. Sie gibt die aktuell eingestellte maximale Bitrate (in Bits pro Sekunde) zurück. Wenn kein benutzerdefinierter Wert eingestellt ist, gibt die Funktion undefined.

Beispiel:

console.log(publisher.getMaxVideoBitrate());

Um einen benutzerdefinierten Wert für die maximale Bitrate (anstelle einer Voreinstellung) festzulegen, verwenden Sie die setMaxVideoBitrate() eines Publisher-Objekts zu verwenden. Diese Funktion hat einen einzigen Parameter: bitrateBpsdie gewünschte maximale Bitrate (in Bits pro Sekunde), zwischen 5.000 und 10.000.000.

Beispiel:

const new_bitrate = 300000; // 300 kbps
await publisher.setMaxVideoBitrate(new_bitrate);

Die setMaxVideoBitrate() Methode kann einen Fehler auslösen, wenn die name des Fehlerobjekts auf den folgenden Wert gesetzt:

  • OT_INVALID_PARAMETER - Ungültige Bitrate. Der Wert muss 0 oder eine Zahl zwischen 5000 und 10000000 sein.
  • OT_UNEXPECTED_ERROR_CODE - Es ist ein unerwarteter Fehler aufgetreten und die Bitrate wurde nicht aktualisiert.

Umfassen Sie den Aufruf der setVideoBitratePreset() Methode in einem try/catch-Block, auch wenn die übergebene Zahl gültig ist.

Siehe Einstellung von Rohbitratenwerten für weitere Einzelheiten.

Sonderfälle

Wenn Sie den Wert für die maximale Bitrate auf 0 setzen, werden alle zuvor festgelegten Bitratenbeschränkungen aufgehoben und das Standardverhalten wird wiederhergestellt.

const zero_bitrate = 0;  // no limitations
const int new_bitrate = 300000; // 300 kbps
publisher.setMaxVideoBitrate(new_bitrate);
// publisher.getMaxVideoBitrate() === 300000

publisher.setMaxVideoBitrate(zero_bitrate);
// publisher.getMaxVideoBitrate() === 0

Aufrufen der getVideoBitratePreset() Methode nach dem Einstellen einer anderen benutzerdefinierten Bitrate als 0 zurück CUSTOM.

const zero_bitrate = 0;  // no limitations
const new_bitrate = 1000000; // 1 mbps
publisher.setMaxVideoBitrate(new_bitrate);
// publisher.getVideoBitratePreset() === 'CUSTOM'

publisher.setMaxVideoBitrate(zero_bitrate);
// publisher.getVideoBitratePreset() === 'DEFAULT'

Der Getter für die Rohbitrate gibt 0 zurück, wenn der Herausgeber eine Voreinstellung verwendet.

let bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 0

publisher.setVideoBitratePreset('bw_saver);
bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 0

publisher.setVideoBitratePreset('extra_bw_saver');
bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 0

publisher.setMaxVideoBitrate(200000);
bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 200000

publisher.setVideoBitratePreset('default');
bitrateBps = publisher.getMaxVideoBitrate();
// bitrateBps === 0