VideoFrame:allocationSize() 方法

Baseline 2024
新推出

自 2024 年 9 月起,此功能已可在最新设备和浏览器版本上使用。此功能可能无法在旧设备或浏览器上使用。

注意:此功能在 专用 Web Workers 中可用。

allocationSize() 方法是 VideoFrame 接口的一个方法,它返回通过传递给该方法的选项过滤后,存储视频所需的字节数。

语法

js
allocationSize()
allocationSize(options)

参数

options 可选

一个包含以下内容的 *)

rect 可选

要从 VideoFrame 中复制的像素矩形。如果未指定,将使用 visibleRect。其格式为一个包含以下内容的字典对象:

  • x:x 坐标。
  • y:y 坐标。
  • width:帧的宽度。
  • height:帧的高度。
layout 可选

一个列表,包含 VideoFrame 中每个平面的以下值。平面可能不会重叠。如果未指定,平面将紧密打包。

offset

一个整数,表示给定平面开始的偏移量(以字节为单位)。

stride(步幅)

一个整数,表示平面中每一行使用的字节数,包括填充。

format 可选

destination 中像素数据的像素格式。可以设置为 "RGBA""RGBX""BGRA""BGRX"。如果未指定,将使用 format

colorSpace 可选

指定 destination 中像素数据的颜色空间。可以设置为 "srgb"(用于 sRGB 颜色空间)或 "display-p3"(用于 display-p3 颜色空间)。仅适用于 RGB 像素格式。如果未指定,将使用 "srgb"

返回值

一个整数,包含根据 options 指定的存储该帧所需的字节数。

示例

在以下示例中,将返回位于左上角、尺寸为 800 x 600 的矩形的 allocationSize

js
const videoRect = {
  x: 0,
  y: 0,
  width: 800,
  height: 600,
};
let size = VideoFrame.allocationSize({ rect: videoRect });

规范

规范
WebCodecs
# dom-videoframe-allocationsize

浏览器兼容性