MediaRecorder + canvas.captureStream - , , - , Chrome Firefox.
, , webp ( Chrome):
let frames = [];
let webmEncoder = new Whammy.Video(fps);
frames.forEach(f => webmEncoder.add(f));
let blob = await new Promise(resolve => webmEncoder.compile(false, resolve));
let videoBlobUrl = URL.createObjectURL(blob);
whammy webp . , webp, canvas.toDataURL("image/webp") webp dataURL . - Firefox.
- , -, libwebp.js png dataURL, canvas.toDataURL() webp, whammy . , png--> webp ( ).
: , MediaRecorder/captureStream , . , - , whammy , - . . . , , webp (, , , ):
let webPEncodingIsSupported = document.createElement('canvas').toDataURL('image/webp').startsWith('data:image/webp');