VideoFrame: allocationSize() 方法

有限可用性

此功能不是基线,因为它在一些最广泛使用的浏览器中不起作用。

**注意:**此功能在 专用 Web 工作线程 中可用。

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

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。