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

瀏覽器相容性