Spec-Zone.ru › Web APIs

RTCRtpScriptTransformer: свойство writable

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

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

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

Свойство writable только для чтения интерфейса RTCRtpScriptTransformer возвращает экземпляр WritableStream, который может использоваться в качестве приемника закодированных кадров медиаданных, поставленных в очередь на соответствующем RTCRtpScriptTransformer.readable.

Когда соответствующий RTCRtpScriptTransform вставлен в конвейеры отправителя и получателя WebRTC, закодированные кадры медиаданных (RTCEncodedVideoFrame или RTCEncodedAudioFrame) могут быть поставлены в очередь на RTCRtpScriptTransformer.readable. ВебRTC-трансформатор может считывать кадры из readable, изменять их по мере необходимости и затем отправлять обратно в конвейер WebRTC, отправив их в этот writable. Общий способ выполнения этой операции — передать кадры через TransformStream.

Значение

Объект WritableStream.

Примеры

В следующем примере показано, как RTCRtpScriptTransformer.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, которое срабатывает в глобальном объекте worker при создании соответствующего RTCRtpScriptTransform и при добавлении новых кадров в очередь для обработки. event.transformer — это RTCRtpScriptTransformer, имеющий свойства writable и readable.

Создаётся другой TransformStream для обработки исходящих и входящих кадров, используя createSenderTransform() или createReceiverTransform(), соответственно (реализация не показана). Обработчик событий выбирает правильный transform stream для использования на основе опций, переданных через RTCRtpScriptTransform конструктор, и присваивает его transform.

Код вызывает ReadableStream.pipeThrough() на readable для передачи закодированных кадров через выбранный TransformStream, а затем ReadableStream.pipeTo(), чтобы передать их в RTCRtpScriptTransformer.writable.

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

Спецификация
WebRTC Encoded Transform
# dom-rtcrtpscripttransformer-writable

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
writable Нет Нет 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/writable

Spec-Zone.ru

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