git404hub

what is ffmpeg.wasm fr?

ffmpegwasm/ffmpeg.wasm — explained in plain English

Analysis updated 2026-06-24

17,475CAudience · developerComplexity · 3/5LicenseSetup · moderate

tl;dr

WebAssembly port of FFmpeg that runs in the browser, so video and audio can be recorded, converted, and streamed client-side without a server.

vibe map

mindmap
  root((ffmpeg-wasm))
    Inputs
      Video files
      Audio files
      Stream data
    Outputs
      Transcoded media
      Recorded clips
      Browser streams
    Use Cases
      In-browser editor
      Format converter
      Client-side encoding
    Tech Stack
      WebAssembly
      JavaScript
      C
      FFmpeg

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Build a browser-based video format converter that runs entirely client-side

VIBE 2

Add audio trimming or transcoding to a web app without server processing

VIBE 3

Record webcam input in the browser and convert to mp4 before upload

VIBE 4

Create a static video editor demo for GitHub Pages with no backend

what's the stack?

WebAssemblyJavaScriptCFFmpegNode

how it stacks up fr

ffmpegwasm/ffmpeg.wasmreactos/reactosbrunodev85/winlator
Stars17,47517,51517,588
LanguageCCC
Setup difficultymoderatehardhard
Complexity3/55/54/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 30min

Requires SharedArrayBuffer, so pages need COOP and COEP headers set correctly to load the wasm core.

MIT license - free to use, modify, and ship in commercial products with attribution.

in plain english

ffmpeg.wasm brings FFmpeg, one of the most widely used tools for converting and processing video and audio files, directly into a web browser. Normally, FFmpeg is a command-line program you install on your computer. This project ports it to WebAssembly (a format that lets compiled code from other languages run in a browser at near-native speed), which means you can record, convert, and stream video and audio entirely in the browser without sending files to a server. This opens up possibilities like in-browser video editors, format converters, or audio tools that work completely client-side. The project is written in C and JavaScript, marked as experimental, and licensed under MIT. The README does not provide further detail about supported formats, browser compatibility requirements, or usage examples beyond what is described above.

prompts (copy fr)

prompt 1
Show me a minimal HTML page that loads ffmpeg.wasm and converts an uploaded mp4 to webm in the browser
prompt 2
Build a React component that uses ffmpeg.wasm to extract audio as mp3 from an uploaded video file
prompt 3
How do I configure ffmpeg.wasm in a Vite project with the right COOP and COEP headers for SharedArrayBuffer
prompt 4
Use ffmpeg.wasm to trim a video between two timestamps and download the result
prompt 5
Compare performance of ffmpeg.wasm vs running FFmpeg on a Node server for short clips

Frequently asked questions

what is ffmpeg.wasm fr?

WebAssembly port of FFmpeg that runs in the browser, so video and audio can be recorded, converted, and streamed client-side without a server.

What language is ffmpeg.wasm written in?

Mainly C. The stack also includes WebAssembly, JavaScript, C.

What license does ffmpeg.wasm use?

MIT license - free to use, modify, and ship in commercial products with attribution.

How hard is ffmpeg.wasm to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is ffmpeg.wasm for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.