HTMLCanvasElement.captureStream()

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

HTMLCanvasElement.captureStream() метод возвращает CanvasCaptureMediaStream (en-US), который является видеозахватчиком (оцифровщиком) в реальном времени на поверхности 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

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