RTCRtpReceiver: свойство transform
Ограниченная доступность
Эта функция не является базовой, так как она не работает в некоторых из наиболее широко используемых браузеров.
Свойство transform объекта RTCRtpReceiver используется для вставки потока преобразования (TransformStream), выполняемого в потоке обработки, в конвейер приемника. Это позволяет применять преобразования потока к закодированным видео- и аудиокадрам по мере их получения от пакетизатора (до их воспроизведения/рендеринга).
Преобразование, которое должно быть добавлено, определяется с помощью RTCRtpScriptTransform и его связанного Worker. Если преобразование задается в обработчике события track подключения к пиру, поток преобразования получит первый полный входящий кадр для трека.
Значение
A RTCRtpScriptTransform, или null если у приемника нет связанного потока преобразования.
Пример
Обратите внимание, что это часть более крупного примера в руководстве по теме Использование кодированных преобразований WebRTC.
Добавление преобразования для входящих кадров
Этот пример демонстрирует, как добавить кодированное преобразование WebRTC для изменения входящего потока. Код предполагает, что существует RTCPeerConnection с именем peerConnection, уже подключенный к удаленному пиру.
Для добавления потока преобразования в конвейер для входящих кадров необходимо создать RTCRtpScriptTransform и назначить его свойству transform приемника. Это можно сделать в обработчике события track, как показано. Это событие срабатывает в подключении к пиру всякий раз, когда удаленный конец отправляет трек. Свойство event.receiver — это RTCRtpReceiver.
const worker = new Worker("worker.js");
peerConnection.ontrack = (event) => {
event.receiver.transform = new RTCRtpScriptTransform(worker, {
someOption: "receiverTransform",
});
};
Поскольку преобразование создается сразу после создания RTCRtpReceiver, оно получит первый входящий кадр. Объект, переданный в качестве второго параметра в конструктор RTCRtpScriptTransform, отправляется в поток обработки и может использоваться кодом потока обработки для обеспечения другого преобразования для входящих кадров, чем для исходящих кадров.
Спецификации
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView для Android | |
transform |
Нет | Нет | 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/RTCRtpReceiver/transform