TypeScript library for reading, writing, and converting media files directly in the browser — like FFmpeg, but for the web. Zero dependencies, tree-shakable, and hardware-accelerated via the WebCodecs API.
Handles MP4, WebM, Matroska, MP3, WAV, and HLS containers across 25 codecs, with support for multiple video, audio, and subtitle tracks. Streams files of arbitrary size with microsecond-accurate precision, and uses a pipelined design for efficient hardware usage with automatic backpressure.
A modern alternative to server-side media pipelines — extract metadata, transcode, and mux/demux entirely client-side. Evolved from the author's earlier mp4-muxer and webm-muxer projects, with optional server-side processing through the @mediabunny/server extension.