17.9K ·GitHub
What is this?
ffmpeg.wasm is a pure WebAssembly/JavaScript port of FFmpeg that runs directly inside the browser, letting you record, convert, and stream audio and video without a server.
Is this a JavaScript library I drop into a web app, or a standalone app?
It is a JavaScript/WebAssembly library (published as npm packages under a workspace monorepo) that you import into your own web project; there is no standalone application, everything runs inside the user's browser tab.
How do I get started with it in my project?
The project ships step-by-step docs covering Introduction, Getting Started, and the API reference, which is the intended path to install and wire it into a web app.
Do I need a special server setup to use it?
No backend processing is required, but the project's own dev server enables Cross-Origin-Embedder-Policy and Cross-Origin-Opener-Policy headers, which are the kind of cross-origin isolation headers WebAssembly threading typically needs in the browser.
Is this ready for production use?
The project is still labeled with experimental features and explicitly asks for sponsorship to stay sustainable, suggesting it's an actively evolving, community-funded project rather than a fully mature, battle-tested library.
Do my video or audio files get uploaded anywhere when I use it?
No, since recording, converting, and streaming all happen right inside the browser via WebAssembly, files are processed client-side and never need to be sent to a server.
Why use this instead of running FFmpeg on a server?
Because the entire transcoding pipeline runs client-side in WebAssembly, so there's no server cost, no upload latency, and user media stays on their own device.
Is there a community to ask questions?
Yes, the project runs a Discord server where users and contributors discuss the library and get help.
What can it actually do — just format conversion?
It covers the core FFmpeg workflows of recording, converting, and streaming audio and video, bringing most of FFmpeg's transcoding power into the browser rather than just simple format swaps.
What are similar projects?
filmcraft, FFmpeg, android-airplay-server, ffmpeg-python, openreel-video, howler.js, Tone.js, fframes
Which topics is it in?
audio-processing, webassembly, offline-first, video-processing, ffmpeg, wasm, audio, streaming, video, c, browser, privacy