VideoFrame: copyTo() メソッド

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used 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

ブラウザーの互換性

BCD tables only load in the browser