Frame capture
Some use-cases (proctoring, KYC and healthcare) require taking snapshots of video frames. This can be achieved on the video
element by using web platform APIs (see snippet below).
export const downloadSnapshot = inputCanvas => { const link = document.createElement("a"); link.download = "snapshot.png"; link.href = inputCanvas.toDataURL("image/png"); link.click(); }; export const createSnapshotFromVideo = inputVideo => { const canvas = document.createElement("canvas"); canvas.width = inputVideo.videoWidth; canvas.height = inputVideo.videoHeight; const context = canvas.getContext("2d"); context.drawImage(inputVideo, 0, 0, canvas.width, canvas.height); downloadSnapshot(canvas); };
This snippet can be attached to a button that passes the video element and triggers the above method.
<button onClick="createSnapshotFromVideo(document.querySelector('video'))"> Capture snapshot </button>
Have a suggestion? Recommend changes ->