--- title: HTMLCanvasElement.captureStream() slug: Web/API/HTMLCanvasElement/captureStream translation_of: Web/API/HTMLCanvasElement/captureStream ---
{{APIRef("Media Capture and Streams")}}{{SeeCompatTable}}

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

Синтаксис

MediaStream = canvas.captureStream(frameRate);

Параметры

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

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

Ссылка на {{domxref("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
{{SpecName('Media Capture DOM Elements', '#widl-HTMLCanvasElement-captureStream-CanvasCaptureMediaStream-double-frameRate', 'HTMLCanvasElement.captureStream()')}} {{Spec2('Media Capture DOM Elements')}} Initial definition

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

{{CompatibilityTable}}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support {{CompatChrome(51.0)}} {{CompatGeckoDesktop(43)}}[1] {{CompatNo}} {{CompatOpera(36.0)}} {{CompatUnknown}}
Feature Android Android Webview Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{CompatNo}} {{CompatChrome(51.0)}} {{CompatChrome(51.0)}} {{CompatGeckoMobile(43)}} {{CompatNo}} {{CompatOpera(38)}} {{CompatUnknown}}

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

Смотри так же