Brooooooklyn / Brooooooklyn/webcodecs-node

Supports configure lossless encoding

Open
#27 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
92
Forks
2
Avg merge
14h 15m
Merged PRs (30d)
4

Description

Some sampling of use cases:

- Recording local artifacts at the highest quality for subsequent processing by more advanced creation pipelines.
- Working with screen-shares where 4:2:0 sampling causes blurriness. 4:4:4 is required for crisp text at small font sizes.
- Remote processing of audio signals via ML can be affected by audio encoding (hence why WebSpeech encodes to FLAC today).

## Spec issue

https://github.com/w3c/webcodecs/issues/258

> CQ (Constant Quality) or CRF (Constant Rate Factor in FFmpeg) or QP (Quantization Parameter each codec spec defined) are more fit than target bitrate for some content to keep certain quality includes lossless quality through presentation.

## Chrome implementation

A preliminary implementation has been completed in Chrome.

https://issues.chromium.org/issues/40243791

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the linked W3C WebCodecs issue and the referenced Chrome implementation to understand the proposed lossless-encoding configuration. Then inspect the repository's WebCodecs encoding surface; the work is complete when the Node.js implementation can configure lossless quality for the relevant encoding use cases and its behavior is verified.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, rust
Domain
audio-video-rtc
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.