15 June 2026
This is the first post on the wasmpeg blog. It’s a placeholder you can edit or delete — the blog is wired up and ready for release notes, deep-dives, and announcements.
Most browser FFmpeg builds aim to be the whole CLI. wasmpeg aims at one thing: the decode → display loop. Load a video, get RGBA frames, scale them on the GPU, probe metadata, grab thumbnails — from a 3.2 MB gzipped WASM, with no SharedArrayBuffer and no COOP/COEP headers required.
import wasmpeg from 'wasmpeg';
await wasmpeg.load();
const dec = await wasmpeg.decode(file);
let frame;
while ((frame = dec.nextFrame())) {
// frame is a Uint8ClampedArray of RGBA8 pixels
}
dec.close();
Release notes and technical write-ups will land here. For now, head to the documentation to get started, or browse the FFmpeg → wasmpeg recipes.