CCapture 2.0.0 — ground-up rewrite
Highlights
- WebCodecs-first MP4 (H.264/AV1) & WebM (VP9/VP8/AV1) — hardware-accelerated, back-pressured
- GPU (WebGL2) or CPU motion blur, auto-selected
- Frame-accurate audio: offline analysis (
renderAudioFrames) + AudioBuffer muxing (AAC/Opus) - Frame-stepped
<video>/<audio>capture; async/await throughout - Modular:
CCapture=TimeWarp(clock) +FrameWrap(capture/encode), each usable alone - Pluggable encoders (
FrameEncoder/BatchEncoder,registerEncoder) - ESM from source, UMD global build, bundled TypeScript types
Breaking changes (see the README's "Migrating from CCapture 1.x")
CCaptureis now a class composingFrameWrap+TimeWarp; the engine role is nowFrameWrap- Default format is
mp4(waswebm);save()downloads by default - Removed
ffmpegserver/webm-mediarecorder; gif worker gone (uses gifenc)
Upgrade / CDN notes
- 1.x is preserved on the
1.xbranch and npmccapture.js@1— pinned users are unaffected ⚠️ Unversioned CDN embeds of the old bundle (unpkg.com/ccapture.js/build/CCapture.all.min.js) will 404 on v2. Pin@1, or use the v2 global:https://cdn.jsdelivr.net/npm/ccapture.js@2/build/ccapture.umd.min.js