DedicatedWorkerGlobalScope: rtctransform event

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.

Note: This feature is only available in Dedicated Web Workers.

Sự kiện rtctransform được kích hoạt tại đối tượng DedicatedWorkerGlobalScope của worker khi một khung video hoặc âm thanh đã mã hóa được đưa vào hàng đợi để xử lý bởi WebRTC Encoded Transform.

Thuộc tính transformer của sự kiện trả về một RTCRtpScriptTransformer phơi bày ReadableStream nơi khung được xếp hàng, và một WritableStream nơi khung có thể được ghi vào để đưa nó trở lại pipeline WebRTC.

Sự kiện này không thể hủy và không nổi bọt.

Cú pháp

Sử dụng tên sự kiện trong các phương thức như addEventListener(), hoặc đặt thuộc tính trình xử lý sự kiện.

js
addEventListener("rtctransform", (event) => { })

onrtctransform = (event) => { }

Kiểu sự kiện

Một RTCTransformEvent. Kế thừa từ Event.

Event RTCTransformEvent

Thuộc tính sự kiện

Giao diện này cũng kế thừa các thuộc tính từ giao diện cha Event.

RTCTransformEvent.transformer Read only

Trả về RTCRtpScriptTransformer được liên kết với sự kiện.

Ví dụ

Đoạn mã sau cho thấy một bộ xử lý cho sự kiện rtctransform trong worker, được thêm vào phạm vi global bằng addEventListener(). event.transformer là một RTCRtpScriptTransformer, đối ứng phía worker của RTCRtpScriptTransform.

js
addEventListener("rtctransform", (event) => {
  let transform;
  // Chọn một transform dựa trên các tùy chọn được truyền vào
  if (event.transformer.options.name === "senderTransform")
    transform = createSenderTransform(); // Một TransformStream
  else if (event.transformer.options.name === "receiverTransform")
    transform = createReceiverTransform(); // Một TransformStream
  else return;

  // Đẩy các frame từ readable sang writable qua TransformStream
  event.transformer.readable
    .pipeThrough(transform)
    .pipeTo(event.transformer.writable);
});

Sự kiện rtctransform được kích hoạt khi một khung đã mã hóa được xếp hàng trên RTCRtpScriptTransformer và chỉ một lần khi RTCRtpScriptTransformer tương ứng của transformer được khởi tạo. Mã trước tiên xác định transform nào sẽ áp dụng bằng giá trị name được truyền trong các tùy chọn (điều này cho phép các thể hiện RTCRtpScriptTransform được thêm vào các pipeline WebRTC đầu vào và đầu ra dùng chung một worker). Các khung đã mã hóa sau đó được dẫn từ readable, qua TransformStream đã chọn, đến writable. Mã transform thực tế không được hiển thị.

Lưu ý rằng mã này là một phần của ví dụ đầy đủ hơn được cung cấp trong Using WebRTC Encoded Transforms.

Đặc tả kỹ thuật

Specification
WebRTC Encoded Transform
# dom-dedicatedworkerglobalscope-onrtctransform

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

Xem thêm