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 des VideoEncoder
-Interfaces ändert den state
des Encoders auf "configured" und bereitet den Encoder asynchron darauf vor, VideoEncoder
s mit den angegebenen Parametern zur Kodierung 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 beim Konstruktor von VideoEncoder
bereitgestellten Fehler-Rückruf 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 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 Erstellung von Codec-Strings.
width
Optional-
Eine ganze Zahl, die die Breite jedes Ausgabe-
EncodedVideoChunk
s in Pixel vor etwaigen Verhältnis-Anpassungen darstellt. height
Optional-
Eine ganze Zahl, die die Höhe jedes Ausgabe-
EncodedVideoChunk
s in Pixel vor etwaigen Verhältnis-Anpassungen darstellt. displayWidth
Optional-
Eine ganze Zahl, die die beabsichtigte Anzeige-Breite jedes Ausgabe-
EncodedVideoChunk
s in Pixel bei der Anzeige darstellt. displayHeight
Optional-
Eine ganze Zahl, die die vertikale Dimension jedes Ausgabe-
EncodedVideoChunk
s in Pixel bei der Anzeige darstellt. hardwareAcceleration
-
Ein Hinweis, der die Hardwarebeschleunigungsmethode dieses Codecs konfiguriert. Einer von:
"no-preference"
"prefer-hardware"
"prefer-software"
bitrate
-
Eine ganze Zahl, die die durchschnittliche Bitrate des kodierten Videos in Einheiten von Bits pro Sekunde enthält.
framerate
-
Eine ganze Zahl, die die erwartete Bildrate in Frames pro Sekunde enthält.
alpha
-
Ein String, der anzeigt, ob die Alpha-Komponente der
VideoFrame
-Eingaben vor der Kodierung beibehalten oder verworfen werden sollte. Einer von:"discard"
(Standard)"keep"
scalabilityMode
-
Ein String, der einen Skalierbarkeitsmodus-Identifikator für die Kodierung enthält, wie in WebRTC definiert.
bitrateMode
Optional-
Ein String, der einen Bitratenmodus enthält. Einer von:
"constant"
-
Der Encoder wird auf eine konstante Bitrate abzielen.
"variable"
(Standard)-
Der Encoder wird auf eine variable Bitrate abzielen, bei der komplexe Signale mehr Speicher benötigen und einfachere Signale weniger.
"quantizer"
-
Der Encoder wird die
bitrate
-Option ignorieren und stattdessen codec-spezifische Quantisierungswerte verwenden, die für jedes Frame imoptions
-Parameter anVideoEncoder.encode()
angegeben sind.
latencyMode
Optional-
Ein String, der einen Wert enthält, der das Latenzverhalten dieses Codecs konfiguriert. Einer von:
"quality"
(Standard)-
Der Encoder sollte für 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 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