This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The grabFrame() property of the ImageCapture interface takes a snapshot of the live video in a MediaStreamTrack, returning an ImageBitmap, if successful.
var imageBitmap = ImageCapture.grabFrame()
None.
An ImageBitmap object.
This example is extracted from this Simple Image Capture demo. It shows how to use the Promise returned by grabFrame() to copy the returned frame to a <canvas> element. For simplicy it does not show how to instantiate the image capture object.
var grabFrameButton = document.querySelector('button#grabFrame');
var canvas = document.querySelector('canvas');
grabFrameButton.onclick = grabFrame;
function grabFrame() {
imageCapture.grabFrame()
.then(function(imageBitmap) {
console.log('Grabbed frame:', imageBitmap);
canvas.width = imageBitmap.width;
canvas.height = imageBitmap.height;
canvas.getContext('2d').drawImage(imageBitmap, 0, 0);
canvas.classList.remove('hidden');
})
.catch(function(error) {
console.log('grabFrame() error: ', error);
});
}
| Specification | Status | Comment |
|---|---|---|
| MediaStream Image Capture The definition of 'grabFrame()' in that specification. | Working Draft | Initial definition. |
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| Basic support | 59 | ? | ? | 46 | ? |
| Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|
| Basic support | 59 | 59 | ? | ? | ? | 46 | ? |
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ImageCapture/grabFrame