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 表格仅在浏览器中加载