// the find
w3c/webcodecs
WebCodecs is a flexible web API for encoding and decoding audio and video.
This is the W3C spec repository for the WebCodecs API — the browser-native way to encode and decode audio and video without shipping your own codec in WASM. It's aimed at developers building video editors, live streaming tools, or cloud gaming clients in the browser. The repo is spec source (Bikeshed HTML), not a library you import.
Direct access to the browser's existing codec hardware acceleration, which WASM codecs can't touch. The codec registry is a clean solution to the string-collision problem that plagued MSE. The samples are genuinely useful — the audio-video player demo wires up a full decode pipeline with a SharedArrayBuffer ring buffer for audio sync. Wide codec coverage out of the box: AVC, AV1, HEVC, VP8, VP9, Opus, AAC, FLAC.
This is a W3C spec repo, not a polyfill or framework — you're reading it to understand the API, not to ship it. Browser support is good in Chrome/Edge but Safari has lagged and some codec configurations still have gotchas across engines. The samples use raw demuxers (mp4box.js) with no abstractions, so building a real pipeline means stitching together several moving parts yourself. The spec itself is still evolving — VideoFrame metadata and some codec-specific config fields are only partially landed across browsers.