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 state
des Encoders in "configured" und bereitet asynchron den Encoder darauf vor, VideoEncoder
zur 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-Callback gemeldet, der dem VideoEncoder
Konstruktor übergeben wurde.
Wenn der VideoEncoder
zuvor konfiguriert wurde, wird die neue Konfiguration erst angewendet, wenn 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. Weitere Details zur Konstruktion von Codec-Strings finden Sie unter "codecs" parameter.
width
Optional-
Ein Integer, der die Breite jedes Ausgabes
EncodedVideoChunk
in Pixeln darstellt, bevor Anpassungen des Verhältnisses vorgenommen werden. height
Optional-
Ein Integer, der die Höhe jedes Ausgabes
EncodedVideoChunk
in Pixeln darstellt, bevor Anpassungen des Verhältnisses vorgenommen werden. displayWidth
Optional-
Ein Integer, der die vorgesehene Anzeigeweite jedes Ausgabes
EncodedVideoChunk
in Pixeln beim Anzeigen darstellt. displayHeight
Optional-
Ein Integer, der die vertikale Dimension jedes Ausgabes
EncodedVideoChunk
in Pixeln beim Anzeigen darstellt. hardwareAcceleration
-
Ein Hinweis, der die Hardwarebeschleunigungsmethode dieses Codecs konfiguriert. Eine der folgenden:
"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 Alphakomponente der
VideoFrame
-Eingaben vor der Kodierung beibehalten oder verworfen werden soll. Eine der folgenden:"discard"
(Standard)"keep"
scalabilityMode
-
Ein String, der einen Skalierbarkeitsmodus-Identifikator für die Kodierung wie in WebRTC definiert enthält.
bitrateMode
Optional-
Ein String, der einen Bitratenmodus enthält. Eine der folgenden:
"constant"
-
Der Encoder wird auf konstante Bitrate abzielen.
"variable"
(Standard)-
Der Encoder wird auf eine variable Bitrate abzielen, wodurch mehr Raum für komplexe Signale und weniger Raum für weniger komplexe Signale verwendet werden kann.
"quantizer"
-
Der Encoder wird die
bitrate
-Option ignorieren und stattdessen codecspezifische Quantisierungswerte für jedes Frame imoptions
Parameter zuVideoEncoder.encode()
verwenden.
latencyMode
Optional-
Ein String, der einen Wert enthält, der das Latenzverhalten dieses Codecs konfiguriert. Eine der folgenden:
"quality"
(Standard)-
Der Encoder sollte für höchste Kodierungsqualität optimieren.
"realtime"
-
Der Encoder sollte für niedrige Latenz optimieren und kann sogar Frames fallen lassen, um die
framerate
einzuhalten.
Rückgabewert
Keiner (undefined
).
Ausnahmen
TypeError
-
Wird ausgelöst, wenn das übergebene
config
ungültig ist. InvalidStateError
DOMException
-
Wird ausgelöst, wenn der
state
"closed"
ist. NotSupportedError
DOMException
-
Wird ausgelöst, wenn das übergebene
config
gültig ist, aber der Benutzeragent 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 |