Spec-Zone.ru › Web APIs

Видеокадр: метод copyTo()

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

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

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

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

Метод copyTo() интерфейса VideoFrame копирует содержимое VideoFrame в ArrayBuffer.

Синтаксис

copyTo(destination)
copyTo(destination, options)

Параметры

destination

ArrayBuffer, массив TypedArray или объект DataView для копирования.

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

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

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

Прямоугольник пикселей для копирования из VideoFrame. Если не указано, используется visibleRect. Формат – объект-словарь, содержащий:

  • x: Координата x.
  • y: Координата y.
  • width: Ширина кадра.
  • height: Высота кадра.
layout Необязательно

Список, содержащий следующие значения для каждого плоскости в VideoFrame:

offset

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

stride

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

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

Формат пикселей для данных пикселей в destination. Может быть установлен на "RGBA", "RGBX", "BGRA", "BGRX". Если не указано, используется format.

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

Указывает цветовое пространство данных пикселей в destination. Может быть установлено на "srgb" для пространства sRGB или "display-p3" для пространства DCI-P3. Применимо только к форматам пикселей RGB. Если не указано, используется "srgb.

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

Promise , который разрешает макет копии по завершении копирования.

Примеры

В следующем примере копируются все содержимое videoFrame.

let buffer = new Uint8Array(videoFrame.allocationSize());
let layout = await videoFrame.copyTo(buffer);

В следующем примере преобразуется часть videoFrame в формат RGB.

const videoRect = {
  x: 100,
  y: 100,
  width: 80,
  height: 60,
};
const options = {
  rect: videoRect,
  format: "RGBX",
  colorSpace: "display-p3",
};
const size = videoFrame.allocationSize(options);
const buffer = new ArrayBuffer(size);
const layout = await videoFrame.copyTo(buffer, options);

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

Спецификация
WebCodecs
# dom-videoframe-copyto

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

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

Spec-Zone.ru

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