Видеокадр: метод 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: 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