HTMLCanvasElement.captureStream()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

io error: No such file or directory (os error 2) (/home/runner/work/yari/yari/mdn/translated-content/files/ru/web/api/media_capture_and_streams_api/index.md)

Экспериментальная возможность: Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

HTMLCanvasElement.captureStream() метод возвращает CanvasCaptureMediaStream, который является видеозахватчиком (оцифровщиком) в реальном времени на поверхности canvas.

Синтаксис

MediaStream = canvas.captureStream(frameRate);

Параметры

frameRate Необязательный

Число двойной точности с плавающей точкой, указывающее частоту захвата каждого фрейма. Если не установлено, новый фрейм будет захватываться каждый раз, как canvas изменится; если установлено в 0, будет захвачен один фрейм.

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

Ссылка на MediaStream объект.

Исключения

NotSupportedError

Параметр frameRate имеет отрицательное значение.

Пример

js
// Поиск элемента canvas для захвата
var canvasElt = document.querySelector("canvas");

// Получение потока
var stream = canvasElt.captureStream(25); // 25 FPS

// Делать что-то с потоком
// например, отправить что-то другому компьютеру, используя RTCPeerConnection
//      pc это RTCPeerConnection, созданное где-то ещё
pc.addStream(stream);

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

Specification
Media Capture from DOM Elements
# dom-htmlcanvaselement-capturestream

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

BCD tables only load in the browser

Смотрите также