{{ define "main" }}

wasmpeg

{{ .Site.Params.description }}

npm install wasmpeg
example.js
{{ highlight `import wasmpeg from 'wasmpeg'; await wasmpeg.load(); // Decode directly to an RGBA Uint8ClampedArray const rgba = await wasmpeg.scale(file, 1280, 720); // Or parse container metadata without decoding const info = await wasmpeg.probe(file); console.log(info.duration, info.video.fpsNum / info.video.fpsDen);` "js" "" }}

{{ partial "icon.html" "zap" }} Built for speed

Skips the Emscripten filesystem for core workflows. Demux and decode directly from memory, straight to a typed array.

{{ partial "icon.html" "check" }} FATE verified

Tested against FFmpeg's own regression suite. {{ .Site.Params.fateCoverage }}% FATE coverage, {{ .Site.Params.fateCorrectness }}% byte-for-byte exactness.

{{ partial "icon.html" "package" }} One package

Zero-config. Universal build runs identically on Node, browsers, and workers. No separate Core packages to juggle.

{{ partial "icon.html" "code" }} WebGPU accelerated

Includes an experimental hardware-accelerated pipeline. Falls back silently to WebAssembly CPU if the device lacks support.

{{ end }}