VideoFrame: format 属性

Baseline 2024
新推出

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

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

VideoFrame 接口的 format 属性返回 VideoFrame 的像素格式。

一个包含视频像素格式的字符串,其中之一为:

"I420"

也称为Planar YUV 4:2:0,此格式由三个独立的平面组成,一个亮度平面和两个色度平面,分别表示为 Y、U 和 V,并按此顺序排列。与 Y 平面相比,U 和 V 平面在水平和垂直方向上都经过了 2 倍的子采样。此格式中的每个样本是 8 位。

"I420P10"

也称为Planar YUV 4:2:0 10 位,此格式由三个独立的平面组成:一个亮度平面和两个色度平面 — 分别表示为 Y、U 和 V,并按此顺序排列。与 Y 平面相比,U 和 V 平面在水平和垂直方向上都经过了 2 倍的子采样。此格式中的每个样本是 10 位,编码为小端字节序的 16 位整数。

"I420P12"

也称为Planar YUV 4:2:0 12 位,此格式由三个独立的平面组成:一个亮度平面和两个色度平面 — 分别表示为 Y、U 和 V,并按此顺序排列。与 Y 平面相比,U 和 V 平面在水平和垂直方向上都经过了 2 倍的子采样。此格式中的每个样本是 12 位,编码为小端字节序的 16 位整数。

"I420A"

也称为带 Alpha 通道的 Planar YUV 4:2:0,此格式由四个独立的平面组成,一个亮度平面、两个色度平面(表示为 Y、U 和 V)以及一个 Alpha 值平面,所有这些平面按此顺序排列。与 Y 和 Alpha 平面相比,U 和 V 平面在水平和垂直方向上都经过了 2 倍的子采样。此格式中的每个样本是 8 位。

"I422"

也称为Planar YUV 4:2:2,此格式由三个独立的平面组成,一个亮度平面和两个色度平面,分别表示为 Y、U 和 V,并按此顺序排列。与 Y 平面相比,U 和 V 平面在水平方向上经过了 2 倍的子采样,但在垂直方向上未进行子采样。此格式中的每个样本是 8 位。

"I444"

也称为Planar YUV 4:4:4,此格式由三个独立的平面组成,一个亮度平面和两个色度平面,分别表示为 Y、U 和 V,并按此顺序排列。此格式中的每个样本是 8 位。此格式不使用子采样。

"NV12"

此格式由两个独立的平面组成,一个亮度平面,然后是另一个包含两个色度分量的平面。这两个平面按此顺序排列,并分别称为 Y 平面和 UV 平面。与 Y 平面中的分量相比,U 和 V 分量在水平和垂直方向上都经过了 2 倍的子采样。此格式中的每个样本是 8 位。

"RGBA"

此格式由单个平面组成,该平面编码四个分量:红色、绿色、蓝色和 Alpha 值,并按此顺序排列。此格式中的每个样本是 8 位,因此每个像素是 32 位。

"RGBX"

此格式由单个平面组成,该平面编码四个分量:红色、绿色、蓝色和填充值,并按此顺序排列。此格式中的每个样本是 8 位。每个像素中的第四个元素将被忽略,图像始终是完全不透明的。

"BGRA"

此格式由单个平面组成,该平面编码四个分量:蓝色、绿色、红色和 Alpha 值,并按此顺序排列。此格式中的每个样本是 8 位。

"BGRX"

此格式由单个平面组成,该平面编码四个分量:蓝色、绿色、红色和填充值,并按此顺序排列。此格式中的每个样本是 8 位。每个像素中的第四个元素将被忽略,图像始终是完全不透明的。

示例

以下示例会将 format 打印到控制台。

js
console.log(VideoFrame.format);

规范

规范
WebCodecs
# dom-videoframe-format

浏览器兼容性