Skip to content

WebCodecs is a flexible web API for encoding and decoding audio and video.

License

Notifications You must be signed in to change notification settings

webrtcHacks/webcodecs

This branch is 96 commits behind w3c/webcodecs:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

21e4a15 · Jan 8, 2024
Aug 21, 2023
Jul 9, 2021
Sep 29, 2023
Sep 23, 2022
Aug 11, 2020
Sep 13, 2019
Mar 30, 2021
Mar 30, 2021
Aug 9, 2021
Jan 30, 2023
Jan 25, 2023
Jan 25, 2023
Apr 18, 2023
Apr 25, 2023
Jul 13, 2023
Jan 26, 2022
Jan 25, 2023
Jul 6, 2023
Nov 23, 2023
Jan 25, 2023
Jan 8, 2024
Jan 25, 2023
Feb 6, 2021
Jan 25, 2023
Jan 25, 2023
Jan 25, 2023
Jan 25, 2023
Mar 13, 2023
Mar 30, 2021

Repository files navigation

WebCodecs

The WebCodecs API allows web applications to encode and decode audio and video.

Many Web APIs use media codecs internally to support APIs for particular uses:

  • HTMLMediaElement and Media Source Extensions
  • WebAudio (decodeAudioData)
  • MediaRecorder
  • WebRTC

But there’s no general way to flexibly configure and use these media codecs. Because of this, many web applications have resorted to implementing media codecs in JavaScript or WebAssembly, despite the disadvantages:

  • Increased bandwidth to download codecs already in the browser.
  • Reduced performance
  • Reduced power efficiency

It's great for:

  • Live streaming
  • Cloud gaming
  • Media file editing and transcoding

See the explainer for more info.

Code samples

Please see https://w3c.github.io/webcodecs/samples/

WebCodecs registries

This repository also contains two registries:

  • The WebCodecs Codec Registry provides the means to identify and avoid collisions among codec strings used in WebCodecs and provides a mechanism to define codec-specific members of WebCodecs codec configuration dictionaries. Codec-specific registrations entered in the registry are also maintained in the repository, please refer to the registry for a comprehensive list.

  • The WebCodecs VideoFrame Metadata Registry enumerates the metadata fields that can be attached to VideoFrame objects via the VideoFrameMetadata dictionary. Metadata registrations entered in the registry may be maintained in this repository or elsewhere. Please refer to the registry for a comprehensive list.

About

WebCodecs is a flexible web API for encoding and decoding audio and video.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 99.7%
  • Makefile 0.3%