0.1.0 • Published 2 years ago

@framekit/webm-writer-esm v0.1.0

Weekly downloads
-
License
BSD-3-Clause
Repository
github
Last release
2 years ago

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.