[{"data":1,"prerenderedAt":9},["ShallowReactive",2],{"post-\u002Fblog\u002Fmediabunny":3},{"path":4,"title":5,"description":6,"date":7,"rawbody":8},"\u002Fblog\u002Fmediabunny","MediaBunny: Native Speed","Video processing without the lag","2025-12-13","---\ntitle: 'MediaBunny: Native Speed'\ndescription: 'Video processing without the lag'\ndate: '2025-12-13'\n---\n\nProcessing video in the browser usually involves a 20MB WASM blob and a prayer. We've been forcing desktop tools into web tabs for too long.\n\nIt's heavy, it's slow, and it kills your user's battery.\n\nMediabunny is the answer to the `ffmpeg.wasm` fatigue. It’s a zero-dependency, tree-shakable TypeScript library that actually respects the browser environment.\n\n### How it works\n\nIt uses the WebCodecs API directly. No emulation layer. Just raw performance.\n\n1. **Read:** Extract metadata or frames instantly.\n2. **Write:** Generate MP4\u002FWebM files client-side.\n3. **Convert:** Transmux and transcode without melting the CPU.\n\n```typescript\nimport { Input, UrlSource, ALL_FORMATS } from 'mediabunny';\n\nconst input = new Input({\n  source: new UrlSource('.\u002Fvideo.mp4'),\n  formats: ALL_FORMATS,\n});\n\n\u002F\u002F Get metadata instantly without loading the whole file\nconst { duration } = await input.computeDuration();\nconsole.log(`Duration: ${duration}s`);\n```\n\nStop shipping massive binaries for simple media tasks.\n",1783267423469]