Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

VideoEncoder: configure() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist in Dedicated Web Workers verfügbar.

Die configure()-Methode der VideoEncoder-Schnittstelle ändert den Zustand des Encoders zu "configured" und bereitet den Encoder asynchron darauf vor, VideoEncoders für die Kodierung mit den angegebenen Parametern zu akzeptieren. Wenn der Encoder die angegebenen Parameter nicht unterstützt oder aus anderen Gründen nicht initialisiert werden kann, wird ein Fehler über den Fehler-Rückruf gemeldet, der dem VideoEncoder-Konstruktor übergeben wurde.

Wenn der VideoEncoder zuvor konfiguriert wurde, wird die neue Konfiguration erst angewendet, nachdem alle vorherigen Aufgaben abgeschlossen sind.

Syntax

js
configure(config)

Parameter

config

Ein Wörterbuchobjekt, das die folgenden Mitglieder enthält:

codec

Ein String, der einen gültigen Codec-String enthält. Siehe "codecs"-Parameter für Details zur Konstruktion von Codec-Strings.

width Optional

Ein Integer, der die Breite jedes Ausgabe-EncodedVideoChunk in Pixeln vor Anpassungen des Seitenverhältnisses darstellt.

height Optional

Ein Integer, der die Höhe jedes Ausgabe-EncodedVideoChunk in Pixeln vor Anpassungen des Seitenverhältnisses darstellt.

displayWidth Optional

Ein Integer, der die beabsichtigte Anzeigebreite jedes Ausgabe-EncodedVideoChunk in Pixeln darstellt.

displayHeight Optional

Ein Integer, der die vertikale Dimension jedes Ausgabe-EncodedVideoChunk in Pixeln darstellt, wenn es angezeigt wird.

hardwareAcceleration

Ein Hinweis, der die Hardware-Beschleunigungsmethode dieses Codecs konfiguriert. Eine der folgenden Optionen:

  • "no-preference"
  • "prefer-hardware"
  • "prefer-software"
bitrate

Ein Integer, der die durchschnittliche Bitrate des kodierten Videos in Einheiten von Bits pro Sekunde enthält.

framerate

Ein Integer, der die erwartete Bildrate in Bildern pro Sekunde enthält.

alpha

Ein String, der angibt, ob die Alpha-Komponente der VideoFrame-Eingaben vor der Kodierung beibehalten oder verworfen werden soll. Eine der folgenden Optionen:

  • "discard" (Standard)
  • "keep"
scalabilityMode

Ein String, der eine Kodier-Skalierbarkeitsmoduskennung gemäß WebRTC enthält.

bitrateMode Optional

Ein String, der einen Bitratenmodus enthält. Eine der folgenden Optionen:

"constant"

Der Encoder wird eine konstante Bitrate anstreben.

"variable" (Standard)

Der Encoder wird eine variable Bitrate anstreben, die es ermöglicht, mehr Platz für komplexe Signale und weniger Platz für weniger komplexe Signale zu verwenden.

"quantizer"

Der Encoder wird die bitrate-Option ignorieren und stattdessen codec-spezifische Quantisierungswerte verwenden, die für jedes Bild im options-Parameter zu VideoEncoder.encode() angegeben sind.

latencyMode Optional

Ein String, der einen Wert enthält, der das Latenzverhalten dieses Codecs konfiguriert. Eine der folgenden Optionen:

"quality" (Standard)

Der Encoder sollte für Kodierqualität optimieren.

"realtime"

Der Encoder sollte für geringe Latenz optimieren und kann sogar Bilder fallenlassen, um die framerate einzuhalten.

Rückgabewert

Keiner (undefined).

Ausnahmen

TypeError

Wird ausgelöst, wenn die bereitgestellte config ungültig ist.

InvalidStateError DOMException

Wird ausgelöst, wenn der state "closed" ist.

NotSupportedError DOMException

Wird ausgelöst, wenn die bereitgestellte config gültig ist, aber der User-Agent keinen Codec bereitstellen kann, der dieses Profil dekodieren kann.

Beispiele

Das folgende Beispiel erstellt einen neuen VideoEncoder und konfiguriert ihn mit einigen der verfügbaren Optionen.

js
const init = {
  output: handleChunk,
  error(e) {
    console.log(e.message);
  },
};

let config = {
  codec: "vp8",
  width: 640,
  height: 480,
  bitrate: 2_000_000, // 2 Mbps
  framerate: 30,
};

let encoder = new VideoEncoder(init);
encoder.configure(config);

Spezifikationen

Specification
WebCodecs
# dom-videoencoder-configure

Browser-Kompatibilität

Siehe auch