HTMLCanvasElement.captureStream()

Experimental

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

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

Синтаксис

MediaStream = canvas.captureStream(frameRate);

Параметры

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

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

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

Исключения

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

Пример

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

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

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

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

Specification Status Comment
Media Capture from DOM Elements
Определение 'HTMLCanvasElement.captureStream()' в этой спецификации.
Рабочий черновик Initial definition

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

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help! (en-US)

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 51.0 43 (43)[1] Нет 36.0 ?
Feature Android Android Webview Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support Нет 51.0 51.0 43.0 (43) Нет 38 ?

[1] In Firefox 41 and 42, this feature was disabled by default; set the preference canvas.capturestream.enabled to true to enable it.

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