RTCEncodedVideoFrame: thuộc tính type
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since August 2023.
Note: This feature is available in Dedicated Web Workers.
Thuộc tính chỉ đọc type của giao diện RTCEncodedVideoFrame cho biết liệu khung này là khung chính (key frame), delta frame hay khung rỗng.
Giá trị
Kiểu có thể có một trong các giá trị sau:
key-
Đây là "khung chính" (key frame), chứa tất cả thông tin cần thiết để render một hình ảnh. Nó có thể được giải mã mà không cần tham chiếu đến bất kỳ khung nào khác.
delta-
Đây là "delta frame", chứa các thay đổi đối với một hình ảnh so với một khung trước đó. Khung này không thể được giải mã nếu không có quyền truy cập vào các khung mà nó tham chiếu.
empty-
Khung này không chứa dữ liệu. Giá trị này là không mong đợi, và có thể chỉ ra rằng transform đang giữ tham chiếu đến các khung sau khi chúng đã được transform và pipe đến
RTCRtpScriptTransformer.writable(sau khi chuyển trở lại đường ống WebRTC phía main-thread, đối tượng khung phía worker sẽ không có dữ liệu).
Ví dụ
Việc triển khai hàm transform() trong một WebRTC Encoded Transform có thể xem xét type và sửa đổi code transform dựa trên việc nó đang xử lý key frame hay delta frame:
const transformer = new TransformStream({
async transform(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);
},
});
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| WebRTC Encoded Transform> # dom-rtcencodedvideoframe-type> |