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 zu "configured" und bereitet den Encoder asynchron darauf vor, VideoEncoder
-Eingaben zum Kodieren mit den angegebenen Parametern zu akzeptieren. Falls der Encoder die angegebenen Parameter nicht unterstützt oder aus anderen Gründen nicht initialisiert werden kann, wird ein Fehler über den im VideoEncoder
-Konstruktor bereitgestellten Fehler-Callback gemeldet.
Falls der VideoEncoder
zuvor konfiguriert wurde, wird die neue Konfiguration erst angewendet, wenn alle vorherigen Aufgaben abgeschlossen sind.
Syntax
configure(config)
Parameter
config
-
Ein Dictionary-Objekt mit den folgenden Elementen:
codec
-
Ein String, der einen gültigen Codec-String enthält. Siehe "codecs" Parameter für Details zur Konstruktion des Codec-Strings.
width
Optional-
Eine Ganzzahl, die die Breite jedes Ausgabe-
EncodedVideoChunk
in Pixeln darstellt, bevor Anpassungen des Verhältnisses vorgenommen werden. height
Optional-
Eine Ganzzahl, die die Höhe jedes Ausgabe-
EncodedVideoChunk
in Pixeln darstellt, bevor Anpassungen des Verhältnisses vorgenommen werden. displayWidth
Optional-
Eine Ganzzahl, die die beabsichtigte Anzeigebreite jedes Ausgabe-
EncodedVideoChunk
in Pixeln bei der Anzeige darstellt. displayHeight
Optional-
Eine Ganzzahl, die die vertikale Dimension jedes Ausgabe-
EncodedVideoChunk
in Pixeln bei der Anzeige darstellt. hardwareAcceleration
-
Ein Hinweis zur Konfiguration der Hardwarebeschleunigungsmethode dieses Codecs. Einer von:
"no-preference"
"prefer-hardware"
"prefer-software"
bitrate
-
Eine Ganzzahl, die die durchschnittliche Bitrate des kodierten Videos in Einheiten von Bits pro Sekunde enthält.
framerate
-
Eine Ganzzahl, die die erwartete Bildrate in Bildern pro Sekunde enthält.
alpha
-
Ein String, der angibt, ob die Alphakomponente der
VideoFrame
-Eingaben beibehalten oder vor dem Kodieren verworfen werden soll. Einer von:"discard"
(Standardeinstellung)"keep"
scalabilityMode
-
Ein String, der einen Identifier für einen kodierenden Skalierbarkeitsmodus enthält, wie in WebRTC definiert.
bitrateMode
Optional-
Ein String, der einen Bitratenmodus enthält. Einer von:
"constant"
-
Der Encoder wird eine konstante Bitrate anstreben.
"variable"
(Standardeinstellung)-
Der Encoder wird eine variable Bitrate anstreben und dadurch bei komplexen Signalen mehr Speicherplatz und bei weniger komplexen Signalen weniger Speicherplatz verwenden.
"quantizer"
-
Der Encoder wird die
bitrate
-Option außer Acht lassen und stattdessen codec-spezifische Quantisiererwerte verwenden, die für jeden Frame imoptions
-Parameter vonVideoEncoder.encode()
angegeben werden.
latencyMode
Optional-
Ein String, der einen Wert enthält, mit dem das Latenzverhalten dieses Codecs konfiguriert wird. Einer von:
"quality"
(Standardeinstellung)-
Der Encoder sollte für die Kodierungsqualität optimieren.
"realtime"
-
Der Encoder sollte für geringe Latenz optimieren und kann sogar Frames auslassen, um die
framerate
einzuhalten.
Rückgabewert
Keine (undefined
).
Ausnahmen
TypeError
-
Wird ausgelöst, wenn das bereitgestellte
config
ungültig ist. InvalidStateError
DOMException
-
Wird ausgelöst, wenn der
state
"closed"
ist. NotSupportedError
DOMException
-
Wird ausgelöst, wenn das bereitgestellte
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 |
Browser-Kompatibilität
BCD tables only load in the browser