VideoEncoder: VideoEncoder() Konstruktor

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: Dieses Feature ist verfügbar in Dedicated Web Workers.

Der VideoEncoder() Konstruktor erstellt ein neues VideoEncoder-Objekt mit dem bereitgestellten options.output Callback als Ausgabe-Callback und dem bereitgestellten options.error Callback als Fehler-Callback und setzt den VideoEncoder.state auf "unconfigured".

Syntax

js
new VideoEncoder(options)

Parameter

options

Ein Objekt, das zwei erforderliche Callbacks enthält.

output

Ein Callback, das ein EncodedVideoChunk-Objekt als erstes Argument und ein optionales Metadata-Objekt als zweites Argument nimmt. Das Metadata-Objekt hat drei Mitglieder:

decoderConfig Optional

Ein Objekt, das enthält:

codec

Ein String, der einen gültigen Codec-String enthält.

description Optional

Ein ArrayBuffer, eine TypedArray, oder eine DataView, die eine Sequenz von codec-spezifischen Bytes enthält, allgemein bekannt als "extradata".

codedWidth Optional

Eine Ganzzahl, die die Breite des VideoFrame in Pixeln repräsentiert, möglicherweise einschließlich unsichtbarer Abstände und bevor mögliche Verhältnis-Anpassungen berücksichtigt werden.

codedHeight Optional

Eine Ganzzahl, die die Höhe des VideoFrame in Pixeln repräsentiert, möglicherweise einschließlich unsichtbarer Abstände und bevor mögliche Verhältnis-Anpassungen berücksichtigt werden.

displayAspectWidth Optional

Eine Ganzzahl, die die horizontale Dimension des Seitenverhältnisses des VideoFrame bei der Anzeige repräsentiert.

displayAspectHeight Optional

Eine Ganzzahl, die die vertikale Dimension des Seitenverhältnisses des VideoFrame bei der Anzeige repräsentiert.

colorSpace Optional

Ein Objekt, das Sie dem VideoColorSpace Konstruktor als init-Argument übergeben, das den VideoFrame.colorSpace für VideoFrames, die mit diesem decoderConfig-Objekt verbunden sind, konfiguriert. Wenn colorSpace existiert, überschreiben die bereitgestellten Werte alle Onstream-Werte aus dem Bitstream.

hardwareAcceleration Optional

Ein String, der die Hardwarebeschleunigung für diesen Codec konfiguriert. Standardmäßig auf "no-preference" gesetzt. Optionen sind:

  • "no-preference"
  • "prefer-hardware"
  • "prefer-software"
optimizeForLatency Optional

Ein boolescher Wert, der angibt, ob der ausgewählte Decoder so konfiguriert werden sollte, dass die Anzahl der EncodedVideoChunks minimiert wird, die dekodiert werden müssen, bevor ein VideoFrame ausgegeben wird.

svc Optional

Ein optionales Objekt mit nur einem Mitglied: temporalLayerId, welches eine Zahl ist, die die temporale Schicht für das zugehörige EncodedVideoChunk identifiziert.

alphaSideData Optional

Ein ArrayBuffer, eine TypedArray, oder eine DataView, die die zusätzlichen Alpha-Kanal-Daten des EncodedVideoChunk enthält.

error

Ein Callback, das ein Error-Objekt als einziges Argument nimmt.

Beispiele

Im folgenden Beispiel wird ein VideoEncoder mit den zwei erforderlichen Callback-Funktionen erstellt, eine zur Verarbeitung der kodierten Frames und die andere zur Fehlerbehandlung.

js
const videoEncoder = new VideoEncoder({
  output(chunk, metadata) {
    console.log(chunk.timestamp);
    console.log(chunk.byteLength);
    console.log(JSON.stringify(metadata));
  },
  error(error) {
    console.log(error);
  },
});

Spezifikationen

Specification
WebCodecs
# dom-videoencoder-videoencoder

Browser-Kompatibilität

BCD tables only load in the browser