VideoFrame: copyTo() メソッド

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.

copyTo()VideoFrame インターフェイスのメソッドで、この VideoFrame の内容を ArrayBuffer へコピーします。

構文

js
copyTo(destination)
copyTo(destination, options)

引数

destination

コピー先となる ArrayBuffer, TypedArray, DataView のいずれかです。

options 省略可

以下のものを含むオブジェクトです。

rect 省略可

VideoFrame からコピーされるピクセルの長方形。未指定の場合、 visibleRect を使用します。これは以下のものを含む辞書オブジェクトの形を採ります。

  • x: X 座標です。
  • y: Y 座標です。
  • width: フレームの幅です。
  • height: フレームの高さです。
layout 省略可

VideoFrame 内の各プレーンについて、以下の値を格納したリスト。プレーンは重なってはいけません。未指定の場合、プレーンは密に詰められます。

offset

整数で、指定されたプレーンが始まるバイト単位のオフセットを表します。

stride

整数で、プレーンの各行が使用するバイト数(パディングを含む)を表します。 プレーンが重なることはありません。 layout を指定しない場合、プレーンはぎっしりと詰め込まれます。

返値

コピーが完了したときに、コピーのレイアウトに解決する Promise

次の例は videoFrame の内容全体をコピーしています。

js
let buffer = new Uint8Array(videoFrame.allocationSize());
let layout = await videoFrame.copyTo(buffer);

仕様書

Specification
WebCodecs
# dom-videoframe-copyto

ブラウザーの互換性