# ffmpegwasm/ffmpeg.wasm

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/ffmpegwasm-ffmpeg-wasm).**

17,184 stars · 1,051 forks · C · mit

## Links

- GitHub: https://github.com/ffmpegwasm/ffmpeg.wasm
- Homepage: https://ffmpegwasm.netlify.app
- awesome-repositories: https://awesome-repositories.com/repository/ffmpegwasm-ffmpeg-wasm.md

## Topics

`audio` `experimental-features` `ffmpeg` `transcode` `video` `wasm`

## Description

ffmpeg.wasm is a browser-based multimedia processing engine that brings the capabilities of the FFmpeg library directly to the client environment. By utilizing WebAssembly, it enables audio and video transcoding, format conversion, and stream recording to occur entirely within the browser without requiring server-side infrastructure.

The library distinguishes itself by executing resource-intensive media tasks in background threads, ensuring that the main user interface remains responsive during complex operations. It manages data through an isolated, in-memory virtual file system, allowing for efficient input and output handling without the need for direct disk access.

This tool provides a comprehensive suite for local media manipulation, including real-time processing and the application of visual filters. It is distributed as a library that integrates into web applications to facilitate high-performance multimedia tasks locally.

## Tags

### Web Development

- [Media Transcoders](https://awesome-repositories.com/f/web-development/browser-based-editors/media-transcoders.md) — Converts audio and video files directly in the browser to avoid server-side infrastructure.
- [WebAssembly Frameworks](https://awesome-repositories.com/f/web-development/webassembly-frameworks.md) — Runs the multimedia processing engine directly in the browser to transcode and manipulate media files locally.
- [Client-Side Media Processing](https://awesome-repositories.com/f/web-development/client-side-media-processing.md) — Performs resource-intensive audio and video manipulation tasks locally within the browser.
- [Client-Side Media Processors](https://awesome-repositories.com/f/web-development/client-side-media-processors.md) — Executes resource-intensive audio and video tasks in background threads to maintain a responsive user interface.
- [Background Processing Workers](https://awesome-repositories.com/f/web-development/background-processing-workers.md) — Delegates heavy computational workloads to background threads to maintain main user interface responsiveness.

### Graphics & Multimedia

- [Transcoding Engines](https://awesome-repositories.com/f/graphics-multimedia/video-production/transcoding-engines.md) — Converts audio and video formats and applies visual filters directly within the browser using a high-performance engine. ([source](https://ffmpegwasm.netlify.app/docs/overview))
- [Media Stream Processing](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing/streaming-network-frameworks/media-stream-processing.md) — Captures audio and video input from browser sources and encodes the data into files for local storage. ([source](https://ffmpegwasm.netlify.app/docs/api/ffmpeg/))

### Data & Databases

- [Virtualized Filesystem Layers](https://awesome-repositories.com/f/data-databases/storage-abstraction/local-filesystem-storage/virtualized-filesystem-layers.md) — Maps browser memory to a simulated file system for efficient input and output handling without disk access.
- [In-Memory File Systems](https://awesome-repositories.com/f/data-databases/file-management-systems/in-memory-file-systems.md) — Manages media data operations through an isolated, in-memory virtual file system.
- [Shared Memory Data Exchange](https://awesome-repositories.com/f/data-databases/shared-memory-data-exchange.md) — Enables high-performance data exchange between threads using shared memory buffers to avoid expensive copying.
- [Virtual File Systems](https://awesome-repositories.com/f/data-databases/virtual-file-systems.md) — Populates and retrieves media files from an isolated in-memory file system for efficient processing. ([source](https://ffmpegwasm.netlify.app/docs/overview))

### Development Tools & Productivity

- [Browser-Based Recorders](https://awesome-repositories.com/f/development-tools-productivity/screen-recording-tools/browser-based-recorders.md) — Captures live audio and video streams from browser sources and encodes them into files for local storage.

### Programming Languages & Runtimes

- [WebAssembly](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/webassembly.md) — Executes compiled C code in the browser at near-native speeds using a sandboxed virtual machine.
