WebCodecs for Node.js
Native WebCodecs API implementation for Node.js, using FFmpeg for encoding and decoding. Frame-level video and audio processing without subprocess overhead.v1.0.0 — 84/84 tests passing on the vjeux WebCodecs harness
Quick Start
API Reference
Migration from FFmpeg
Examples
Why node-webcodecs?
Frame-accurate control
Frame-accurate control
Encode and decode video frame-by-frame with precise control over every aspect. Set keyframes exactly where you want them, not where FFmpeg decides.
Real programming, not filter strings
Real programming, not filter strings
Use JavaScript conditionals, loops, and variables instead of cryptic FFmpeg filter syntax. Debug with breakpoints, not stderr parsing.
Browser API parity
Browser API parity
Same API as browser WebCodecs. Write effects once, run in both browser preview and server export. No more parity bugs.
Hardware acceleration
Hardware acceleration
Access platform encoders (VideoToolbox, NVENC, QuickSync, VA-API) for 8-15x faster encoding with optional worker threads.
Installation
Prerequisites: Node.js 18+, FFmpeg libraries (libavcodec, libavformat, libavutil)See Installation Guide for platform-specific setup.
Quick Example
Use Cases
Isomorphic Video Editors
WebRTC Recording
Live Highlight Clipping
Video Ingest Validation
Personalized Video
HDR & Wide Gamut
Next Steps
1
Install
Follow the installation guide for your platform
2
Quick Start
Complete the 5-minute tutorial
3
Explore
Browse cookbook recipes for your use case
Community & Support
- GitHub Issues: Report bugs or request features
- npm Package: node-webcodecs on npm
- License: MIT