RTCEncodedVideoFrame: type 属性

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

RTCEncodedVideoFrame 接口的只读 type 属性指示此帧是关键帧、增量帧还是空帧。

类型可以具有以下值之一

关键

这是一个“关键帧”,它包含渲染图像所需的所有信息。它可以在没有参考任何其他帧的情况下进行解码。

增量

这是一个“增量帧”,它包含相对于先前帧的图像更改。在没有访问它所引用的帧的情况下,无法解码该帧。

空的

此帧不包含任何数据。此值是不正常的,可能表明转换在帧被转换并传递到 RTCRtpScriptTransformer.writable 之后仍然保留对这些帧的引用(在将工作线程侧帧对象传回主线程 WebRTC 管道后,该对象将没有数据)。

示例

WebRTC 编码转换 中,transform() 函数的实现可以查看 type 并根据它是否在处理关键帧或增量帧来修改转换代码。

js
const transformer = new TransformStream({
  transform: async (encodedFrame, controller) => {
    if (encodedFrame.type === "key") {
      // Apply key frame transformation
    } else if (encodedFrame.type === "delta") {
      // Apply delta frame transformation
    } else {
      // Empty
      // Check transform is not holding reference to frames after processing!
    }
    controller.enqueue(encodedFrame);
  },
});

规范

规范
WebRTC 编码转换
# dom-rtcencodedvideoframe-type

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅