Spec-Zone.ru › Web APIs

RTCRtpSender: свойство transform

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает в некоторых из самых широко используемых браузеров.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Свойство transform объекта RTCRtpSender используется для вставки потока преобразований (TransformStream), работающего в потоке рабочего процесса, в конвейер отправителя. Это позволяет применять преобразования потока к закодированным видео- и аудиокадрам после их вывода кодеком и перед отправкой.

Преобразование, которое должно быть добавлено, определяется с помощью RTCRtpScriptTransform и его соответствующего Worker. Если преобразование задается синхронно сразу после создания RTCRtpSender, оно получит первый полный кадр, сгенерированный кодером отправителя.

Значение

A RTCRtpScriptTransform, или null если у отправителя нет связанного потока преобразований.

Пример

Этот пример демонстрирует, как можно транслировать видео с веб-камеры пользователя по протоколу WebRTC, добавляя преобразование WebRTC для изменения исходящих потоков. Обратите внимание, что это часть более крупного примера в разделе руководства Использование преобразований кодированных данных WebRTC.

Код предполагает, что есть соединение RTCPeerConnection с именем peerConnection, которое уже подключено к удалённому узлу. Сначала он получает MediaStreamTrack, используя getUserMedia() для получения видео MediaStream из устройства и затем метод MediaStream.getTracks() для получения первого MediaStreamTrack в потоке.

Трек добавляется к подключению peer connection с помощью addTrack(). Это возвращает новый RTCRtpSender, который будет использован для его отправки.

const mediaStream = await navigator.mediaDevices.getUserMedia({ video: true });
const [track] = mediaStream.getTracks();
const videoSender = peerConnection.addTrack(track, mediaStream);

Код выше настраивает соединение и начинает отправку трека. Для добавления потока преобразований в конвейер необходимо создать RTCRtpScriptTransform и назначить его свойству transform отправителя. Так как преобразование создаётся сразу после создания RTCRtpSender, оно получит первый закодированный кадр, сгенерированный кодером отправителя, прежде чем он будет отправлен.

const worker = new Worker("worker.js");
videoSender.transform = new RTCRtpScriptTransform(worker, {
  name: "senderTransform",
});

Обратите внимание, что вы можете добавить преобразование в любое время. Однако добавив его сразу после вызова addTrack(), преобразование получит первый закодированный кадр, который будет отправлен.

Спецификации

Спецификация
Преобразование закодированных данных WebRTC
# dom-rtcrtpsender-transform

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
transform Нет Нет 117 Нет 15.4 Нет 117 Нет 15.4 Нет Нет

См. также

  • Использование преобразований кодированных данных WebRTC
  • RTCRtpReceiver.transform

© 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/RTCRtpSender/transform

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API