Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Seit September 2024 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Hinweis: Diese Funktion ist in Dedicated Web Workers verfügbar.
Der VideoFrame() Konstruktor erstellt ein neues VideoFrame-Objekt, das einen Frame eines Videos darstellt.
Der erste Typ des Konstruktors erstellt ein neues VideoFrame aus einem Bild. Seine Parameter sind:
imageEin Bild, das die Bilddaten für das neue VideoFrame enthält. Es kann sich um eines der folgenden Objekte handeln: ein SVGImageElement, ein HTMLVideoElement, ein HTMLCanvasElement, ein ImageBitmap, ein OffscreenCanvas oder ein anderes VideoFrame.
options OptionalEin Objekt, das Folgendes enthält:
alpha OptionalEin String, der beschreibt, wie der User-Agent beim Umgang mit Alphakanälen vorgehen soll. Der Standardwert ist "keep".
Die Höhe des VideoFrame, wenn es angezeigt wird, nachdem Seitenverhältnis-Anpassungen vorgenommen wurden.
displayWidth OptionalDie Breite des VideoFrame, wenn es angezeigt wird, nachdem Seitenverhältnis-Anpassungen vorgenommen wurden.
duration OptionalEin Integer, der die Dauer des Frames in Mikrosekunden darstellt.
flip OptionalEin Boolean. Wenn true, wird eine horizontale Spiegelung angewendet. Standardmäßig false.
metadata OptionalEin Objekt, das Metadaten beschreibt, die die Video-Frame-Daten beschreiben, spezifiziert durch das WebCodecs VideoFrame Metadata Registry, das die folgenden Eigenschaften enthalten kann:
rtpTimestamp OptionalDer RTP-Zeitstempel des entsprechenden kodierten Frames. Nur Video-Frames, die aus WebRTC-Quellen stammen, sollten rtpTimestamp-Metadaten gesetzt haben.
Hinweis: Die metadata eines Video-Frames können mit der Methode VideoFrame.metadata() zurückgegeben werden.
Ein Integer, der die Rotation (0, 90, 180 oder 270) in Grad im Uhrzeigersinn darstellt. Standardmäßig 0. Beliebige Zahlen (einschließlich negativer) werden auf die nächste Vierteldrehung gerundet.
timestampEin Integer, der den Zeitstempel des Frames in Mikrosekunden darstellt.
visibleRect OptionalEin Objekt, das das sichtbare Rechteck des VideoFrame darstellt und Folgendes enthält:
xDie x-Koordinate.
yDie y-Koordinate.
widthDie Breite des Frames.
heightDie Höhe des Frames.
Der zweite Typ des Konstruktors erstellt ein neues VideoFrame aus einem ArrayBuffer. Seine Parameter sind:
dataEin ArrayBuffer, ein TypedArray oder ein DataView, das die Daten für das neue VideoFrame enthält.
optionsEin Objekt, das Folgendes enthält:
codedHeightHöhe des VideoFrame in Pixeln, möglicherweise einschließlich nicht sichtbarer Polsterung und bevor eventuelle Verhältnis-Anpassungen berücksichtigt werden.
codedWidthBreite des VideoFrame in Pixeln, möglicherweise einschließlich nicht sichtbarer Polsterung und bevor eventuelle Verhältnis-Anpassungen berücksichtigt werden.
colorSpaceEin Objekt, das den Farbraum des VideoFrame darstellt und Folgendes enthält:
primariesEin String, der die Farbprimaries des Videos darstellt und auf der Seite für die Eigenschaft VideoColorSpace.primaries beschrieben wird.
transferEin String, der die Transferfunktion des Video-Farbraums darstellt und auf der Seite für die Eigenschaft VideoColorSpace.transfer beschrieben wird.
matrixEin String, der die Farbraummatrix des Videos darstellt und auf der Seite für die Eigenschaft VideoColorSpace.matrix beschrieben wird.
fullRangeEin Boolean. Wenn true, zeigt an, dass vollumfängliche Farbwerte verwendet werden.
displayHeight OptionalDie Höhe des VideoFrame, wenn es angezeigt wird, nachdem Seitenverhältnis-Anpassungen vorgenommen wurden.
displayWidth OptionalDie Breite des VideoFrame, wenn es angezeigt wird, nachdem Seitenverhältnis-Anpassungen vorgenommen wurden.
duration OptionalEin Integer, der die Dauer des Frames in Mikrosekunden darstellt.
flip OptionalEin Boolean. Wenn true, wird eine horizontale Spiegelung angewendet. Standardmäßig false.
formatEin String, der das Pixel-Format des Videos darstellt. Einer der folgenden Strings, die auf der Seite für die Eigenschaft format vollständig beschrieben sind:
Eine Liste, die die folgenden Werte für jede Ebene im VideoFrame enthält:
offsetEin Integer, der den Versatz in Bytes darstellt, ab dem die jeweilige Ebene beginnt.
strideEin Integer, der die Anzahl von Bytes darstellt, einschließlich der Polsterung, die von jeder Zeile der Ebene verwendet wird. Ebenen dürfen sich nicht überlappen. Wenn kein layout angegeben ist, werden die Ebenen eng gepackt.
metadata OptionalEin Objekt, das Metadaten beschreibt, die die Video-Frame-Daten beschreiben, spezifiziert durch das WebCodecs VideoFrame Metadata Registry, das die folgenden Eigenschaften enthalten kann:
rtpTimestamp OptionalDer RTP-Zeitstempel des entsprechenden kodierten Frames.
rotation OptionalEin Integer, der die Rotation (0, 90, 180 oder 270) in Grad im Uhrzeigersinn darstellt. Standardmäßig 0. Beliebige Zahlen (einschließlich negativer) werden auf die nächste Vierteldrehung gerundet.
timestampEin Integer, der den Zeitstempel des Frames in Mikrosekunden darstellt.
transferEin Array von ArrayBuffers, die VideoFrame abtrennen und übernehmen wird. Wenn das Array den ArrayBuffer enthält, der data unterstützt, wird VideoFrame dieses Puffer direkt verwenden, anstatt davon zu kopieren.
visibleRect OptionalEin Objekt, das das sichtbare Rechteck des VideoFrame darstellt und Folgendes enthält:
xDie x-Koordinate.
yDie y-Koordinate.
widthDie Breite des Frames.
heightDie Höhe des Frames.
Die folgenden Beispiele stammen aus dem Artikel Videoverarbeitung mit WebCodecs. In diesem ersten Beispiel wird ein VideoFrame aus einer Leinwand erstellt.
Im folgenden Beispiel wird ein VideoFrame aus einem TypedArray erstellt.
| WebCodecs # dom-videoframe-videoframe |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.