RTCRtpScriptTransformer: thuộc tính readable

Baseline 2025
Newly available

Since October 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Thuộc tính chỉ đọc readable của giao diện RTCRtpScriptTransformer trả về một phiên bản ReadableStream là nguồn cho các khung phương tiện được mã hóa.

Khi RTCRtpScriptTransform tương ứng được chèn vào các đường ống gửi và nhận WebRTC, stream này có thể được xếp vào hàng đợi với các khung phương tiện được mã hóa đến hoặc đi (RTCEncodedVideoFrame hoặc RTCEncodedAudioFrame). Một WebRTC encoded transform có thể đọc các khung, sửa đổi chúng khi cần thiết, và sau đó gửi chúng trở lại đường ống WebRTC bằng cách ghi chúng vào RTCRtpScriptTransformer.writable. Một cách phổ biến để thực hiện thao tác này là pipe các khung qua một TransformStream.

Giá trị

Một ReadableStream.

Ví dụ

Ví dụ sau cho thấy cách readable được piped qua một TransformStream đến RTCRtpScriptTransformer.writable.

js
addEventListener("rtctransform", (event) => {
  let transform;
  // Select a transform based on passed options
  if (event.transformer.options.name === "senderTransform")
    transform = createSenderTransform(); // A TransformStream
  else if (event.transformer.options.name === "receiverTransform")
    transform = createReceiverTransform(); // A TransformStream
  else return;

  // Pipe frames from the readable to writeable through TransformStream
  event.transformer.readable
    .pipeThrough(transform)
    .pipeTo(event.transformer.writable);
});

Mã triển khai một hàm xử lý cho sự kiện rtctransform, được kích hoạt tại đối tượng worker toàn cục khi xây dựng RTCRtpScriptTransform tương ứng, và khi các khung mới được xếp vào hàng đợi để xử lý. event.transformerRTCRtpScriptTransformer có thuộc tính readablewritable.

Một TransformStream khác được tạo để xử lý các khung đi và đến, sử dụng createSenderTransform() hoặc createReceiverTransform(), tương ứng (triển khai không được hiển thị). Hàm xử lý sự kiện chọn transform stream đúng để sử dụng dựa trên các tùy chọn được truyền từ hàm khởi tạo RTCRtpScriptTransform và gán cho transform.

Mã gọi ReadableStream.pipeThrough() trên readable để pipe các khung được mã hóa qua TransformStream đã chọn, sau đó ReadableStream.pipeTo() để pipe chúng đến RTCRtpScriptTransformer.writable.

Thông số kỹ thuật

Specification
WebRTC Encoded Transform
# dom-rtcrtpscripttransformer-readable

Tương thích trình duyệt

Xem thêm