Spec-Zone.ru › Web APIs

VideoEncoder: метод configure()

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

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

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

Защищённый контекст: Эта функция доступна только в защищённых контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.

Примечание: Эта функция доступна в посвящённых веб-воркерах.

Метод configure() интерфейса VideoEncoder изменяет state кодера на "настроенный" и асинхронно подготавливает кодер к приёму VideoEncoder для кодирования с указанными параметрами. Если кодер не поддерживает указанные параметры или не может быть инициализирован по другим причинам, об ошибке будет сообщено через обратный вызов ошибки, предоставленный конструктору VideoEncoder.

Если VideoEncoder уже был настроен, новая настройка не будет применена до тех пор, пока не завершатся все предыдущие задачи.

Синтаксис

configure(config)

Параметры

config

Объект словаря, содержащий следующие члены:

codec

Строка, содержащая допустимую строку кодека. Смотрите "параметр codecs" для получения подробной информации о построении строки кодека.

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

Целое число, представляющее ширину каждого выходного EncodedVideoChunk в пикселях до любых корректировок соотношения.

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

Целое число, представляющее высоту каждого выходного EncodedVideoChunk в пикселях до любых корректировок соотношения.

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

Целое число, представляющее предполагаемую ширину отображения каждого выходного EncodedVideoChunk в пикселях при отображении.

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

Целое число, представляющее вертикальную размерность каждого выходного EncodedVideoChunk в пикселях при отображении.

hardwareAcceleration

Подсказка, настраивающая метод аппаратного ускорения для этого кодека. Одна из:

  • "no-preference"
  • "prefer-hardware"
  • "prefer-software"
bitrate

Целое число, содержащее среднюю битовую скорость закодированного видео в единицах бит в секунду.

framerate

Целое число, содержащее ожидаемую частоту кадров в кадрах в секунду.

alpha

Строка, указывающая, следует ли сохранить или отбросить альфа-компонент VideoFrame входных данных перед кодированием. Одна из:

  • "discard" (по умолчанию)
  • "keep"
scalabilityMode

Строка, содержащая идентификатор режима масштабируемости кодирования, как определено в WebRTC.

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

Строка, содержащая режим битовой скорости. Одна из:

"constant"

Кодер будет нацелен на постоянную битовую скорость.

"variable" (по умолчанию)

Кодер будет нацелен на переменную битовую скорость, позволяя использовать больше места для сложных сигналов и меньше места для менее сложных сигналов.

"quantizer"

Кодер проигнорирует параметр bitrate и вместо этого будет использовать специфичные для кодека значения квантизатора, указанные для каждого кадра в параметре options для VideoEncoder.encode().

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

Строка, содержащая значение, которое настраивает поведение задержки этого кодека. Одна из:

"quality" (по умолчанию)

Кодер должен оптимизировать качество кодирования.

"realtime"

Кодер должен оптимизировать низкую задержку и может даже отбрасывать кадры, чтобы удовлетворить framerate.

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

Ничего (undefined).

Исключения

TypeError

Выбрасывается, если предоставленный config недействителен.

InvalidStateError DOMException

Выбрасывается, если state имеет состояние "closed".

NotSupportedError DOMException

Выбрасывается, если предоставленный config действителен, но пользовательский агент не может предоставить кодек, который может декодировать этот профиль.

Примеры

В следующем примере создаётся новый VideoEncoder и настраивается с некоторыми доступными опциями.

const init = {
  output: handleChunk,
  error: (e) => {
    console.log(e.message);
  },
};

let config = {
  codec: "vp8",
  width: 640,
  height: 480,
  bitrate: 2_000_000, // 2 Mbps
  framerate: 30,
};

let encoder = new VideoEncoder(init);
encoder.configure(config);

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

Спецификация
WebCodecs
# dom-videoencoder-configure

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

Рабочий стол Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
configure 94 94 130 80 16.4 94 Нет 66 16.4 17.0 94

© 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/VideoEncoder/configure

Spec-Zone.ru

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