webm-muxer
Advanced tools
Comparing version 1.1.6 to 1.1.7
{ | ||
"name": "webm-muxer", | ||
"version": "1.1.6", | ||
"version": "1.1.7", | ||
"description": "WebM multiplexer in pure TypeScript with support for WebCodecs API, video & audio.", | ||
@@ -5,0 +5,0 @@ "main": "./build/webm-muxer.js", |
@@ -12,2 +12,32 @@ # webm-muxer - JavaScript WebM multiplexer | ||
## Quick start | ||
```js | ||
import WebMMuxer from 'webm-muxer'; | ||
let muxer = new WebMMuxer({ | ||
target: 'buffer', | ||
video: { | ||
codec: 'V_VP9', | ||
width: 1280, | ||
height: 720 | ||
} | ||
}); | ||
let videoEncoder = new VideoEncoder({ | ||
output: (chunk, meta) => muxer.addVideoChunk(chunk, meta), | ||
error: e => console.error(e) | ||
}); | ||
videoEncoder.configure({ | ||
codec: 'vp09.00.10.08', | ||
width: 1280, | ||
height: 720, | ||
bitrate: 1e6 | ||
}); | ||
/* Encode some frames... */ | ||
await videoEncoder.flush(); | ||
let buffer = muxer.finalize(); // Buffer contains final WebM file | ||
``` | ||
## Motivation | ||
@@ -173,2 +203,3 @@ This library was created to power the in-game video renderer of the browser game | ||
``` | ||
### Media chunk buffering | ||
@@ -182,3 +213,4 @@ When muxing a file with a video **and** an audio track, it is important that the individual chunks inside the WebM file | ||
somewhat limited in size or the chunks are encoded in a somewhat interleaved way (like is the case for live media). | ||
### Size limits | ||
### Size "limits" | ||
This library can mux WebM files up to a total size of ~4398 GB and with a Matroska Cluster size of ~34 GB. | ||
@@ -185,0 +217,0 @@ |
49800
224