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. optionsOptional-
Ein Objekt, das die folgenden Mitglieder enthält:
keyFrameOptional-
Ein
boolean, der standardmäßig auffalsegesetzt 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. vp9Optional-
Kodierungsoptionen für den VP9-Codec.
quantizer-
Frame-Quantisiererwert von 0 bis 63. Wirksam nur, wenn
VideoEncodermit demquantizer-Bitraten-Modus konfiguriert wurde.
av1Optional-
Kodierungsoptionen für den AV1-Codec.
quantizer-
Frame-Quantisiererwert von 0 bis 63. Wirksam nur, wenn
VideoEncodermit demquantizer-Bitraten-Modus konfiguriert wurde.
avcOptional-
Kodierungsoptionen für den AVC (H.264)-Codec.
quantizer-
Frame-Quantisiererwert von 0 bis 51. Wirksam nur, wenn
VideoEncodermit demquantizer-Bitraten-Modus konfiguriert wurde.
hevcOptional-
Kodierungsoptionen für den HEVC (H.265)-Codec.
quantizer-
Frame-Quantisiererwert von 0 bis 51. Wirksam nur, wenn
VideoEncodermit demquantizer-Bitraten-Modus konfiguriert wurde.
Rückgabewert
Keine (undefined).
Ausnahmen
InvalidStateErrorDOMException-
Wird ausgelöst, wenn der
statenicht"configured"ist. DataErrorDOMException-
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> |
Browser-Kompatibilität
Loading…