captureStream() for <canvas>
Media Capture and Streams API の `CanvasCaptureMediaStreamTrack` インターフェイスは、`HTMLCanvasElement.captureStream()` の呼び出しに続いて `<canvas>` から生成される `MediaStream` に含まれるビデオトラックを表します。
EventTarget MediaStreamTrack CanvasCaptureMediaStreamTrack
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 51 | 79 | | 11 | 51 | 11 | |
| CanvasCaptureMediaStreamTrack インターフェースの canvas 読み取り専用プロパティは、フレームがキャプチャされる HTMLCanvasElement を返す。 | 51 | 79 | | 11 | 51 | 11 |
| requestFrame() は CanvasCaptureMediaStreamTrack インターフェイスのメソッドで、フレームをキャンバスから取り込んでストリームに送信することをリクエストします。 | 51 | 79 | | 11 | 51 | 11 |
| captureStream() は HTMLCanvasElement インターフェイスのメソッドで、MediaStream を返します。これは CanvasCaptureMediaStreamTrack を含んでおり、このキャンバスの内容をリアルタイムに動画キャプチャします。 | 51 | 79 | 43 | 11 | 51 | 11 |
基本構文
<canvas id="c" width="320" height="240"></canvas>
<script>
const canvas = document.getElementById('c');
const stream = canvas.captureStream(30);
const recorder = new MediaRecorder(stream);
recorder.start();
</script> ライブデモ
Dual stream viewers
Point two video elements at the same captured stream to mirror one canvas source.
Stream status board
Combine the captured stream with a status panel that explains the pipeline.
実務での使いどころ
-
captureStream() for <canvas> の活用
Media Capture and Streams API の `CanvasCaptureMediaStreamTrack` インターフェイスは、`HTMLCanvasElement.captureStream()` の呼び出しに続いて `<canvas>` から生成される `MediaStream` に含まれるビデオトラックを表します。
注意点
- 古いブラウザでは対応していない場合がある。
アクセシビリティ
- スクリーンリーダーでの読み上げを確認すること。