1. Organization
This registry maintains a mapping between codec strings and registration specifications as described below.
2. Registration Entry Requirements
-
Each entry must include a unique codec string, a common name string, and a link to the codec’s specification.
-
The codec string must be crafted as follows:
-
If the codec string contains a fixed prefix with variable suffix values, the suffix must be represented by an asterisk and the registration’s public specification must describe how to fully qualify the variable portion of the string.
-
Otherwise, if the codec is recognized by multiple strings, a single preferred string should be listed and the registration’s specification must list the other allowed strings.
-
Otherwise, the codec is identified by a simple fixed string.
-
-
Each registration’s specification must include a sequence of sections describing:
-
Recognized codec strings
-
EncodedAudioChunk
orEncodedVideoChunk
internal data -
AudioDecoderConfig
orVideoDecoderConfig
description bytes -
Expectations for
EncodedAudioChunk
orEncodedVideoChunk
[[type]]
-
-
Where applicable, a registration specification may include a section describing extensions to
VideoEncoderConfig
orAudioEncoderConfig
dictionaries. -
Candidate entries must be announced by filing an issue in the WebCodecs GitHub issue tracker so they can be discussed and evaluated for compliance before being added to the registry. The Media Working Group may seek expertise from outside the Working Group as part of its evaluation, e.g., from the codec specification editors or relevant standards group. If the codec specification is not publicly available, it must be made available to the Working Group for evaluation. If the Working Group reaches consensus to accept the candidate, a pull request should be drafted (either by editors or by the party requesting the candidate registration) to register the candidate. The registry editors will review and merge the pull request.
-
Existing entries cannot be deleted or deprecated. They may be changed after being published through the same process as candidate entries. Possible changes include expansion of the codec string to better qualify the codec, adjustments to the codec name string, and modification of the link to the codec’s specification.
3. Audio Codec Registry
codec string | common name | public specification |
flac | Flac | FLAC codec registration [WEBCODECS-FLAC-CODEC-REGISTRATION] |
mp3 | MP3 | MP3 WebCodecs Registration [WEBCODECS-MP3-CODEC-REGISTRATION] |
mp4a.* | AAC | AAC WebCodecs Registration [WEBCODECS-AAC-CODEC-REGISTRATION] |
opus | Opus | Opus WebCodecs Registration [WEBCODECS-OPUS-CODEC-REGISTRATION] |
vorbis | Vorbis | Vorbis WebCodecs Registration [WEBCODECS-VORBIS-CODEC-REGISTRATION] |
ulaw | u-law PCM | u-law PCM WebCodecs Registration [WEBCODECS-ULAW-CODEC-REGISTRATION] |
alaw | A-law PCM | A-law PCM WebCodecs Registration [WEBCODECS-ALAW-CODEC-REGISTRATION] |
pcm-* | Linear PCM | Linear PCM WebCodecs Registration [WEBCODECS-PCM-CODEC-REGISTRATION] |
4. Video Codec Registry
codec string | common name | specification |
av01.* | AV1 | AV1 codec registration [WEBCODECS-AV1-CODEC-REGISTRATION] |
avc1.*, avc3.* | AVC / H.264 | AVC (H.264) WebCodecs Registration [WEBCODECS-AVC-CODEC-REGISTRATION] |
hev1.*, hvc1.* | HEVC / H.265 | HEVC (H.265) WebCodecs Registration [WEBCODECS-HEVC-CODEC-REGISTRATION] |
vp8 | VP8 | VP8 codec registration [WEBCODECS-VP8-CODEC-REGISTRATION] |
vp09.* | VP9 | VP9 codec registration [WEBCODECS-VP9-CODEC-REGISTRATION] |
5. Privacy Considerations
Please refer to the section Privacy Considerations in [WEBCODECS].
6. Security Considerations
Please refer to the section Security Considerations in [WEBCODECS].