Spec-Zone.ru › Web APIs

RTCTransformEvent

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

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

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

Объекты RTCTransformEvent API WebRTC представляют событие, которое генерируется в отдельном потоке (worker), когда закодированная кадр была помещена в очередь для обработки WebRTC Encoded Transform.

Интерфейс имеет свойство transformer, которое предоставляет доступ к потоку для чтения и записи. Поток должен считывать закодированные кадры из transformer.readable, изменять их при необходимости и записывать в transformer.writable в том же порядке без дублирования.

На момент написания документации существует только одно событие, основанное на RTCTransformEvent: rtctransform.

Событие RTCTransformEvent

Свойства экземпляра

Так как RTCTransformEvent основано на Event, его свойства также доступны.

RTCTransformEvent.transformer Только для чтения

Возвращает связанный с событием RTCRtpScriptTransformer.

Типы событий преобразования

Существует только один тип события преобразования.

rtctransform

Событие rtctransform срабатывает в глобальном контексте потока (worker) при создании связанного RTCRtpScriptTransform, а также каждый раз, когда новый закодированный видео- или аудиокадр помещается в очередь на обработку.

Вы можете добавить обработчик события rtctransform для получения уведомления о доступности нового кадра, используя либо DedicatedWorkerGlobalScope.addEventListener(), либо свойство обработчика событий onrtctransform.

Пример

В этом примере создается обработчик события rtctransform.

Пример предполагает, что у нас есть TransformStream с объектом options, переданным из конструктора RTCRtpScriptTransform в основном потоке. Код в конце показывает, как поток передаётся через преобразовательный поток из readable в writable.

addEventListener("rtctransform", (event) => {
  let transform;
  // Select a transform based on passed options
  if (event.transformer.options.name == "senderTransform") {
    transform = createSenderTransform(); // A TransformStream (not shown)
  } else if (event.transformer.options.name == "receiverTransform") {
    transform = createReceiverTransform(); // A TransformStream (not shown)
  }
  // Pipe frames from the readable to writeable through TransformStream
  event.transformer.readable
    .pipeThrough(transform)
    .pipeTo(event.transformer.writable);
});

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

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

Спецификация
WebRTC Encoded Transform
# rtctransformevent

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android
RTCTransformEvent Нет Нет 117 Нет 15.4 Нет 117 Нет 15.4 Нет Нет
transformer Нет Нет 117 Нет 15.4 Нет 117 Нет 15.4 Нет Нет
  • Использование WebRTC закодированных преобразований
  • TransformStream

© 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/RTCTransformEvent

Spec-Zone.ru

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