VideoFrame: copyTo() Methode
Baseline
2024
Newly available
Since September 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Hinweis: Diese Funktion ist in Dedicated Web Workers verfügbar.
Die copyTo()-Methode des VideoFrame Interfaces kopiert den Inhalt des VideoFrame in einen ArrayBuffer.
Syntax
copyTo(destination)
copyTo(destination, options)
Parameter
destination-
Ein
ArrayBuffer, einTypedArray, oder einDataView, in den kopiert werden soll. optionsOptional-
Ein Objekt, das Folgendes enthält:
rectOptional-
Das Rechteck der Pixel, das vom
VideoFramekopiert werden soll. Wenn nicht angegeben, wird dasvisibleRectverwendet. Dies ist im Format eines Dictionary-Objekts enthalten:x: Die x-Koordinate.y: Die y-Koordinate.width: Die Breite des Rahmens.height: Die Höhe des Rahmens.
layoutOptional-
Eine Liste, die die folgenden Werte für jede Ebene im
VideoFrameenthält:offset-
Ein ganzzahliger Wert, der den Versatz in Bytes angibt, an dem die gegebene Ebene beginnt.
stride-
Ein ganzzahliger Wert, der die Anzahl der Bytes, einschließlich Padding, angibt, die von jeder Zeile der Ebene verwendet werden. Ebenen dürfen sich nicht überlappen. Wenn kein
layoutangegeben ist, werden die Ebenen eng gepackt.
formatOptional-
Ein Pixelformat für die Pixeldaten im
destination. Kann auf"RGBA","RGBX","BGRA","BGRX"gesetzt werden. Wenn nicht angegeben, wird dasformatverwendet. colorSpaceOptional-
Gibt den Farbraum der Pixeldaten im
destinationan. Kann auf"srgb"für den sRGB-Farbraum oder"display-p3"für den display-p3 Farbraum gesetzt werden. Nur anwendbar auf RGB-Pixelformate. Wenn nicht angegeben, wird"srgb"verwendet.
Rückgabewert
Ein Promise, das beim Abschluss der Kopie das Layout der Kopie auflöst.
Beispiele
Das folgende Beispiel kopiert den gesamten Inhalt von videoFrame.
let buffer = new Uint8Array(videoFrame.allocationSize());
let layout = await videoFrame.copyTo(buffer);
Das folgende Beispiel konvertiert einen Teil des videoFrame in das RGB-Format.
const videoRect = {
x: 100,
y: 100,
width: 80,
height: 60,
};
const options = {
rect: videoRect,
format: "RGBX",
colorSpace: "display-p3",
};
const size = videoFrame.allocationSize(options);
const buffer = new ArrayBuffer(size);
const layout = await videoFrame.copyTo(buffer, options);
Spezifikationen
| Specification |
|---|
| WebCodecs> # dom-videoframe-copyto> |
Browser-Kompatibilität
Loading…