Screenshot current video frame
Toolbar action that saves the current frame of the playing video as a PNG file.
Code to copy
// Toolbar action: capture the current frame of the playing video.
(function () {
var videos = Array.prototype.slice.call(document.querySelectorAll('video'));
videos.sort(function (a, b) {
return (b.clientWidth * b.clientHeight) - (a.clientWidth * a.clientHeight);
});
var v = videos[0];
if (!v || !v.videoWidth) { alert('No playable video found.'); return; }
try {
var c = document.createElement('canvas');
c.width = v.videoWidth;
c.height = v.videoHeight;
c.getContext('2d').drawImage(v, 0, 0, c.width, c.height);
var a = document.createElement('a');
a.href = c.toDataURL('image/png');
a.download = 'video-frame-' + Math.round(v.currentTime) + 's.png';
document.body.appendChild(a);
a.click();
a.remove();
} catch (e) {
alert('Could not capture this frame: ' + e.message);
}
})();
How to use this example
- Copy the code with the button above.
- Install JustZix (2 minutes) and open the extension on the target page.
- Add a new rule matching that page.
- Enable the action panel, add a button in the Actions tab and paste the code into it — run it with one click.
Rate this example
No ratings yet — be the first.