@framekit/webm-writer-esm
v0.1.0
Published
WebM Encoder for Canvas Frames
Downloads
18
Readme
WebM Writer ESM
This project is a fork of webm-writer-js. The library can convert browser canvas frames into WebM movies. This project adds support for native ESModule exports, WebCodec's EncodedVideoChunks, and the VP9 video codec (with WebCodecs).
Compatibility
Canvas frames are converted to WebM frames by using canvas.toDataUrl('image/webp')
which currently only Firefox and Chromium-based browsers support.
Installing and Usage
In Browser
WebM Writer ESM can be included through a script tag in browser through a CDN:
<script src="https://unpkg.com/@framekit/webm-writer-esm/"></script>
Or if locally downloaded:
<script src="path/to/dist/webm-writer.js"></script>
The library is exported to the WebMWriter
object.
In Node
From the command-line:
npm install @framekit/webm-writer-esm
Then in your files:
import { WebMWriter } from '@framekit/webm-writer-esm';
Usage
As an Encoder:
var writer = new WebMWriter({
quality: 0.95, // (Encoder Only) Image Quality from 0.0 to 0.99999, 1 is not supported
frameRate: 60 // Frames Per Second
});
async function run() {
for (let i = 0; i < 300; i++) {
writer.addFrame(canvas);
}
var blob = await writer.complete();
// do something with `blob`;
}
run();
Changes from webm-writer-js
- Reformatting
- Conversion to ES Modules (and bundling via rollup)
- Adds the function
addChunk
that can take EncodedVideoChunks provided by the WebCodecs API - Adds support for the VP9 Codec (with WebCodecs)
License
This project is licensed under the BSD 3-Clause License. The project this is forked from was licensed under WTFPLv2.