RTCRtpReceiver: thuộc tính transform

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 transform của đối tượng RTCRtpReceiver được dùng để chèn một luồng biến đổi (TransformStream) chạy trong worker thread vào pipeline của bộ nhận. Điều này cho phép áp dụng các biến đổi luồng lên các khung video và âm thanh được mã hóa khi chúng đi vào từ packetizer.

Transform được thêm vào được định nghĩa bằng một RTCRtpScriptTransformWorker liên quan. Nếu transform được đặt trong trình xử lý sự kiện track của peer connection, luồng transform sẽ nhận khung đầu vào đầy đủ đầu tiên cho track đó.

Giá trị

Một RTCRtpScriptTransform, hoặc null nếu bộ nhận không có luồng transform liên kết.

Ví dụ

Lưu ý rằng phần này thuộc về một ví dụ lớn hơn trong chủ đề hướng dẫn Using WebRTC Encoded Transforms.

Thêm transform cho các khung đến

Ví dụ này cho thấy cách thêm một WebRTC encoded transform để sửa đổi một luồng đầu vào. Mã giả định rằng có một RTCPeerConnection tên peerConnection đã được kết nối với một peer từ xa.

Để thêm một luồng transform vào pipeline cho các khung đến, chúng ta cần tạo một RTCRtpScriptTransform và gán nó cho thuộc tính transform của receiver. Ta có thể làm việc này trong trình xử lý sự kiện track như minh họa. Sự kiện này được phát trên peer connection bất cứ khi nào đầu kia gửi một track. Thuộc tính event.receiver là một RTCRtpReceiver.

js
const worker = new Worker("worker.js");
peerConnection.ontrack = (event) => {
  event.receiver.transform = new RTCRtpScriptTransform(worker, {
    someOption: "receiverTransform",
  });
};

Vì transform được tạo ngay sau khi RTCRtpReceiver được tạo, nó sẽ nhận khung đến đầu tiên. Đối tượng được truyền làm tham số thứ hai trong hàm khởi tạo RTCRtpScriptTransform được gửi tới worker thread, và worker code có thể dùng nó để cung cấp một transform khác cho các khung đến so với khung đi ra.

Đặc tả kỹ thuật

Specification
WebRTC Encoded Transform
# dom-rtcrtpsender-transform

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

Xem thêm