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недействителен. -
InvalidStateErrorDOMException -
Выбрасывается, если
stateимеет состояние"closed". -
NotSupportedErrorDOMException -
Выбрасывается, если предоставленный
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