RTCRtpReceiver:transform 屬性
RTCRtpReceiver 物件的 transform 屬性用於將一個在 worker 執行緒中執行的轉換流(TransformStream)插入到接收者管道中。這允許在編碼的影片和音訊幀從打包器到達時(在播放/渲染之前)對其應用流轉換。
要新增的轉換使用 RTCRtpScriptTransform 及其關聯的 Worker 來定義。如果在對等連線的 track 事件處理程式中設定了轉換,則轉換流將接收該軌道的第一個完整傳入幀。
值
一個 RTCRtpScriptTransform,或者如果接收者沒有關聯的轉換流,則為 null。
示例
請注意,這是 使用 WebRTC 編碼轉換 指南主題中更大示例的一部分。
為傳入幀新增轉換
此示例演示瞭如何新增 WebRTC 編碼轉換來修改傳入流。程式碼假定存在一個名為 peerConnection 的 RTCPeerConnection 物件,並且該物件已連線到遠端對等端。
為了將轉換流插入到傳入幀的管道中,我們需要構造一個 RTCRtpScriptTransform 並將其分配給接收者的 transform 屬性。我們可以像下面這樣在 track 事件處理程式中完成此操作。當遠端端傳送軌道時,此事件會在對等連線上觸發。event.receiver 屬性是一個 RTCRtpReceiver 物件。
js
const worker = new Worker("worker.js");
peerConnection.ontrack = (event) => {
event.receiver.transform = new RTCRtpScriptTransform(worker, {
someOption: "receiverTransform",
});
};
由於轉換是在 RTCRtpReceiver 建立後立即構造的,因此它將接收第一個傳入幀。在 RTCRtpScriptTransform 建構函式中作為第二個引數傳遞的物件會被髮送到 worker 執行緒,worker 程式碼可以使用它為傳入幀提供與傳出幀不同的轉換。
規範
| 規範 |
|---|
| WebRTC Encoded Transform # dom-rtcrtpsender-transform |
瀏覽器相容性
載入中…