ffmpeg.wasm README

The project's README from github.com/ffmpegwasm/ffmpeg.wasm. As one markdown file: README.md.


ffmpeg.wasm

ffmpeg.wasm

ffmpeg.wasm is a pure Webassembly / Javascript port of FFmpeg. It enables video & audio record, convert and stream right inside browsers.

stability-experimental Node Version Actions Status npm (tag) Maintenance License: MIT Downloads Total Downloads Month Netlify Status

Join us on Discord!

Discord

Documentation

Please sponsor ffmpeg.wasm to make it sustainable. :heart:

ffmpeg.wasm (ffmpegwasm/ffmpeg.wasm)

Searching Database…

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.
Creator
ffmpegwasm
Size
17.5 MB
Stars
17.9K
Age
7y
Commits · 90 Days