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
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.
widthOptional-
Ein Integer, der die Breite jedes Ausgabe-
EncodedVideoChunkin Pixeln vor Anpassungen des Seitenverhältnisses darstellt. heightOptional-
Ein Integer, der die Höhe jedes Ausgabe-
EncodedVideoChunkin Pixeln vor Anpassungen des Seitenverhältnisses darstellt. displayWidthOptional-
Ein Integer, der die beabsichtigte Anzeigebreite jedes Ausgabe-
EncodedVideoChunkin Pixeln darstellt. displayHeightOptional-
Ein Integer, der die vertikale Dimension jedes Ausgabe-
EncodedVideoChunkin 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.
bitrateModeOptional-
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 imoptions-Parameter zuVideoEncoder.encode()angegeben sind.
latencyModeOptional-
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
framerateeinzuhalten.
Rückgabewert
Keiner (undefined).
Ausnahmen
TypeError-
Wird ausgelöst, wenn die bereitgestellte
configungültig ist. InvalidStateErrorDOMException-
Wird ausgelöst, wenn der
state"closed" ist. NotSupportedErrorDOMException-
Wird ausgelöst, wenn die bereitgestellte
configgü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.
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> |