VideoEncoder: Methode encode()
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 encode()
-Methode der VideoEncoder
-Schnittstelle kodiert asynchron ein VideoFrame
.
Kodierte Daten (EncodedVideoChunk
) oder ein Fehler werden schließlich über die beim VideoEncoder
-Konstruktor bereitgestellten Rückruffunktionen zurückgegeben.
Syntax
encode(frame)
encode(frame, options)
Parameter
frame
-
Ein
VideoFrame
-Objekt. options
Optional-
Ein Objekt, das die folgenden Mitglieder enthält:
keyFrame
Optional-
Ein
boolean
, der standardmäßig auffalse
gesetzt ist und dem Benutzeragenten die Flexibilität gibt, zu entscheiden, ob dieses Bild als Schlüsselbild kodiert werden soll. Wenntrue
, bedeutet dies, dass das angegebene Bild als Schlüsselbild kodiert werden muss. vp9
Optional-
Kodierungsoptionen für den VP9-Codec.
quantizer
-
Frame-Quantisiererwert von 0 bis 63. Wirksam nur, wenn
VideoEncoder
mit demquantizer
-Bitraten-Modus konfiguriert wurde.
av1
Optional-
Kodierungsoptionen für den AV1-Codec.
quantizer
-
Frame-Quantisiererwert von 0 bis 63. Wirksam nur, wenn
VideoEncoder
mit demquantizer
-Bitraten-Modus konfiguriert wurde.
avc
Optional-
Kodierungsoptionen für den AVC (H.264)-Codec.
quantizer
-
Frame-Quantisiererwert von 0 bis 51. Wirksam nur, wenn
VideoEncoder
mit demquantizer
-Bitraten-Modus konfiguriert wurde.
hevc
Optional-
Kodierungsoptionen für den HEVC (H.265)-Codec.
quantizer
-
Frame-Quantisiererwert von 0 bis 51. Wirksam nur, wenn
VideoEncoder
mit demquantizer
-Bitraten-Modus konfiguriert wurde.
Rückgabewert
Keine (undefined
).
Ausnahmen
InvalidStateError
DOMException
-
Wird ausgelöst, wenn der
state
nicht"configured"
ist. DataError
DOMException
-
Wird ausgelöst, wenn die Drehung und das Spiegeln des angegebenen
frame
-Objekts nicht mit der Drehung und dem Spiegeln des ersten anencode()
übergebenenVideoFrame
(die "aktive Orientierung") übereinstimmen.
Beispiele
Im folgenden Beispiel wird encode
ein VideoFrame
und der Optionsparameter übergeben, der angibt, dass dieses Bild als Schlüsselbild betrachtet werden soll.
encoder.encode(frame, { keyFrame: true });
Festlegen eines QP-Werts pro Frame zur Kodierung einzelner Frames.
const encoder = new VideoEncoder(init);
const encoderConfig = {
codec: "vp09.00.10.08",
width: 800,
height: 600,
bitrateMode: "quantizer",
framerate: 30,
latencyMode: "realtime",
};
encoder.configure(encoderConfig);
const encodeOptions = { keyFrame: false };
const qp = calculateQp(codec, frame);
if (codec.includes("vp09")) {
encodeOptions.vp9 = { quantizer: qp };
} else if (codec.includes("av01")) {
encodeOptions.av1 = { quantizer: qp };
} else if (codec.includes("avc")) {
encodeOptions.avc = { quantizer: qp };
} else if (codec.includes("hvc1") || codec.includes("hev1")) {
encodeOptions.hevc = { quantizer: qp };
}
encoder.encode(frame, encodeOptions);
Spezifikationen
Specification |
---|
WebCodecs # dom-videoencoder-encode |