VideoFrame: copyTo() method
Baseline
2024
Newly available
Since September 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Note: This feature is available in Dedicated Web Workers.
Phương thức copyTo() của giao diện VideoFrame sao chép nội dung của VideoFrame vào một ArrayBuffer.
Cú pháp
copyTo(destination)
copyTo(destination, options)
Tham số
destination-
Một
ArrayBuffer, mộtTypedArray, hoặc mộtDataViewđể sao chép vào. optionsOptional-
Một đối tượng chứa các thuộc tính sau:
rectOptional-
Hình chữ nhật của các pixel cần sao chép từ
VideoFrame. Nếu không được chỉ định,visibleRectsẽ được dùng. Định dạng là một đối tượng từ điển chứa:x: Tọa độ x.y: Tọa độ y.width: Chiều rộng của khung hình.height: Chiều cao của khung hình.
layoutOptional-
Danh sách chứa các giá trị sau cho mỗi mặt phẳng trong
VideoFrame:offset-
Một số nguyên đại diện cho độ lệch tính bằng byte nơi mặt phẳng đã cho bắt đầu.
stride-
Một số nguyên đại diện cho số byte, bao gồm phần đệm, được sử dụng bởi mỗi hàng của mặt phẳng. Các mặt phẳng không được chồng lên nhau. Nếu không có
layoutđược chỉ định, các mặt phẳng sẽ được đóng gói chặt chẽ.
formatOptional-
Định dạng pixel cho dữ liệu pixel trong
destination. Có thể đặt thành"RGBA","RGBX","BGRA","BGRX". Nếu không được chỉ định,formatsẽ được dùng. colorSpaceOptional-
Chỉ định không gian màu của dữ liệu pixel trong
destination. Có thể đặt thành"srgb"cho không gian màu sRGB hoặc"display-p3"cho không gian màu display-p3. Chỉ áp dụng cho định dạng pixel RGB. Nếu không được chỉ định,"srgb"sẽ được dùng.
Giá trị trả về
Một Promise được giải quyết thành bố cục của bản sao khi quá trình sao chép hoàn tất.
Ví dụ
Ví dụ sau sao chép toàn bộ nội dung của videoFrame.
let buffer = new Uint8Array(videoFrame.allocationSize());
let layout = await videoFrame.copyTo(buffer);
Ví dụ sau chuyển đổi một phần của videoFrame sang định dạng 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);
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| WebCodecs> # dom-videoframe-copyto> |