RTCRtpScriptTransformer: свойство readable
Ограниченная доступность
Эта функция не является базовой, поскольку она не работает в некоторых из самых широко используемых браузеров.
Чтение только свойство readable интерфейса RTCRtpScriptTransformer возвращает экземпляр ReadableStream, являющийся источником закодированных кадров медиаданных.
Когда соответствующий RTCRtpScriptTransform вставляется в потоки отправителя и получателя WebRTC, этот поток может быть помещен в очередь с исходящими или входящими закодированными кадрами медиаданных (RTCEncodedVideoFrame или RTCEncodedAudioFrame). Преобразователь WebRTC может читать кадры, изменять их по мере необходимости и затем отправлять их обратно в поток WebRTC, записывая их в RTCRtpScriptTransformer.writable. Общий способ выполнения этой операции — передавать кадры через TransformStream.
Значение
Примеры
В следующем примере показано, как readable передается через TransformStream в RTCRtpScriptTransformer.writable.
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);
});
Код реализует обработчик события rtctransform, которое срабатывает в глобальном объекте рабочего потока при создании соответствующего RTCRtpScriptTransform и при помещении новых кадров в очередь для обработки. event.transformer — это RTCRtpScriptTransformer, имеющий свойства readable и writable.
Создается другой TransformStream для обработки исходящих и входящих кадров, используя createSenderTransform() или createReceiverTransform(), соответственно (реализации не показаны). Обработчик событий выбирает нужный поток преобразования на основе параметров, переданных через RTCRtpScriptTransform конструктор, и назначает его transform.
Код вызывает ReadableStream.pipeThrough() для readable, чтобы передать закодированные кадры через выбранный TransformStream, и затем ReadableStream.pipeTo(), чтобы передать их в RTCRtpScriptTransformer.writable.
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
readable |
Нет | Нет | 117 | Нет | 15.4 | Нет | 117 | Нет | 15.4 | Нет | Нет |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpScriptTransformer/readable