Spec-Zone.ru › Web APIs

RTCRtpSender: метод getParameters()

Базовая Широко доступная *

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.

* Некоторые части этой функции могут иметь различный уровень поддержки.

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

Метод getParameters() интерфейса RTCRtpSender возвращает объект, описывающий текущую конфигурацию, определяющую, как данные отсылаемого track будут закодированы и переданы удалённому RTCRtpReceiver.

Синтаксис

getParameters()

Параметры

Нет.

Возвращаемое значение

Объект, указывающий текущую конфигурацию отправителя.

encodings

Массив объектов, каждый из которых определяет параметры и настройки для отдельного кодека, который может быть использован для кодирования медиа потока. Свойства объектов включают:

active

true (по умолчанию), если кодирование отправляется, false если кодирование не отправляется или используется.

dtx Устаревший Нестандартный

Используется только для RTCRtpSender, у которого kind равен audio, это свойство указывает, используется ли прерывистая передача (функция, при которой телефон выключается или микрофон автоматически отключается при отсутствии активности голоса). Значение принимается как enabled или disabled.

maxBitrate

Положительное целое число, указывающее максимальное количество битов в секунду, которое пользовательский агент разрешено предоставить кодированным с помощью этого кодирования потокам. Другие параметры могут дополнительно ограничивать битрейт, такие как значение maxFramerate, или пропускная способность, доступная для транспорта или физической сети.

Значение вычисляется с использованием стандартной пропускной способности Транспортно-независимого приложения (TIAS), как определено в RFC 3890, раздел 6.2.2; это максимальная пропускная способность, необходимая без учёта накладных расходов протоколов от IP, TCP или UDP и т. д.

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

maxFramerate

Значение, указывающее максимальное количество кадров в секунду для этого кодирования.

priority

Строка, указывающая приоритет RTCRtpSender, что может определять, как пользовательский агент распределяет пропускную способность между отправителями. Разрешенные значения very-low, low (по умолчанию), medium, high.

rid

Строка, которая, если задана, указывает идентификатор потока RTP (RID), который должен быть отправлен с помощью расширения заголовка RID. Этот параметр нельзя изменить с помощью setParameters(). Его значение может быть установлено только при первом создании трансивера.

scaleResolutionDownBy

Используется только для отправителей, у которых kind равно video, это значение с плавающей запятой, указывающее множитель, на который необходимо уменьшить видео во время кодирования. Значение по умолчанию 1.0 означает, что видео будет закодировано в исходном размере. Значение 2.0 уменьшает размеры видеокадров в два раза по каждой оси, что приводит к видео в 4 раза меньшего размера. Значение не должно быть меньше 1.0 (попытка увеличения размера видео приведёт к RangeError).

transactionId

Строка, содержащая уникальный идентификатор. Это значение используется для обеспечения того, что setParameters() можно вызвать только для изменения параметров, возвращённых конкретным предыдущим вызовом к getParameters(). Этот параметр нельзя изменить вызывающим объектом.

codecs

Массив объектов, описывающих медиа кодеки, которые отправитель установил как включённые и готов использовать. Этот параметр нельзя изменить после первоначальной установки.

Каждый объект кодека в массиве может иметь следующие свойства:

channels Необязательно

Положительное целое число, указывающее количество каналов, поддерживаемых кодеком. Например, для аудиокодеков значение 1 указывает монофонический звук, а 2 — стерео.

clockRate

Положительное целое число, указывающее тактовую частоту кодека в Герцах (Гц). Тактовая частота — это частота, с которой увеличивается временная метка RTP кодека. Большинство кодеков имеют определённые значения или диапазоны значений, которые они допускают. IANA поддерживает список кодеков и их параметров, включая их тактовые частоты.

mimeType

Строка, указывающая MIME медиа тип и подтип кодека, заданная строкой вида "type/subtype". MIME-типы, используемые RTP, отличаются от используемых в других местах. IANA поддерживает реестр допустимых MIME-типов. Также см. Кодеки, используемые WebRTC для получения подробностей о потенциальных кодеках, которые могут быть упомянуты здесь.

payloadType

Используемый тип полезной нагрузки RTP для идентификации этого кодека.

sdpFmtpLine Необязательно

Строка, содержащая параметры формата, предоставленные локальным описанием.

headerExtensions

Массив нуля или более расширений заголовков RTP, каждый из которых идентифицирует расширение, поддерживаемое отправителем или получателем. Расширения заголовков описаны в RFC 3550, раздел 5.3.1. Этот параметр нельзя изменить после первоначальной установки.

rtcp

Объект RTCRtcpParameters, предоставляющий параметры конфигурации, используемые для RTCP отправителем или получателем. Этот параметр нельзя изменить после первоначальной установки.

degradationPreference Устаревший Необязательно

Указывает предпочтительный способ, которым уровень WebRTC должен обрабатывать оптимизацию пропускной способности по сравнению с качеством в ситуациях с ограниченной пропускной способностью. Возможные значения: maintain-framerate, maintain-resolution, или balanced. Значение по умолчанию balanced.

Примеры

В этом примере берётся текущий идентификатор транзакции отправителя; идентификатор транзакции уникально идентифицирует текущий набор параметров, для обеспечения того, что вызовы к setParameters() всегда обрабатываются в правильном порядке, предотвращая непреднамеренное перезапись параметров более старыми параметрами.

function getSenderTransactionID(sender) {
  let parameters = sender.getParameters();

  return parameters.transactionId;
}

Аналогично, этот код получает каноническое имя (CNAME), используемое для RTCP на RTCRtpSender.

function getRtpCNAME(sender) {
  let parameters = sender.getParameters();

  return parameters.rtcp.cname;
}

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

Спецификация
WebRTC: Реальное время связи в браузерах
# dom-rtcrtpsender-getparameters

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

Десктоп Мобиль
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
getParameters 68 ≤79 46 55 11 68 46 48 11 10.0 68
return_object_property_codecs 69 ≤79 128
46Свойство определено, но не реализовано/используется.
56 11 69 128
46Свойство определено, но не реализовано/используется.
48 11 10.0 69
return_object_property_degradationPreference 83 83 Нет 69 12.1 83 Нет 59 12.2 13.0 83
return_object_property_encodings 69 ≤79 46 56 12.1 69 46 48 12.2 10.0 69
return_object_property_headerExtensions 69 ≤79
46Свойство определено, но не реализовано/используется.
56 11 69
46Свойство определено, но не реализовано/используется.
48 11 10.0 69
return_object_property_rtcp 69 ≤79
46Свойство определено, но не реализовано/используется.
56 15 69
46Свойство определено, но не реализовано/используется.
48 15 10.0 69
return_object_property_transactionId 69 ≤79 Нет 56 12.1 69 Нет 48 12.2 10.0 69

См. также

  • RTCRtpSender.setParameters()
  • RTCRtpReceiver.getParameters()

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

Spec-Zone.ru

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